From: Andrew Burgess Date: Tue, 29 Mar 2016 14:57:40 +0000 (+0100) Subject: ld/arc: Fix linker for big-endian arc targets X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9a5f28ae286634f2d7d381b7d234abc2f3aa5548;p=binutils-gdb.git ld/arc: Fix linker for big-endian arc targets 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. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 1e1aae7afc5..d2580bd25a2 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,35 @@ +2016-04-05 Andrew Burgess + + * 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 PR ld/19908 diff --git a/ld/emulparams/arc-endianness.sh b/ld/emulparams/arc-endianness.sh new file mode 100644 index 00000000000..4d6158b84fc --- /dev/null +++ b/ld/emulparams/arc-endianness.sh @@ -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 index 994605e5c9a..00000000000 --- a/ld/emulparams/arcebelf.sh +++ /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 index 1bd0531c2ae..00000000000 --- a/ld/emulparams/arcebelf_prof.sh +++ /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 index 54fd7a979a4..00000000000 --- a/ld/emulparams/arceblinux.sh +++ /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 index 3b1ccdd23d0..00000000000 --- a/ld/emulparams/arceblinux_prof.sh +++ /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) } -" diff --git a/ld/emulparams/arcelf.sh b/ld/emulparams/arcelf.sh index 14a3033521f..a0b9c8fcb29 100644 --- a/ld/emulparams/arcelf.sh +++ b/ld/emulparams/arcelf.sh @@ -1,3 +1,4 @@ +. ${srcdir}/emulparams/arc-endianness.sh SCRIPT_NAME=elfarc TEMPLATE_NAME=elf32 if [ "x${ARC_ENDIAN}" = "xbig" ]; then diff --git a/ld/emulparams/arcelf_prof.sh b/ld/emulparams/arcelf_prof.sh index 0202002dc81..c94e3cb204f 100644 --- a/ld/emulparams/arcelf_prof.sh +++ b/ld/emulparams/arcelf_prof.sh @@ -1,3 +1,4 @@ +. ${srcdir}/emulparams/arc-endianness.sh SCRIPT_NAME=elfarc TEMPLATE_NAME=elf32 if [ "x${ARC_ENDIAN}" = "xbig" ]; then diff --git a/ld/emulparams/arclinux.sh b/ld/emulparams/arclinux.sh index 452a272aff9..9d17bfea406 100644 --- a/ld/emulparams/arclinux.sh +++ b/ld/emulparams/arclinux.sh @@ -1,3 +1,4 @@ +. ${srcdir}/emulparams/arc-endianness.sh SCRIPT_NAME=arclinux if [ "x${ARC_ENDIAN}" = "xbig" ]; then OUTPUT_FORMAT="elf32-bigarc" diff --git a/ld/emulparams/arclinux_prof.sh b/ld/emulparams/arclinux_prof.sh index fed098bf19a..495f628fd23 100644 --- a/ld/emulparams/arclinux_prof.sh +++ b/ld/emulparams/arclinux_prof.sh @@ -1,3 +1,4 @@ +. ${srcdir}/emulparams/arc-endianness.sh SCRIPT_NAME=arclinux if [ "x${ARC_ENDIAN}" = "xbig" ]; then OUTPUT_FORMAT="elf32-bigarc" diff --git a/ld/emulparams/arcv2elf.sh b/ld/emulparams/arcv2elf.sh index 2793ea31e16..e21882b159c 100644 --- a/ld/emulparams/arcv2elf.sh +++ b/ld/emulparams/arcv2elf.sh @@ -1,3 +1,4 @@ +. ${srcdir}/emulparams/arc-endianness.sh MACHINE= SCRIPT_NAME=elfarcv2 if [ "x${ARC_ENDIAN}" = "xbig" ]; then diff --git a/ld/emulparams/arcv2elfx.sh b/ld/emulparams/arcv2elfx.sh index 9999d8dd050..7a4f28414c4 100644 --- a/ld/emulparams/arcv2elfx.sh +++ b/ld/emulparams/arcv2elfx.sh @@ -1,3 +1,4 @@ +. ${srcdir}/emulparams/arc-endianness.sh MACHINE= SCRIPT_NAME=elfarcv2 if [ "x${ARC_ENDIAN}" = "xbig" ]; then diff --git a/ld/testsuite/ld-elf/compressed1d.d b/ld/testsuite/ld-elf/compressed1d.d index 5c070469bd7..496557ded1d 100644 --- a/ld/testsuite/ld-elf/compressed1d.d +++ b/ld/testsuite/ld-elf/compressed1d.d @@ -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 diff --git a/ld/testsuite/ld-elf/eh-frame-hdr.d b/ld/testsuite/ld-elf/eh-frame-hdr.d index 7e466c3c05a..b4ea7fb6136 100644 --- a/ld/testsuite/ld-elf/eh-frame-hdr.d +++ b/ld/testsuite/ld-elf/eh-frame-hdr.d @@ -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] .* diff --git a/ld/testsuite/ld-elf/group3b.d b/ld/testsuite/ld-elf/group3b.d index a242c401ac4..0da95401c84 100644 --- a/ld/testsuite/ld-elf/group3b.d +++ b/ld/testsuite/ld-elf/group3b.d @@ -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: diff --git a/ld/testsuite/ld-elf/group8a.d b/ld/testsuite/ld-elf/group8a.d index f645256b585..3613044c717 100644 --- a/ld/testsuite/ld-elf/group8a.d +++ b/ld/testsuite/ld-elf/group8a.d @@ -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 diff --git a/ld/testsuite/ld-elf/group8b.d b/ld/testsuite/ld-elf/group8b.d index 2ce6b1aa4be..3859cb63e83 100644 --- a/ld/testsuite/ld-elf/group8b.d +++ b/ld/testsuite/ld-elf/group8b.d @@ -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 diff --git a/ld/testsuite/ld-elf/group9a.d b/ld/testsuite/ld-elf/group9a.d index 62215a5ca46..4e8341d248a 100644 --- a/ld/testsuite/ld-elf/group9a.d +++ b/ld/testsuite/ld-elf/group9a.d @@ -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 diff --git a/ld/testsuite/ld-elf/group9b.d b/ld/testsuite/ld-elf/group9b.d index c4600d8a89f..ce5931c19a5 100644 --- a/ld/testsuite/ld-elf/group9b.d +++ b/ld/testsuite/ld-elf/group9b.d @@ -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 diff --git a/ld/testsuite/ld-elf/linkonce2.d b/ld/testsuite/ld-elf/linkonce2.d index edc135fa8a6..7668b328803 100644 --- a/ld/testsuite/ld-elf/linkonce2.d +++ b/ld/testsuite/ld-elf/linkonce2.d @@ -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 .* diff --git a/ld/testsuite/ld-elf/pr12851.d b/ld/testsuite/ld-elf/pr12851.d index 8aa48e94d5a..f02e3d2094f 100644 --- a/ld/testsuite/ld-elf/pr12851.d +++ b/ld/testsuite/ld-elf/pr12851.d @@ -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 diff --git a/ld/testsuite/ld-elf/pr12975.d b/ld/testsuite/ld-elf/pr12975.d index 11ace1fccfc..97326a78660 100644 --- a/ld/testsuite/ld-elf/pr12975.d +++ b/ld/testsuite/ld-elf/pr12975.d @@ -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 diff --git a/ld/testsuite/ld-elf/pr13177.d b/ld/testsuite/ld-elf/pr13177.d index a009988ac92..d47aadf8179 100644 --- a/ld/testsuite/ld-elf/pr13177.d +++ b/ld/testsuite/ld-elf/pr13177.d @@ -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 diff --git a/ld/testsuite/ld-elf/pr13195.d b/ld/testsuite/ld-elf/pr13195.d index 6b39f2d83d5..c806c11a1ee 100644 --- a/ld/testsuite/ld-elf/pr13195.d +++ b/ld/testsuite/ld-elf/pr13195.d @@ -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 diff --git a/ld/testsuite/ld-elf/pr17615.d b/ld/testsuite/ld-elf/pr17615.d index 1b7a59bac89..0b1182376fa 100644 --- a/ld/testsuite/ld-elf/pr17615.d +++ b/ld/testsuite/ld-elf/pr17615.d @@ -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 diff --git a/ld/testsuite/ld-elf/pr19162.d b/ld/testsuite/ld-elf/pr19162.d index c08bbed743a..1a545461982 100644 --- a/ld/testsuite/ld-elf/pr19162.d +++ b/ld/testsuite/ld-elf/pr19162.d @@ -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. diff --git a/ld/testsuite/ld-elf/sec64k.exp b/ld/testsuite/ld-elf/sec64k.exp index 7d079ce8fae..f168cff1584 100644 --- a/ld/testsuite/ld-elf/sec64k.exp +++ b/ld/testsuite/ld-elf/sec64k.exp @@ -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-*-*"] diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp index 320ed827434..ce446fd2528 100644 --- a/ld/testsuite/lib/ld-lib.exp +++ b/ld/testsuite/lib/ld-lib.exp @@ -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-*-*]