ld/arc: Fix linker for big-endian arc targets
authorAndrew Burgess <andrew.burgess@embecosm.com>
Tue, 29 Mar 2016 14:57:40 +0000 (15:57 +0100)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Tue, 5 Apr 2016 22:08:28 +0000 (23:08 +0100)
This aims to bring the linker for big-endian arc targets into line with
the linker for (the default) little endian arc targets.

The bulk of the changes are to extend the target pattern in the test
files from 'arc-*...' to 'arc*-*...' and so match both big and little
endian arc targets.

In the ld/emulparams/ directory the existing scripts checked for a
variable ARC_ENDIAN to switch between big and little endian targets,
however, this variable is never set up.

So, a new script snippet is introduced which sets up ARC_ENDIAN based on
the value of target, this snippet is then included from all of the
existing arc scripts.

The existing big-endian variants of all the scripts, which existed, but
were never used, are deleted in this commit.

ld/ChangeLog:

* emulparams/arc-endianness.sh: New file.
* emulparams/arcebelf.sh: Deleted.
* emulparams/arcebelf_prof.sh: Deleted.
* emulparams/arceblinux.sh: Deleted.
* emulparams/arceblinux_prof.sh: Deleted.
* emulparams/arcelf.sh: Include arc-endinness.sh.
* emulparams/arcelf_prof.sh: Include arc-endinness.sh.
* emulparams/arclinux.sh: Include arc-endinness.sh.
* emulparams/arclinux_prof.sh: Include arc-endinness.sh.
* emulparams/arcv2elf.sh: Include arc-endinness.sh.
* emulparams/arcv2elfx.sh: Include arc-endinness.sh.
* testsuite/ld-elf/compressed1d.d: Update pattern for big and
little endian arc targets.
* testsuite/ld-elf/eh-frame-hdr.d: Likewise.
* testsuite/ld-elf/group1.d: Likewise.
* testsuite/ld-elf/group3b.d: Likewise.
* testsuite/ld-elf/group8a.d: Likewise.
* testsuite/ld-elf/group8b.d: Likewise.
* testsuite/ld-elf/group9a.d: Likewise.
* testsuite/ld-elf/group9b.d: Likewise.
* testsuite/ld-elf/linkonce2.d: Likewise.
* testsuite/ld-elf/pr12851.d: Likewise.
* testsuite/ld-elf/pr12975.d: Likewise.
* testsuite/ld-elf/pr13177.d: Likewise.
* testsuite/ld-elf/pr13195.d: Likewise.
* testsuite/ld-elf/pr17615.d: Likewise.
* testsuite/ld-elf/pr19162.d: Likewise.
* testsuite/ld-elf/sec64k.exp: Likewise.
* testsuite/lib/ld-lib.exp: Likewise.

28 files changed:
ld/ChangeLog
ld/emulparams/arc-endianness.sh [new file with mode: 0644]
ld/emulparams/arcebelf.sh [deleted file]
ld/emulparams/arcebelf_prof.sh [deleted file]
ld/emulparams/arceblinux.sh [deleted file]
ld/emulparams/arceblinux_prof.sh [deleted file]
ld/emulparams/arcelf.sh
ld/emulparams/arcelf_prof.sh
ld/emulparams/arclinux.sh
ld/emulparams/arclinux_prof.sh
ld/emulparams/arcv2elf.sh
ld/emulparams/arcv2elfx.sh
ld/testsuite/ld-elf/compressed1d.d
ld/testsuite/ld-elf/eh-frame-hdr.d
ld/testsuite/ld-elf/group3b.d
ld/testsuite/ld-elf/group8a.d
ld/testsuite/ld-elf/group8b.d
ld/testsuite/ld-elf/group9a.d
ld/testsuite/ld-elf/group9b.d
ld/testsuite/ld-elf/linkonce2.d
ld/testsuite/ld-elf/pr12851.d
ld/testsuite/ld-elf/pr12975.d
ld/testsuite/ld-elf/pr13177.d
ld/testsuite/ld-elf/pr13195.d
ld/testsuite/ld-elf/pr17615.d
ld/testsuite/ld-elf/pr19162.d
ld/testsuite/ld-elf/sec64k.exp
ld/testsuite/lib/ld-lib.exp

index 1e1aae7afc5bb7cea71e6b66c261a3a216cc9eb4..d2580bd25a21ea06edc587013d55d4d8bf0f862f 100644 (file)
@@ -1,3 +1,35 @@
+2016-04-05  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * emulparams/arc-endianness.sh: New file.
+       * emulparams/arcebelf.sh: Deleted.
+       * emulparams/arcebelf_prof.sh: Deleted.
+       * emulparams/arceblinux.sh: Deleted.
+       * emulparams/arceblinux_prof.sh: Deleted.
+       * emulparams/arcelf.sh: Include arc-endinness.sh.
+       * emulparams/arcelf_prof.sh: Include arc-endinness.sh.
+       * emulparams/arclinux.sh: Include arc-endinness.sh.
+       * emulparams/arclinux_prof.sh: Include arc-endinness.sh.
+       * emulparams/arcv2elf.sh: Include arc-endinness.sh.
+       * emulparams/arcv2elfx.sh: Include arc-endinness.sh.
+       * testsuite/ld-elf/compressed1d.d: Update pattern for big and
+       little endian arc targets.
+       * testsuite/ld-elf/eh-frame-hdr.d: Likewise.
+       * testsuite/ld-elf/group1.d: Likewise.
+       * testsuite/ld-elf/group3b.d: Likewise.
+       * testsuite/ld-elf/group8a.d: Likewise.
+       * testsuite/ld-elf/group8b.d: Likewise.
+       * testsuite/ld-elf/group9a.d: Likewise.
+       * testsuite/ld-elf/group9b.d: Likewise.
+       * testsuite/ld-elf/linkonce2.d: Likewise.
+       * testsuite/ld-elf/pr12851.d: Likewise.
+       * testsuite/ld-elf/pr12975.d: Likewise.
+       * testsuite/ld-elf/pr13177.d: Likewise.
+       * testsuite/ld-elf/pr13195.d: Likewise.
+       * testsuite/ld-elf/pr17615.d: Likewise.
+       * testsuite/ld-elf/pr19162.d: Likewise.
+       * testsuite/ld-elf/sec64k.exp: Likewise.
+       * testsuite/lib/ld-lib.exp: Likewise.
+
 2016-04-05  Maciej W. Rozycki  <macro@imgtec.com>
 
        PR ld/19908
diff --git a/ld/emulparams/arc-endianness.sh b/ld/emulparams/arc-endianness.sh
new file mode 100644 (file)
index 0000000..4d6158b
--- /dev/null
@@ -0,0 +1,10 @@
+case ${target} in
+    arceb-*)
+        ARC_ENDIAN="big"
+        ;;
+    arc-*)
+        ARC_ENDIAN="little"
+        ;;
+    *)
+        exit 1
+esac
diff --git a/ld/emulparams/arcebelf.sh b/ld/emulparams/arcebelf.sh
deleted file mode 100644 (file)
index 994605e..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-SCRIPT_NAME=elfarc
-TEMPLATE_NAME=elf32
-OUTPUT_FORMAT="elf32-bigarc"
-LITTLE_OUTPUT_FORMAT="elf32-littlearc"
-BIG_OUTPUT_FORMAT="elf32-bigarc"
-# leave room for vector table, 32 vectors * 8 bytes
-TEXT_START_ADDR=0x100
-MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
-#NONPAGED_TEXT_START_ADDR=0x0
-ARCH=arc
-MACHINE=
-ENTRY=__start
-SDATA_START_SYMBOLS='__SDATA_BEGIN__ = .;'
-OTHER_SECTIONS="/DISCARD/ : { *(.__arc_profile_*) }"
-EMBEDDED=yes
diff --git a/ld/emulparams/arcebelf_prof.sh b/ld/emulparams/arcebelf_prof.sh
deleted file mode 100644 (file)
index 1bd0531..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-SCRIPT_NAME=elfarc
-TEMPLATE_NAME=elf32
-OUTPUT_FORMAT="elf32-bigarc"
-LITTLE_OUTPUT_FORMAT="elf32-littlearc"
-BIG_OUTPUT_FORMAT="elf32-bigarc"
-# leave room for vector table, 32 vectors * 8 bytes
-TEXT_START_ADDR=0x100
-MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
-#NONPAGED_TEXT_START_ADDR=0x0
-ARCH=arc
-MACHINE=
-ENTRY=__start
-SDATA_START_SYMBOLS='__SDATA_BEGIN__ = .;'
-OTHER_READONLY_SECTIONS="
-  .__arc_profile_desc ${RELOCATING-0} : { *(.__arc_profile_desc) }
-  .__arc_profile_forward ${RELOCATING-0} : { *(.__arc_profile_forward) }
-"
-OTHER_BSS_SECTIONS="
-  .__arc_profile_counters ${RELOCATING-0} : { *(.__arc_profile_counters) }
-"
-EMBEDDED=yes
diff --git a/ld/emulparams/arceblinux.sh b/ld/emulparams/arceblinux.sh
deleted file mode 100644 (file)
index 54fd7a9..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-SCRIPT_NAME=arclinux
-OUTPUT_FORMAT="elf32-bigarc"
-LITTLE_OUTPUT_FORMAT="elf32-littlearc"
-BIG_OUTPUT_FORMAT="elf32-bigarc"
-TEXT_START_ADDR=0x10000
-MAXPAGESIZE=0x2000
-COMMONPAGESIZE=0x2000
-NONPAGED_TEXT_START_ADDR=0x10000
-ARCH=arc
-MACHINE=
-ENTRY=__start
-TEMPLATE_NAME=arclinux
-TEMPLATE_NAME=elf32
-EXTRA_EM_FILE=arclinux
-GENERATE_SHLIB_SCRIPT=yes
-SDATA_START_SYMBOLS='__SDATA_BEGIN__ = .;'
-OTHER_SECTIONS="/DISCARD/ : { *(.__arc_profile_*) }"
diff --git a/ld/emulparams/arceblinux_prof.sh b/ld/emulparams/arceblinux_prof.sh
deleted file mode 100644 (file)
index 3b1ccdd..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-SCRIPT_NAME=arclinux
-OUTPUT_FORMAT="elf32-bigarc"
-LITTLE_OUTPUT_FORMAT="elf32-littlearc"
-BIG_OUTPUT_FORMAT="elf32-bigarc"
-TEXT_START_ADDR=0x10000
-MAXPAGESIZE=0x2000
-COMMONPAGESIZE=0x2000
-NONPAGED_TEXT_START_ADDR=0x10000
-ARCH=arc
-MACHINE=
-ENTRY=__start
-TEMPLATE_NAME=arclinux
-TEMPLATE_NAME=elf32
-EXTRA_EM_FILE=arclinux
-GENERATE_SHLIB_SCRIPT=yes
-SDATA_START_SYMBOLS='__SDATA_BEGIN__ = .;'
-OTHER_READONLY_SECTIONS="
-  .__arc_profile_desc ${RELOCATING-0} : { *(.__arc_profile_desc) }
-  .__arc_profile_forward ${RELOCATING-0} : { *(.__arc_profile_forward) }
-"
-OTHER_BSS_SECTIONS="
-  .__arc_profile_counters ${RELOCATING-0} : { *(.__arc_profile_counters) }
-"
index 14a3033521f435b342c49d1f7166fd1a0047c1cb..a0b9c8fcb297b6d9ef8721f981d1349d44c05576 100644 (file)
@@ -1,3 +1,4 @@
+. ${srcdir}/emulparams/arc-endianness.sh
 SCRIPT_NAME=elfarc
 TEMPLATE_NAME=elf32
 if [ "x${ARC_ENDIAN}" = "xbig" ]; then
index 0202002dc81308a820296986beeaf42984019317..c94e3cb204f8ee93699bb34b31596372303704f1 100644 (file)
@@ -1,3 +1,4 @@
+. ${srcdir}/emulparams/arc-endianness.sh
 SCRIPT_NAME=elfarc
 TEMPLATE_NAME=elf32
 if [ "x${ARC_ENDIAN}" = "xbig" ]; then
index 452a272aff9dfec13392033e2c81a60d90358281..9d17bfea406b6ac9c2249b86e5f55fe1ab7c2718 100644 (file)
@@ -1,3 +1,4 @@
+. ${srcdir}/emulparams/arc-endianness.sh
 SCRIPT_NAME=arclinux
 if [ "x${ARC_ENDIAN}" = "xbig" ]; then
   OUTPUT_FORMAT="elf32-bigarc"
index fed098bf19a94e1e6ea21dd0078a6c71c9037d17..495f628fd2389278f6aabb2f5af9e2c1dc63652a 100644 (file)
@@ -1,3 +1,4 @@
+. ${srcdir}/emulparams/arc-endianness.sh
 SCRIPT_NAME=arclinux
 if [ "x${ARC_ENDIAN}" = "xbig" ]; then
   OUTPUT_FORMAT="elf32-bigarc"
index 2793ea31e160bfffaf04c08db5c2e7b13b8f378c..e21882b159cd1fb3912609053f759b7025fba419 100644 (file)
@@ -1,3 +1,4 @@
+. ${srcdir}/emulparams/arc-endianness.sh
 MACHINE=
 SCRIPT_NAME=elfarcv2
 if [ "x${ARC_ENDIAN}" = "xbig" ]; then
index 9999d8dd050732017f1e8ac084c41daaba69da39..7a4f28414c491bf1504fc1379487f60e2ab809a9 100644 (file)
@@ -1,3 +1,4 @@
+. ${srcdir}/emulparams/arc-endianness.sh
 MACHINE=
 SCRIPT_NAME=elfarcv2
 if [ "x${ARC_ENDIAN}" = "xbig" ]; then
index 5c070469bd7bee723cd593c2af2573d587043753..496557ded1d8656209cfb19170933726d6206344 100644 (file)
@@ -2,7 +2,7 @@
 #as: --compress-debug-sections=none
 #ld: -r --compress-debug-sections=zlib-gnu
 #readelf: -SW
-#notarget: arc-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-* i370-*-* i860-*-* iq2000-*-* mn10200-*-* moxie-*-* msp430-*-* mt-*-* or1k-*-* pj-*-*
+#notarget: arc*-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-* i370-*-* i860-*-* iq2000-*-* mn10200-*-* moxie-*-* msp430-*-* mt-*-* or1k-*-* pj-*-*
 # Not all ELF targets use the elf.em emulation...
 
 #failif
index 7e466c3c05a461bae595ef4ae407fc6277dba3c0..b4ea7fb6136973e78119b11a346921a7c1b90c29 100644 (file)
@@ -2,7 +2,7 @@
 #ld: -e _start --eh-frame-hdr
 #objdump: -hw
 #target: cfi
-#xfail: arc-*-elf* avr*-*-* or1k*-*-elf or1k*-*-rtems* visium-*-*
+#xfail: arc*-*-elf* avr*-*-* or1k*-*-elf or1k*-*-rtems* visium-*-*
 # These targets support CFI generation but not shared libraries.
 #...
   [0-9] .eh_frame_hdr 0*[12][048c] .*
index a242c401ac4372e4c516fa9592e1ba93538b6965..0da95401c84162bd2ca53ce722327bf6d5e1a82c 100644 (file)
@@ -2,7 +2,7 @@
 #source: group3a.s
 #ld: -T group.ld
 #readelf: -s
-#xfail: d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#xfail: arc*-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
 # generic linker targets don't comply with all symbol merging rules
 
 Symbol table '.symtab' contains .* entries:
index f645256b5850e25b68c6bc83f29101f1c07e7707..3613044c717c8f66741df1c2a27c81d6aa809d76 100644 (file)
@@ -1,7 +1,7 @@
 #source: group8.s
 #ld: -r --gc-sections --entry foo
 #readelf: -g --wide
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: arc*-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
 #notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
 #xfail: cr16-*-* crx-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
index 2ce6b1aa4be21115e1fadf7097073e590b84c41e..3859cb63e83c8772d2f3929070bda875ac0a8b8c 100644 (file)
@@ -1,7 +1,7 @@
 #source: group8.s
 #ld: -r --gc-sections --entry bar
 #readelf: -g --wide
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: arc*-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
 #notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
 #xfail: cr16-*-* crx-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
index 62215a5ca46722957365e1f01cc75e9095019d89..4e8341d248a8cfd2e392b452eefad3d0b45dc60f 100644 (file)
@@ -1,7 +1,7 @@
 #source: group9.s
 #ld: -r --gc-sections --entry foo
 #readelf: -g --wide
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: arc*-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
 #notarget: alpha-*-* hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
 #xfail: cr16-*-* crx-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
index c4600d8a89f23246f6f7669bb967393f39c53dc3..ce5931c19a5e1f96fa2605e6510819a34cb34dd9 100644 (file)
@@ -1,7 +1,7 @@
 #source: group9.s
 #ld: -r --gc-sections --entry bar
 #readelf: -g --wide
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: arc*-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
 #notarget: alpha-*-* hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
 #xfail: cr16-*-* crx-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
index edc135fa8a6144186c4a2c9a7c7ce529735a83f0..7668b32880342e98fa144c6d0e789a0e5964fe59 100644 (file)
@@ -2,7 +2,7 @@
 #source: linkonce1b.s
 #ld: -emit-relocs
 #objdump: -r
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: arc*-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
 # generic elf targets don't emit relocs
 
 .*:     file format .*
index 8aa48e94d5a16ff78d6e4c6d20b2bd518f2957f2..f02e3d2094fd94eb954e0cafa5f88fe165a53965 100644 (file)
@@ -2,7 +2,7 @@
 #source: start.s
 #ld: --gc-sections
 #readelf: -s --wide
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: arc*-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
 #notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
index 11ace1fccfc646add88aed47cf1d01e3653da9db..97326a7866084fa4b21ddaf74fc471090f7fa9dd 100644 (file)
@@ -1,7 +1,7 @@
 #ld: --gc-sections -shared -version-script pr12975.t
 #readelf: -s --wide
 #target: *-*-linux* *-*-gnu*
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: arc*-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
 #notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
index a009988ac92b26b511b4d44a45b8ddec88fa010b..d47aadf81791e10e1aed2797c90be4855bdb3c09 100644 (file)
@@ -2,7 +2,7 @@
 #ld: --gc-sections -shared
 #readelf: -s -D --wide
 #target: *-*-linux* *-*-gnu*
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: arc*-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
 #notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
index 6b39f2d83d53ed0829c03ad544f6947dfa4b7346..c806c11a1eefb4c286d686765358ff915c9a06e6 100644 (file)
@@ -1,7 +1,7 @@
 #ld: --gc-sections -shared -version-script pr13195.t
 #readelf: -s --wide -D
 #target: *-*-linux* *-*-gnu*
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: arc*-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
 #notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
index 1b7a59bac897abd204d947fefe008d2aca974fe9..0b1182376fa6ff8b7fd6df6074b0a397b293037a 100644 (file)
@@ -1,7 +1,7 @@
 #ld: --gc-sections -shared
 #readelf: -S --wide --dyn-syms
 #target: *-*-linux* *-*-gnu*
-#notarget: arc-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
+#notarget: arc*-*-* d30v-*-* dlx-*-* i960-*-* pj*-*-*
 #notarget: hppa64-*-* i370-*-* i860-*-* ia64-*-* mep-*-* mn10200-*-*
 # generic linker targets don't support --gc-sections, nor do a bunch of others
 
index c08bbed743a76831b1912e0e12480f399ca07580..1a545461982f68b82a17c1b2229fba1f6a9d7506 100644 (file)
@@ -3,7 +3,7 @@
 #ld: -shared -z max-page-size=0x200000
 #readelf: -l --wide
 #target: *-*-linux* *-*-gnu* *-*-nacl*
-#notarget: arc-*-* hppa-*-*
+#notarget: arc*-*-* hppa-*-*
 # arc target has an extra 64K stack section.
 # hppa fails due to PR 12376.
 
index 7d079ce8fae74eed451de5fac849586957dffc9d..f168cff15848df93bec8100c16a62916196a6d5d 100644 (file)
@@ -29,7 +29,7 @@ if ![is_elf_format] {
 
 # Targets using the generic linker backend don't sort section symbols
 # before local symbols, so don't bother testing them.
-if { [istarget "arc-*-*"]
+if { [istarget "arc*-*-*"]
      || [istarget "d30v-*-*"]
      || [istarget "dlx-*-*"]
      || [istarget "i960-*-*"]
index 320ed827434a174c4c1b920188431c8ec36286fd..ce446fd252830b8a1e873a4c2107076e138d352c 100644 (file)
@@ -1664,7 +1664,7 @@ proc check_gc_sections_available { } {
     if {![info exists gc_sections_available_saved]} {
        # Some targets don't support gc-sections despite whatever's
        # advertised by ld's options.
-       if {   [istarget arc-*-*]
+       if {   [istarget arc*-*-*]
            || [istarget d30v-*-*]
            || [istarget dlx-*-*]
            || [istarget i960-*-*]
@@ -1706,7 +1706,7 @@ proc check_gc_sections_available { } {
 
 proc check_shared_lib_support { } {
     if {![istarget aarch64*-*-elf]
-        && ![istarget arc-*-*]
+        && ![istarget arc*-*-*]
         && ![istarget arm*-*-elf]
         && ![istarget avr-*-*]
         && ![istarget cr16-*-*]