From 74ccf6db1188b7b05c716f8382d28b276ec578ec Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Tue, 9 Jan 2018 10:08:47 -0800 Subject: [PATCH] Add explicit shared check to eh-frame-hdr test. ld/ * testsuite/ld-elf/eh-frame-hdr.d (#xfail): Delete (#alltargets): Renamed from #target. Add shared. * testsuite/lib/ld-lib.exp (run_dump_test): Document shared target. Document alltargets option. Add support for alltargets option. (istarget): Add support for shared target. --- ld/ChangeLog | 8 ++++++++ ld/testsuite/ld-elf/eh-frame-hdr.d | 4 +--- ld/testsuite/lib/ld-lib.exp | 18 +++++++++++++++++- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 19ff34e..0545b6a 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,11 @@ +2018-01-09 Jim Wilson + + * testsuite/ld-elf/eh-frame-hdr.d (#xfail): Delete + (#alltargets): Renamed from #target. Add shared. + * testsuite/lib/ld-lib.exp (run_dump_test): Document shared target. + Document alltargets option. Add support for alltargets option. + (istarget): Add support for shared target. + 2018-01-08 Jim Wilson * testsuite/ld-riscv-elf/c-lui.d: Don't use -shared. Check for _start diff --git a/ld/testsuite/ld-elf/eh-frame-hdr.d b/ld/testsuite/ld-elf/eh-frame-hdr.d index 08b12d8..12e79f4 100644 --- a/ld/testsuite/ld-elf/eh-frame-hdr.d +++ b/ld/testsuite/ld-elf/eh-frame-hdr.d @@ -1,9 +1,7 @@ #source: eh-frame-hdr.s #ld: -e _start --eh-frame-hdr #objdump: -hw -#target: cfi -#xfail: avr*-*-* or1k*-*-elf or1k*-*-rtems* pru-*-* visium-*-* -# These targets support CFI generation but not shared libraries. +#alltargets: cfi shared #... [0-9] .eh_frame_hdr +0*[12][048c] .* #pass diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp index bfbc30d..52baf0b 100644 --- a/ld/testsuite/lib/ld-lib.exp +++ b/ld/testsuite/lib/ld-lib.exp @@ -519,7 +519,13 @@ proc ld_link_defsyms {} { # target: TARGET # Only run the test for TARGET. This may occur more than once; the # target being tested must match at least one. You may provide target -# name "cfi" for any target supporting the CFI statements. +# name "cfi" for any target supporting the CFI statements. You may +# provide target name "shared" for any target supporting shared +# libraries. +# +# alltargets: TARGET +# Only run the test for TARGET. This may occur more than once; the +# target being tested must match all of them. # # notarget: TARGET # Do not run the test for TARGET. This may occur more than once; @@ -599,6 +605,7 @@ proc run_dump_test { name {extra_options {}} } { set opts(ld_after_inputfiles) {} set opts(xfail) {} set opts(target) {} + set opts(alltargets) {} set opts(notarget) {} set opts(objdump) {} set opts(nm) {} @@ -628,6 +635,7 @@ proc run_dump_test { name {extra_options {}} } { switch -- $opt_name { xfail {} target {} + alltargets {} notarget {} warning {} error {} @@ -726,6 +734,11 @@ proc run_dump_test { name {extra_options {}} } { return } } + foreach targ $opts(alltargets) { + if ![istarget $targ] { + return + } + } foreach targ $opts(notarget) { if [istarget $targ] { return @@ -2152,6 +2165,9 @@ proc istarget { target } { if {$target == "cfi"} { return [check_as_cfi] } + if {$target == "shared"} { + return [check_shared_lib_support] + } return [istarget_ld $target] } -- 2.7.4