+2019-05-30 Alan Modra <amodra@gmail.com>
+
+ * testsuite/lib/binutils-common.exp (run_dump_test): Support
+ tcl procedures for xfail args.
+
2019-05-29 Nick Clifton <nickc@redhat.com>
* README-how-to-make-a-release: Add libctf to list of directories
# Time to setup xfailures.
foreach targ $opts(xfail) {
- setup_xfail $targ
+ if [match_target $targ] {
+ setup_xfail "*-*-*"
+ break
+ }
}
foreach as_flags $as_final_flags {
+2019-05-30 Alan Modra <amodra@gmail.com>
+
+ * testsuite/lib/ld-lib.exp (run_ld_link_tests): Support procedure
+ calls in optional "xfail" args.
+ (run_ld_link_exec_tests): Likewise.
+ (is_generic): New.
+ (uses_genelf): Rename from is_generic_elf. Delete bogus semicolons.
+ * testsuite/ld-scripts/align.exp: Rename is_generic_elf call.
+ * testsuite/ld-elf/elf.exp: Use is_generic and uses_genelf. Delete
+ xfail_implib var.
+ * testsuite/ld-elf/sec64k.exp: Use is_generic.
+ * testsuite/ld-elf/shared.exp: Likewise.
+ * testsuite/ld-discard/extern.d: Use is_generic in xfail.
+ * testsuite/ld-discard/start.d: Likewise.
+ * testsuite/ld-discard/static.d: Likewise.
+ * testsuite/ld-elf/attributes.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/merge2.d: Likewise.
+ * testsuite/ld-elf/merge3.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/pr17550c.d: Likewise.
+ * testsuite/ld-elf/pr17550d.d: Likewise.
+ * testsuite/ld-elf/pr17615.d: Likewise.
+ * testsuite/ld-elf/pr21562a.d: Likewise.
+ * testsuite/ld-elf/pr21562b.d: Likewise.
+ * testsuite/ld-elf/pr21562c.d: Likewise.
+ * testsuite/ld-elf/pr21562d.d: Likewise.
+ * testsuite/ld-elf/pr21562i.d: Likewise.
+ * testsuite/ld-elf/pr21562j.d: Likewise.
+ * testsuite/ld-elf/pr21562k.d: Likewise.
+ * testsuite/ld-elf/pr21562l.d: Likewise.
+ * testsuite/ld-elf/pr21562m.d: Likewise.
+ * testsuite/ld-elf/pr21562n.d: Likewise.
+ * testsuite/ld-elf/pr22677.d: Likewise.
+ * testsuite/ld-elf/pr22836-1a.d: Likewise.
+ * testsuite/ld-elf/pr22836-1b.d: Likewise.
+ * testsuite/ld-elf/warn3.d: Likewise.
+ * testsuite/ld-elf/warn1.d: Likewise and xfail sparc solaris
+ targets rather than notarget.
+ * testsuite/ld-elf/compressed1d.d: Use uses_genelf in xfail.
+ * testsuite/ld-elf/orphan-10.d: Likewise.
+ * testsuite/ld-elf/orphan-9.d: Likewise.
+ * testsuite/ld-elf/orphan-region.d: Likewise.
+ * testsuite/ld-elf/orphan.d: Likewise.
+ * testsuite/ld-elf/orphan3.d: Likewise.
+ * testsuite/ld-elf/pr20528a.d: Likewise.
+ * testsuite/ld-elf/pr20528b.d: Likewise.
+ * testsuite/ld-elf/pr23658-1a.d: Likewise.
+ * testsuite/ld-elf/pr23658-1b.d: Likewise.
+ * testsuite/ld-elf/pr349.d: Likewise.
+ * testsuite/ld-elf/warn2.d: Likewise and xfail sparc solaris
+ targets rather than notarget.
+ * testsuite/ld-elf/merge.d: Correct ms1-*-* to mt-*-*.
+
2019-05-28 Faraz Shahbazker <fshahbazker@wavecomp.com>
* testsuite/ld-mips-elf/undefweak-overflow.s: Remove test case
#ld: -T discard.ld
#error: .*data.* referenced in section `\.text' of tmpdir/extern.o: defined in discarded section `\.data\.exit' of tmpdir/extern.o
#objdump: -p
-#xfail: d30v-*-* dlx-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic]
#pass
# The expected warning used to start with "`data' referenced..." but
# this has two problems: 1) It does not include the name of the linker
#ld: -T discard.ld
#error: `data' referenced in section `\.text' of tmpdir/start.o: defined in discarded section `\.data\.exit' of tmpdir/exit.o
#objdump: -p
-#xfail: d30v-*-* dlx-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic]
#pass
#ld: -T discard.ld
#error: `(\.data\.exit|data)' referenced in section `\.text' of tmpdir/static.o: defined in discarded section `\.data\.exit' of tmpdir/static.o
#objdump: -p
-#xfail: d30v-*-* dlx-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic]
#pass
#name: Symbol flags copy
#ld: -T attributes.ld
#objdump: -t
-#xfail: pj-*-* dlx-*-* d30v-*-* xgate-*-*
+#xfail: [is_generic]
#...
0+0000000 g F .text 0+0000000 __start
#as: --compress-debug-sections=none
#ld: -r --compress-debug-sections=zlib-gnu
#readelf: -SW
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-* iq2000-*-*
-#xfail: mn10200-*-* moxie-*-* msp430-*-* mt-*-* pj-*-* riscv*-*-*
-#xfail: xgate-*-*
+#xfail: [uses_genelf]
+#xfail: riscv*-*-*
# Not all ELF targets use the elf.em emulation...
# RISC-V has linker relaxations that delete code, so text label subtractions
# do not get resolved at assembly time, which results in a compressed section.
{"PR ld/21703 -r"
"-r --allow-multiple-definition tmpdir/pr21703-3.o tmpdir/pr21703-4.o" "" "" \
{pr21703-3.s pr21703-4.s} {{readelf {-s} pr21703-r.sd}} "pr21703.o" }
-} "d30v-*-*" "dlx-*-*" "pj-*-*" "xgate-*-*"
+} \[is_generic\]
if [is_underscore_target] {
set ASFLAGS "$ASFLAGS --defsym UNDERSCORE=1"
set ASFLAGS "$saved_ASFLAGS"
-# Targets using the generic linker backend don't support generating
-# an import library.
-set xfail_implib ""
-if [is_generic_elf] {
- set xfail_implib "*-*-*"
-}
-
# Check that the --out-implib option work correctly.
+# Targets that don't use elf32.em won't support this.
run_ld_link_tests [list \
[list "Generate empty import library" \
"--out-implib=tmpdir/implib.lib" "" \
{implib.s} \
{{readelf {-s tmpdir/implib.lib} implib.rd}} \
"implib" ] \
-] $xfail_implib
+] \[uses_genelf\]
#v850 gas complains about .tbss.var section attributes.
if { [check_gc_sections_available] && ![istarget "v850-*-*"] } {
#source: group1b.s
#ld: -T group.ld
#readelf: -s
-#xfail: d30v-*-* dlx-*-* pj*-*-* xgate-*-* *-*-solaris*
+#xfail: [is_generic] *-*-solaris*
# generic linker targets don't comply with all symbol merging rules
Symbol table '.symtab' contains .* entries:
#source: group3a.s
#ld: -T group.ld
#readelf: -s
-#xfail: d30v-*-* dlx-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic]
# generic linker targets don't comply with all symbol merging rules
Symbol table '.symtab' contains .* entries:
#ld: -r --gc-sections --entry foo
#readelf: -g --wide
# generic linker targets don't support --gc-sections, nor do a bunch of others
-#xfail: d30v-*-* dlx-*-* hppa64-*-*
-#xfail: mep-*-* mn10200-*-* pj*-*-* pru-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* pru-*-*
COMDAT group section \[[ 0-9]+\] `.group' \[foo\] contains . sections:
\[Index\] Name
#ld: -r --gc-sections --entry bar
#readelf: -g --wide
# generic linker targets don't support --gc-sections, nor do a bunch of others
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-*
-#xfail: pj*-*-* pru-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* pru-*-*
COMDAT group section \[[ 0-9]+\] `.group' \[bar\] contains . sections:
\[Index\] Name
#ld: -r --gc-sections --entry foo
#readelf: -g --wide
# generic linker targets don't support --gc-sections, nor do a bunch of others
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-*
-#xfail: pj*-*-* pru-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* pru-*-*
COMDAT group section \[[ 0-9]+\] `.group' \[foo\] contains . sections:
\[Index\] Name
#ld: -r --gc-sections --entry bar
#readelf: -g --wide
# generic linker targets don't support --gc-sections, nor do a bunch of others
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-*
-#xfail: pj*-*-* pru-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* pru-*-*
COMDAT group section \[[ 0-9]+\] `.group' \[foo\] contains . sections:
\[Index\] Name
#source: linkonce1b.s
#ld: -emit-relocs
#objdump: -r
-#xfail: d30v-*-* dlx-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic]
# generic elf targets don't emit relocs
.*: file format .*
#xfail: bfin-*-* cr16-*-* cris*-*-* crx-*-* d10v-*-* d30v-*-* dlx-*-*
#xfail: fr30-*-* frv-*-* ft32-*-* h8300-*-* hppa*64*-*-* ip2k-*-* iq2000-*-*
#xfail: lm32-*-* m68hc11-*-* mcore-*-* mep-*-* metag-*-* mn102*-*-* moxie-*-*
-#xfail: ms1-*-* nds32*-*-* nios2-*-* or32-*-* pj-*-* pru-*-* s12z-*-* score-*-*
+#xfail: mt-*-* nds32*-*-* nios2-*-* or32-*-* pj-*-* pru-*-* s12z-*-* score-*-*
#xfail: tic6x-*-* vax-*-* xgate-*-* xstormy16-*-* xtensa*-*-*
.*: file format .*elf.*
#source: merge2.s
#ld: -T merge.ld
#objdump: -s
-#xfail: d30v-*-* dlx-*-* hppa64-*-* ip2k-*-* pj-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* ip2k-*-*
.*: file format .*elf.*
#source: merge3.s
#ld: -T merge.ld
#objdump: -s
-#xfail: d30v-*-* dlx-*-* hppa64-*-* ip2k-*-* pj-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* ip2k-*-*
.*: file format .*elf.*
#source: orphan-10.s
#ld: -N -T orphan-9.ld
#objdump: -h
-#xfail: d30v-* dlx-* fr30-* frv-*-elf ft32-* iq2000-*
-#xfail: mn10200-* moxie-* ms1-* msp430-* mt-* pj-* xgate-*
+#xfail: [uses_genelf]
#...
. \.text 0+(08|10) [0-9a-f]+ 0+200 .*
#source: orphan-9.s
#ld: -N -T orphan-9.ld
#objdump: -h
-#xfail: d30v-* dlx-* fr30-* frv-*-elf ft32-* iq2000-*
-#xfail: mn10200-* moxie-* ms1-* msp430-* mt-* pj-* xgate-*
+#xfail: [uses_genelf]
#...
. \.text 0+(08|10) [0-9a-f]+ 0+200 .*
#source: orphan-region.s
#ld: -T orphan-region.ld -N -z stack-size=0
#readelf: -S -l --wide
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-* hppa*64*-*-*
-#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
-#xfail: spu-*-* xgate-*-* *-*-nacl*
+#xfail: [uses_genelf] hppa*64*-*-* spu-*-* *-*-nacl*
# if not using elf32.em, you don't get fancy orphan handling
# spu twiddles LOAD range, hppa64 adds PHDR, nacl splits to two segments
#source: orphan.s
#ld: -T orphan.ld
#readelf: -S --wide
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-*
-#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-* xgate-*-*
+#xfail: [uses_genelf]
# if not using elf32.em, you don't get fancy orphan handling
#...
#source: orphan3f.s
#ld:
#readelf: -S --wide
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-* iq2000-*-*
-#xfail: mn10200-*-* msp430-*-* mt-*-* pj-*-* xgate-*-* xstormy16-*-*
+#xfail: [uses_genelf]
+#xfail: xstormy16-*-*
#...
\[[ 0-9]+\] \.foo +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+20 +0+ +A +0 +0 +[0-9]+
#source: start.s
#ld: --gc-sections
#readelf: -s --wide
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-*
-#xfail: pj*-*-* pru-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* pru-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#...
#ld: --gc-sections -shared -version-script pr12975.t
#readelf: -s --wide
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#failif
#ld: --gc-sections -shared
#readelf: -s -D --wide
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#failif
#ld: --gc-sections -shared -version-script pr13195.t
#readelf: -s --wide -D
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#...
#source: pr17550-3.s
#ld: -r
#error: .*: defined in discarded section `\.data\[foo_group\]'
-#xfail: alpha-*-* d30v-*-* dlx-*-* pj*-*-* xgate-*-*
+#xfail: alpha-*-* [is_generic]
# Disabled on alpha because alpha has a different .set directive.
# Generic linker targets don't support comdat group sections.
#readelf: -s --wide
# Disabled on alpha because alpha has a different .set directive.
# Generic linker targets don't support comdat group sections.
-#xfail: alpha-*-* d30v-*-* dlx-*-* pj*-*-* xgate-*-*
+#xfail: alpha-*-* [is_generic]
#...
+[0-9]+: +[0-9a-f]+ +0 +OBJECT +GLOBAL +DEFAULT +UND y
#ld: --gc-sections -shared
#readelf: -S --wide --dyn-syms
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#...
#source: pr20528b.s
#ld: -r
#readelf: -S --wide
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-*
-#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-* xgate-*-*
+#xfail: [uses_genelf]
#...
[ ]*\[.*\][ ]+\.text.startup[ ]+PROGBITS.*[ ]+AX[ ]+.*
#source: pr20528a.s
#ld: -r
#readelf: -S --wide
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-*
-#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-* xgate-*-*
+#xfail: [uses_genelf]
#...
[ ]*\[.*\][ ]+\.text.startup[ ]+PROGBITS.*[ ]+AXE[ ]+.*
#ld: -shared -z defs --gc-sections
#readelf: -s -S --wide
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#...
#ld: -shared -z defs --gc-sections
#readelf: -s -S --wide
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#...
#ld: -shared -z defs --gc-sections -T pr21562a.t
#readelf: -s -S --wide
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#...
#ld: -shared -z defs --gc-sections -T pr21562a.t
#readelf: -s -S --wide
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#...
#ld: -shared -z defs --gc-sections -T pr21562b.t
#readelf: -s -S --wide
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#...
#ld: -shared -z defs --gc-sections -T pr21562b.t
#readelf: -s -S --wide
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#...
#ld: -shared -z defs --gc-sections -T pr21562c.t
#readelf: -s -S --wide
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#...
#ld: -shared -z defs --gc-sections -T pr21562c.t
#readelf: -s -S --wide
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#...
#ld: -shared -z defs --gc-sections -T pr21562d.t
#readelf: -s -S --wide
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#...
#ld: -shared -z defs --gc-sections -T pr21562d.t
#readelf: -s -S --wide
#target: *-*-linux* *-*-gnu* arm*-*-uclinuxfdpiceabi
-#xfail: d30v-*-* dlx-*-* hppa64-*-* mep-*-* mn10200-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-*
# generic linker targets don't support --gc-sections, nor do a bunch of others
#...
#readelf: -S --wide
# generic linker targets don't support --gc-sections, nor do a bunch of
# others.
-#xfail: d30v-*-* dlx-*-* hppa64-*-*
-#xfail: mep-*-* mn10200-*-* pj*-*-* pru-*-* xgate-*-*
+#xfail: [is_generic] hppa64-*-* mep-*-* mn10200-*-* pru-*-*
#...
\[[ 0-9]+\] \.preinit_array\.01000[ \t]+PREINIT_ARRAY[ \t0-9a-f]+WA?.*
#source: pr22836-1.s
#ld: -r -s
#readelf: -g --wide
-#xfail: d30v-*-* dlx-*-* pj-*-* xgate-*-*
+#xfail: [is_generic]
# Targets using the generic linker don't properly support comdat group sections
There are no section groups in this file\.
#source: pr22836-1.s
#ld: -r -S
#readelf: -g --wide
-#xfail: d30v-*-* dlx-*-* pj-*-* xgate-*-*
+#xfail: [is_generic]
# Targets using the generic linker don't properly support comdat group sections
There are no section groups in this file\.
#readelf: -l --wide
# Since generic linker targets don't place SHT_NOTE sections as orphan,
# SHT_NOTE sections aren't grouped nor sorted.
-#xfail: d30v-* dlx-* fr30-* frv-*-elf ft32-* iq2000-*
-#xfail: m68hc12-* mn10200-* moxie-* mt-* msp430-* pj-* xgate-*
+#xfail: [uses_genelf]
+#xfail: m68hc12-*
# The following targets don't support --build-id.
#xfail: cr16-* crx-* visium-* xc16x-*
# The following targets place .note.gnu.build-id in unusual places.
#readelf: -l --wide
# Since generic linker targets don't place SHT_NOTE sections as orphan,
# SHT_NOTE sections aren't grouped nor sorted.
-#xfail: d30v-* dlx-* fr30-* frv-*-elf ft32-* iq2000-*
-#xfail: mn10200-* moxie-* mt-* msp430-* pj-* xgate-*
+#xfail: [uses_genelf]
#...
+[0-9]+ +\.note\.4 \.note\.1( .note.gnu.property|) +
#source: pr349-2.s
#ld: -r
#readelf: -S
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-*
-#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-* xgate-*-*
+#xfail: [uses_genelf]
# if not using elf32.em, you don't get fancy section handling
#...
# Targets using _bfd_generic_final_link don't sort section symbols
# before local symbols, so don't bother testing them.
-if { [istarget "d30v-*-*"]
- || [istarget "dlx-*-*"]
- || [istarget "pj*-*-*"] } {
+if { [is_generic] } {
return
}
-# ft32, h8300, ip2k, m68hc11, m68hc12 and xgate run out of address space.
+# ft32, h8300, ip2k, m68hc11 and m68hc12 run out of address space.
if {[istarget "ft32-*-*"]
|| [istarget "h8300-*-*"]
|| [istarget "ip2k-*-*"]
- || [istarget "m68hc1*-*"]
- || [istarget "s12z-*"]
- || [istarget "xgate-*"] } {
+ || [istarget "m68hc1*-*"] } {
return
}
] "bfin-*-*"
# Targets that use _bfd_generic_link_add_symbols won't pass pr21703 tests
-# Not will hppa64 with dot-symbols.
+# Nor will hppa64 with dot-symbols.
run_ld_link_tests [list \
[list "PR ld/21703 shared" \
"-shared --allow-multiple-definition --version-script pr21703.ver\
tmpdir/pr21703-3.o tmpdir/pr21703-4.o" "" "$AFLAGS_PIC" \
{pr21703-3.s pr21703-4.s} {{readelf {--dyn-syms} pr21703-shared.sd}} \
"pr21703.so" ] \
-] "d30v-*-*" "dlx-*-*" "pj-*-*" "hppa64-*-*" "xgate-*-*"
+] \[is_generic\] hppa64-*-*
# This target requires extra GAS options when building non-PIC code
# for linking with shared libraries.
#ld: -T group.ld
#warning: ^[^\n]*\): warning: witty one-liner$
#readelf: -s
-#notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
-#xfail: d30v-*-* dlx-*-* pj-*-* xgate-*-*
+#xfail: [is_generic]
+#xfail: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
# Check that warnings are generated for the .gnu.warning.SYMBOL
# construct and that the symbol still appears as expected.
#ld: -T group.ld
#warning: ^[^\n]*\.[obj]+: warning: function 'Foo' used$
#readelf: -s
-#notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-*
-#xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-* xgate-*-*
# if not using elf32.em, you don't get fancy section handling
+#xfail: [uses_genelf]
+#xfail: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
# Check that warnings are generated for the symbols in .gnu.warning
# construct and that the symbol still appears as expected.
#ld: tmpdir/symbol3w.o tmpdir/symbol3.a
#warning: .*: warning: badsym warning$
#readelf: -s
-#xfail: d30v-*-* dlx-*-* pj*-*-* xgate-*-*
+#xfail: [is_generic]
# generic linker targets don't support .gnu.warning sections.
# Check that warnings are generated for the symbols in .gnu.warning
run_dump_test align2c
set LDFLAGS "$saved_LDFLAGS"
-if { [is_elf_format] && ![is_generic_elf] } {
+if { [is_elf_format] && ![uses_genelf] } {
run_dump_test pr23571
}
}
foreach target $args {
- setup_xfail $target
+ if [match_target $target] {
+ setup_xfail "*-*-*"
+ break
+ }
}
set ld_options [lindex $testitem 1]
}
foreach testitem $ldtests {
- foreach target $args {
- setup_xfail $target
- }
set testname [lindex $testitem 0]
set ld_options [lindex $testitem 1]
set as_options [lindex $testitem 2]
continue
}
+ foreach target $args {
+ if [match_target $target] {
+ setup_xfail "*-*-*"
+ break
+ }
+ }
+
# verbose -log "Testname is $testname"
# verbose -log "ld_options is $ld_options"
# verbose -log "as_options is $as_options"
return $gc_sections_available_saved
}
-# Return true if target uses genelf.em (assuming it is ELF).
-proc is_generic_elf { } {
+# Return true if target uses the generic_link_hash_table linker.
+proc is_generic { } {
+ if { [istarget "d30v-*-*"]
+ || [istarget "dlx-*-*"]
+ || [istarget "pj*-*-*"]
+ || [istarget "s12z-*-*"]
+ || [istarget "xgate-*-*"] } {
+ return 1
+ }
+ return 0
+}
+
+# Return true if target uses genelf.em.
+proc uses_genelf { } {
if { [istarget "d30v-*-*"]
|| [istarget "dlx-*-*"]
|| [istarget "fr30-*-*"]
|| [istarget "mt-*-*"]
|| [istarget "pj*-*-*"]
|| [istarget "xgate-*-*"] } {
- return 1;
+ return 1
}
- return 0;
+ return 0
}
proc is_underscore_target { } {