From 1336939d3cd4cb02670c48ef065bafdf0fdae300 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 29 May 2019 22:54:37 +0930 Subject: [PATCH] Support tcl procedure calls in run_dump_test xfail Also support tcl procedure calls in the run_ld_link_tests and run_ld_link_exec_tests optional "xfail" args. Implements "is_generic" and renames "is_generic_elf" to "uses_genelf", then uses these procs in lots of ld tests. moxie-elf -FAIL: ld-elf/orphan3 mt-elf -FAIL: ld-elf/merge s12z-elf -FAIL: ld-discard/extern s12z-elf -FAIL: ld-discard/start s12z-elf -FAIL: ld-discard/static s12z-elf -FAIL: PR ld/21703 s12z-elf -FAIL: PR ld/21703 -r s12z-elf -FAIL: Symbol flags copy s12z-elf -FAIL: ld-elf/group1 s12z-elf -FAIL: ld-elf/group3b s12z-elf -FAIL: ld-elf/group8a s12z-elf -FAIL: ld-elf/group8b s12z-elf -FAIL: ld-elf/group9a s12z-elf -FAIL: ld-elf/group9b s12z-elf -FAIL: ld-elf/linkonce2 s12z-elf -FAIL: ld-elf/merge2 s12z-elf -FAIL: ld-elf/merge3 s12z-elf -FAIL: ld-elf/pr12851 s12z-elf -FAIL: ld-elf/pr17550c s12z-elf -FAIL: ld-elf/pr17550d s12z-elf -FAIL: ld-elf/pr22677 s12z-elf -FAIL: ld-elf/pr22836-1a s12z-elf -FAIL: ld-elf/pr22836-1b s12z-elf -FAIL: ld-elf/warn1 s12z-elf -FAIL: ld-elf/warn3 binutils/ * testsuite/lib/binutils-common.exp (run_dump_test): Support tcl procedures for xfail args. ld/ * 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-*-*. --- binutils/ChangeLog | 5 ++ binutils/testsuite/lib/binutils-common.exp | 5 +- ld/ChangeLog | 63 ++++++++++++++++++++++ ld/testsuite/ld-discard/extern.d | 2 +- ld/testsuite/ld-discard/start.d | 2 +- ld/testsuite/ld-discard/static.d | 2 +- ld/testsuite/ld-elf/attributes.d | 2 +- ld/testsuite/ld-elf/compressed1d.d | 5 +- ld/testsuite/ld-elf/elf.exp | 12 ++--- ld/testsuite/ld-elf/group1.d | 2 +- ld/testsuite/ld-elf/group3b.d | 2 +- ld/testsuite/ld-elf/group8a.d | 3 +- ld/testsuite/ld-elf/group8b.d | 3 +- ld/testsuite/ld-elf/group9a.d | 3 +- ld/testsuite/ld-elf/group9b.d | 3 +- ld/testsuite/ld-elf/linkonce2.d | 2 +- ld/testsuite/ld-elf/merge.d | 2 +- ld/testsuite/ld-elf/merge2.d | 2 +- ld/testsuite/ld-elf/merge3.d | 2 +- ld/testsuite/ld-elf/orphan-10.d | 3 +- ld/testsuite/ld-elf/orphan-9.d | 3 +- ld/testsuite/ld-elf/orphan-region.d | 4 +- ld/testsuite/ld-elf/orphan.d | 3 +- ld/testsuite/ld-elf/orphan3.d | 4 +- ld/testsuite/ld-elf/pr12851.d | 3 +- ld/testsuite/ld-elf/pr12975.d | 2 +- ld/testsuite/ld-elf/pr13177.d | 2 +- ld/testsuite/ld-elf/pr13195.d | 2 +- ld/testsuite/ld-elf/pr17550c.d | 2 +- ld/testsuite/ld-elf/pr17550d.d | 2 +- ld/testsuite/ld-elf/pr17615.d | 2 +- ld/testsuite/ld-elf/pr20528a.d | 3 +- ld/testsuite/ld-elf/pr20528b.d | 3 +- ld/testsuite/ld-elf/pr21562a.d | 2 +- ld/testsuite/ld-elf/pr21562b.d | 2 +- ld/testsuite/ld-elf/pr21562c.d | 2 +- ld/testsuite/ld-elf/pr21562d.d | 2 +- ld/testsuite/ld-elf/pr21562i.d | 2 +- ld/testsuite/ld-elf/pr21562j.d | 2 +- ld/testsuite/ld-elf/pr21562k.d | 2 +- ld/testsuite/ld-elf/pr21562l.d | 2 +- ld/testsuite/ld-elf/pr21562m.d | 2 +- ld/testsuite/ld-elf/pr21562n.d | 2 +- ld/testsuite/ld-elf/pr22677.d | 3 +- ld/testsuite/ld-elf/pr22836-1a.d | 2 +- ld/testsuite/ld-elf/pr22836-1b.d | 2 +- ld/testsuite/ld-elf/pr23658-1a.d | 4 +- ld/testsuite/ld-elf/pr23658-1b.d | 3 +- ld/testsuite/ld-elf/pr349.d | 3 +- ld/testsuite/ld-elf/sec64k.exp | 10 ++-- ld/testsuite/ld-elf/shared.exp | 4 +- ld/testsuite/ld-elf/warn1.d | 4 +- ld/testsuite/ld-elf/warn2.d | 5 +- ld/testsuite/ld-elf/warn3.d | 2 +- ld/testsuite/ld-scripts/align.exp | 2 +- ld/testsuite/lib/ld-lib.exp | 35 +++++++++--- 56 files changed, 161 insertions(+), 98 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 413e2c1c37..7f43a89653 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2019-05-30 Alan Modra + + * testsuite/lib/binutils-common.exp (run_dump_test): Support + tcl procedures for xfail args. + 2019-05-29 Nick Clifton * README-how-to-make-a-release: Add libctf to list of directories diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp index 8f622ba6b4..9511d28c6f 100644 --- a/binutils/testsuite/lib/binutils-common.exp +++ b/binutils/testsuite/lib/binutils-common.exp @@ -974,7 +974,10 @@ proc run_dump_test { name {extra_options {}} } { # Time to setup xfailures. foreach targ $opts(xfail) { - setup_xfail $targ + if [match_target $targ] { + setup_xfail "*-*-*" + break + } } foreach as_flags $as_final_flags { diff --git a/ld/ChangeLog b/ld/ChangeLog index 54bc8746dc..586f4b1a5a 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,66 @@ +2019-05-30 Alan Modra + + * 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 * testsuite/ld-mips-elf/undefweak-overflow.s: Remove test case diff --git a/ld/testsuite/ld-discard/extern.d b/ld/testsuite/ld-discard/extern.d index 223c06b695..0d5bca978c 100644 --- a/ld/testsuite/ld-discard/extern.d +++ b/ld/testsuite/ld-discard/extern.d @@ -2,7 +2,7 @@ #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 diff --git a/ld/testsuite/ld-discard/start.d b/ld/testsuite/ld-discard/start.d index 274befcfef..f77f95d5de 100644 --- a/ld/testsuite/ld-discard/start.d +++ b/ld/testsuite/ld-discard/start.d @@ -3,5 +3,5 @@ #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 diff --git a/ld/testsuite/ld-discard/static.d b/ld/testsuite/ld-discard/static.d index 2b49d8446c..830e81cf6d 100644 --- a/ld/testsuite/ld-discard/static.d +++ b/ld/testsuite/ld-discard/static.d @@ -2,5 +2,5 @@ #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 diff --git a/ld/testsuite/ld-elf/attributes.d b/ld/testsuite/ld-elf/attributes.d index 9ca6d98863..58b595abb3 100644 --- a/ld/testsuite/ld-elf/attributes.d +++ b/ld/testsuite/ld-elf/attributes.d @@ -1,7 +1,7 @@ #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 diff --git a/ld/testsuite/ld-elf/compressed1d.d b/ld/testsuite/ld-elf/compressed1d.d index cd6a49b4d4..df7ce34450 100644 --- a/ld/testsuite/ld-elf/compressed1d.d +++ b/ld/testsuite/ld-elf/compressed1d.d @@ -2,9 +2,8 @@ #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. diff --git a/ld/testsuite/ld-elf/elf.exp b/ld/testsuite/ld-elf/elf.exp index 9121936c21..cf4ed422e4 100644 --- a/ld/testsuite/ld-elf/elf.exp +++ b/ld/testsuite/ld-elf/elf.exp @@ -91,7 +91,7 @@ run_ld_link_tests { {"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" @@ -112,14 +112,8 @@ foreach t $test_list { 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" "" \ @@ -133,7 +127,7 @@ run_ld_link_tests [list \ {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-*-*"] } { diff --git a/ld/testsuite/ld-elf/group1.d b/ld/testsuite/ld-elf/group1.d index 22d2df4f36..4d1c921df0 100644 --- a/ld/testsuite/ld-elf/group1.d +++ b/ld/testsuite/ld-elf/group1.d @@ -2,7 +2,7 @@ #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: diff --git a/ld/testsuite/ld-elf/group3b.d b/ld/testsuite/ld-elf/group3b.d index 15f1a43300..14ba5a3bf0 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-*-* pj*-*-* xgate-*-* +#xfail: [is_generic] # 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 32740855f2..59043b2983 100644 --- a/ld/testsuite/ld-elf/group8a.d +++ b/ld/testsuite/ld-elf/group8a.d @@ -2,8 +2,7 @@ #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 diff --git a/ld/testsuite/ld-elf/group8b.d b/ld/testsuite/ld-elf/group8b.d index 9c6ad50e72..7de82ef515 100644 --- a/ld/testsuite/ld-elf/group8b.d +++ b/ld/testsuite/ld-elf/group8b.d @@ -2,8 +2,7 @@ #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 diff --git a/ld/testsuite/ld-elf/group9a.d b/ld/testsuite/ld-elf/group9a.d index 8246d0dc94..d2ec10c9f7 100644 --- a/ld/testsuite/ld-elf/group9a.d +++ b/ld/testsuite/ld-elf/group9a.d @@ -2,8 +2,7 @@ #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 diff --git a/ld/testsuite/ld-elf/group9b.d b/ld/testsuite/ld-elf/group9b.d index 66a1732087..df7f57626b 100644 --- a/ld/testsuite/ld-elf/group9b.d +++ b/ld/testsuite/ld-elf/group9b.d @@ -2,8 +2,7 @@ #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 diff --git a/ld/testsuite/ld-elf/linkonce2.d b/ld/testsuite/ld-elf/linkonce2.d index 66d553497a..0822ef5f86 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 -#xfail: d30v-*-* dlx-*-* pj*-*-* xgate-*-* +#xfail: [is_generic] # generic elf targets don't emit relocs .*: file format .* diff --git a/ld/testsuite/ld-elf/merge.d b/ld/testsuite/ld-elf/merge.d index dc0bcc50cc..9a1ddfce17 100644 --- a/ld/testsuite/ld-elf/merge.d +++ b/ld/testsuite/ld-elf/merge.d @@ -4,7 +4,7 @@ #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.* diff --git a/ld/testsuite/ld-elf/merge2.d b/ld/testsuite/ld-elf/merge2.d index 0a7faa7b56..500ac77041 100644 --- a/ld/testsuite/ld-elf/merge2.d +++ b/ld/testsuite/ld-elf/merge2.d @@ -1,7 +1,7 @@ #source: merge2.s #ld: -T merge.ld #objdump: -s -#xfail: d30v-*-* dlx-*-* hppa64-*-* ip2k-*-* pj-*-* xgate-*-* +#xfail: [is_generic] hppa64-*-* ip2k-*-* .*: file format .*elf.* diff --git a/ld/testsuite/ld-elf/merge3.d b/ld/testsuite/ld-elf/merge3.d index 53dc3428d9..de6584ca88 100644 --- a/ld/testsuite/ld-elf/merge3.d +++ b/ld/testsuite/ld-elf/merge3.d @@ -1,7 +1,7 @@ #source: merge3.s #ld: -T merge.ld #objdump: -s -#xfail: d30v-*-* dlx-*-* hppa64-*-* ip2k-*-* pj-*-* xgate-*-* +#xfail: [is_generic] hppa64-*-* ip2k-*-* .*: file format .*elf.* diff --git a/ld/testsuite/ld-elf/orphan-10.d b/ld/testsuite/ld-elf/orphan-10.d index 2571c0e4ef..8ad71c8a66 100644 --- a/ld/testsuite/ld-elf/orphan-10.d +++ b/ld/testsuite/ld-elf/orphan-10.d @@ -1,8 +1,7 @@ #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 .* diff --git a/ld/testsuite/ld-elf/orphan-9.d b/ld/testsuite/ld-elf/orphan-9.d index 3d9e324463..27efb81d01 100644 --- a/ld/testsuite/ld-elf/orphan-9.d +++ b/ld/testsuite/ld-elf/orphan-9.d @@ -1,8 +1,7 @@ #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 .* diff --git a/ld/testsuite/ld-elf/orphan-region.d b/ld/testsuite/ld-elf/orphan-region.d index dd98320921..a6d4d642bc 100644 --- a/ld/testsuite/ld-elf/orphan-region.d +++ b/ld/testsuite/ld-elf/orphan-region.d @@ -1,9 +1,7 @@ #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 diff --git a/ld/testsuite/ld-elf/orphan.d b/ld/testsuite/ld-elf/orphan.d index 38af1fd634..cbd64fdd8d 100644 --- a/ld/testsuite/ld-elf/orphan.d +++ b/ld/testsuite/ld-elf/orphan.d @@ -1,8 +1,7 @@ #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 #... diff --git a/ld/testsuite/ld-elf/orphan3.d b/ld/testsuite/ld-elf/orphan3.d index 7c2e5128b4..af6ce25e0f 100644 --- a/ld/testsuite/ld-elf/orphan3.d +++ b/ld/testsuite/ld-elf/orphan3.d @@ -6,8 +6,8 @@ #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]+ diff --git a/ld/testsuite/ld-elf/pr12851.d b/ld/testsuite/ld-elf/pr12851.d index 0c42515d65..fe75caf43e 100644 --- a/ld/testsuite/ld-elf/pr12851.d +++ b/ld/testsuite/ld-elf/pr12851.d @@ -2,8 +2,7 @@ #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 #... diff --git a/ld/testsuite/ld-elf/pr12975.d b/ld/testsuite/ld-elf/pr12975.d index 927924c89b..054df31f19 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* 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 diff --git a/ld/testsuite/ld-elf/pr13177.d b/ld/testsuite/ld-elf/pr13177.d index 64d701631a..bc23650669 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* 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 diff --git a/ld/testsuite/ld-elf/pr13195.d b/ld/testsuite/ld-elf/pr13195.d index c0a7f31ecb..8a0f9bd805 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* 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 #... diff --git a/ld/testsuite/ld-elf/pr17550c.d b/ld/testsuite/ld-elf/pr17550c.d index c9c06d01ce..55749fc756 100644 --- a/ld/testsuite/ld-elf/pr17550c.d +++ b/ld/testsuite/ld-elf/pr17550c.d @@ -2,6 +2,6 @@ #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. diff --git a/ld/testsuite/ld-elf/pr17550d.d b/ld/testsuite/ld-elf/pr17550d.d index 3fbcb87dcb..3dd108d5c9 100644 --- a/ld/testsuite/ld-elf/pr17550d.d +++ b/ld/testsuite/ld-elf/pr17550d.d @@ -4,7 +4,7 @@ #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 diff --git a/ld/testsuite/ld-elf/pr17615.d b/ld/testsuite/ld-elf/pr17615.d index c4263664ee..6ab0d0e39e 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* 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 #... diff --git a/ld/testsuite/ld-elf/pr20528a.d b/ld/testsuite/ld-elf/pr20528a.d index 68ea140cb7..c45c650793 100644 --- a/ld/testsuite/ld-elf/pr20528a.d +++ b/ld/testsuite/ld-elf/pr20528a.d @@ -2,8 +2,7 @@ #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[ ]+.* diff --git a/ld/testsuite/ld-elf/pr20528b.d b/ld/testsuite/ld-elf/pr20528b.d index 5777c27518..c471d02acb 100644 --- a/ld/testsuite/ld-elf/pr20528b.d +++ b/ld/testsuite/ld-elf/pr20528b.d @@ -2,8 +2,7 @@ #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[ ]+.* diff --git a/ld/testsuite/ld-elf/pr21562a.d b/ld/testsuite/ld-elf/pr21562a.d index 5a80357993..c36dd3c7ca 100644 --- a/ld/testsuite/ld-elf/pr21562a.d +++ b/ld/testsuite/ld-elf/pr21562a.d @@ -1,7 +1,7 @@ #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 #... diff --git a/ld/testsuite/ld-elf/pr21562b.d b/ld/testsuite/ld-elf/pr21562b.d index b875c0f320..a751f2ee5d 100644 --- a/ld/testsuite/ld-elf/pr21562b.d +++ b/ld/testsuite/ld-elf/pr21562b.d @@ -1,7 +1,7 @@ #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 #... diff --git a/ld/testsuite/ld-elf/pr21562c.d b/ld/testsuite/ld-elf/pr21562c.d index a551c34442..4dc4b7fbf5 100644 --- a/ld/testsuite/ld-elf/pr21562c.d +++ b/ld/testsuite/ld-elf/pr21562c.d @@ -2,7 +2,7 @@ #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 #... diff --git a/ld/testsuite/ld-elf/pr21562d.d b/ld/testsuite/ld-elf/pr21562d.d index 674938df05..5323b49fb9 100644 --- a/ld/testsuite/ld-elf/pr21562d.d +++ b/ld/testsuite/ld-elf/pr21562d.d @@ -2,7 +2,7 @@ #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 #... diff --git a/ld/testsuite/ld-elf/pr21562i.d b/ld/testsuite/ld-elf/pr21562i.d index fb75243785..ccdebede28 100644 --- a/ld/testsuite/ld-elf/pr21562i.d +++ b/ld/testsuite/ld-elf/pr21562i.d @@ -2,7 +2,7 @@ #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 #... diff --git a/ld/testsuite/ld-elf/pr21562j.d b/ld/testsuite/ld-elf/pr21562j.d index 42ca86ed2c..97eee51c3f 100644 --- a/ld/testsuite/ld-elf/pr21562j.d +++ b/ld/testsuite/ld-elf/pr21562j.d @@ -2,7 +2,7 @@ #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 #... diff --git a/ld/testsuite/ld-elf/pr21562k.d b/ld/testsuite/ld-elf/pr21562k.d index 2c64e2b0ef..21d78973c9 100644 --- a/ld/testsuite/ld-elf/pr21562k.d +++ b/ld/testsuite/ld-elf/pr21562k.d @@ -2,7 +2,7 @@ #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 #... diff --git a/ld/testsuite/ld-elf/pr21562l.d b/ld/testsuite/ld-elf/pr21562l.d index 7222611110..2233c66d1c 100644 --- a/ld/testsuite/ld-elf/pr21562l.d +++ b/ld/testsuite/ld-elf/pr21562l.d @@ -2,7 +2,7 @@ #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 #... diff --git a/ld/testsuite/ld-elf/pr21562m.d b/ld/testsuite/ld-elf/pr21562m.d index 917b2ca065..62d2949d06 100644 --- a/ld/testsuite/ld-elf/pr21562m.d +++ b/ld/testsuite/ld-elf/pr21562m.d @@ -2,7 +2,7 @@ #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 #... diff --git a/ld/testsuite/ld-elf/pr21562n.d b/ld/testsuite/ld-elf/pr21562n.d index 881db3deea..5b4a3261c2 100644 --- a/ld/testsuite/ld-elf/pr21562n.d +++ b/ld/testsuite/ld-elf/pr21562n.d @@ -2,7 +2,7 @@ #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 #... diff --git a/ld/testsuite/ld-elf/pr22677.d b/ld/testsuite/ld-elf/pr22677.d index 38e2be1898..49af52a415 100644 --- a/ld/testsuite/ld-elf/pr22677.d +++ b/ld/testsuite/ld-elf/pr22677.d @@ -2,8 +2,7 @@ #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?.* diff --git a/ld/testsuite/ld-elf/pr22836-1a.d b/ld/testsuite/ld-elf/pr22836-1a.d index fbfd8d9d11..03aa8cc198 100644 --- a/ld/testsuite/ld-elf/pr22836-1a.d +++ b/ld/testsuite/ld-elf/pr22836-1a.d @@ -1,7 +1,7 @@ #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\. diff --git a/ld/testsuite/ld-elf/pr22836-1b.d b/ld/testsuite/ld-elf/pr22836-1b.d index ca7d3f0839..c2dc75e068 100644 --- a/ld/testsuite/ld-elf/pr22836-1b.d +++ b/ld/testsuite/ld-elf/pr22836-1b.d @@ -1,7 +1,7 @@ #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\. diff --git a/ld/testsuite/ld-elf/pr23658-1a.d b/ld/testsuite/ld-elf/pr23658-1a.d index 5cfc7d2791..0757cc40a2 100644 --- a/ld/testsuite/ld-elf/pr23658-1a.d +++ b/ld/testsuite/ld-elf/pr23658-1a.d @@ -7,8 +7,8 @@ #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. diff --git a/ld/testsuite/ld-elf/pr23658-1b.d b/ld/testsuite/ld-elf/pr23658-1b.d index a8e7d16f49..7ffe658746 100644 --- a/ld/testsuite/ld-elf/pr23658-1b.d +++ b/ld/testsuite/ld-elf/pr23658-1b.d @@ -7,8 +7,7 @@ #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|) + diff --git a/ld/testsuite/ld-elf/pr349.d b/ld/testsuite/ld-elf/pr349.d index 3354df2200..2864653535 100644 --- a/ld/testsuite/ld-elf/pr349.d +++ b/ld/testsuite/ld-elf/pr349.d @@ -2,8 +2,7 @@ #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 #... diff --git a/ld/testsuite/ld-elf/sec64k.exp b/ld/testsuite/ld-elf/sec64k.exp index 783d9ee017..f7be0342bb 100644 --- a/ld/testsuite/ld-elf/sec64k.exp +++ b/ld/testsuite/ld-elf/sec64k.exp @@ -29,19 +29,15 @@ if ![is_elf_format] { # 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 } diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp index f27fa2401d..820570084a 100644 --- a/ld/testsuite/ld-elf/shared.exp +++ b/ld/testsuite/ld-elf/shared.exp @@ -358,14 +358,14 @@ run_ld_link_tests [list \ ] "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. diff --git a/ld/testsuite/ld-elf/warn1.d b/ld/testsuite/ld-elf/warn1.d index ac5d207145..a5b88761c0 100644 --- a/ld/testsuite/ld-elf/warn1.d +++ b/ld/testsuite/ld-elf/warn1.d @@ -4,8 +4,8 @@ #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. diff --git a/ld/testsuite/ld-elf/warn2.d b/ld/testsuite/ld-elf/warn2.d index b952e84e63..3319fa7d8b 100644 --- a/ld/testsuite/ld-elf/warn2.d +++ b/ld/testsuite/ld-elf/warn2.d @@ -4,10 +4,9 @@ #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. diff --git a/ld/testsuite/ld-elf/warn3.d b/ld/testsuite/ld-elf/warn3.d index 5b55654970..3015cf5353 100644 --- a/ld/testsuite/ld-elf/warn3.d +++ b/ld/testsuite/ld-elf/warn3.d @@ -2,7 +2,7 @@ #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 diff --git a/ld/testsuite/ld-scripts/align.exp b/ld/testsuite/ld-scripts/align.exp index 4f3e8a7753..3fc3d12fdc 100644 --- a/ld/testsuite/ld-scripts/align.exp +++ b/ld/testsuite/ld-scripts/align.exp @@ -54,6 +54,6 @@ if ![is_aout_format] { 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 } diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp index 5ebb7fa35f..f4d6707de9 100644 --- a/ld/testsuite/lib/ld-lib.exp +++ b/ld/testsuite/lib/ld-lib.exp @@ -479,7 +479,10 @@ proc run_ld_link_tests { ldtests args } { } foreach target $args { - setup_xfail $target + if [match_target $target] { + setup_xfail "*-*-*" + break + } } set ld_options [lindex $testitem 1] @@ -672,9 +675,6 @@ proc run_ld_link_exec_tests { ldtests args } { } 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] @@ -693,6 +693,13 @@ proc run_ld_link_exec_tests { ldtests args } { 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" @@ -1081,8 +1088,20 @@ proc check_gc_sections_available { } { 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-*-*"] @@ -1095,9 +1114,9 @@ proc is_generic_elf { } { || [istarget "mt-*-*"] || [istarget "pj*-*-*"] || [istarget "xgate-*-*"] } { - return 1; + return 1 } - return 0; + return 0 } proc is_underscore_target { } { -- 2.34.1