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.
This commit is contained in:
Jim Wilson 2018-01-09 10:08:47 -08:00
parent 91d8b67066
commit 74ccf6db11
3 changed files with 26 additions and 4 deletions

View File

@ -1,3 +1,11 @@
2018-01-09 Jim Wilson <jimw@sifive.com>
* 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 <jimw@sifive.com>
* testsuite/ld-riscv-elf/c-lui.d: Don't use -shared. Check for _start

View File

@ -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

View File

@ -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]
}