aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <jimw@sifive.com>2018-01-09 10:08:47 -0800
committerJim Wilson <jimw@sifive.com>2018-01-09 10:08:47 -0800
commit74ccf6db1188b7b05c716f8382d28b276ec578ec (patch)
treeb0197e0e104473cc54396b47546ad2cf78374dcc
parent91d8b670661883fc0472fd05cf0e54d0e357c187 (diff)
downloadfsf-binutils-gdb-74ccf6db1188b7b05c716f8382d28b276ec578ec.zip
fsf-binutils-gdb-74ccf6db1188b7b05c716f8382d28b276ec578ec.tar.gz
fsf-binutils-gdb-74ccf6db1188b7b05c716f8382d28b276ec578ec.tar.bz2
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.
-rw-r--r--ld/ChangeLog8
-rw-r--r--ld/testsuite/ld-elf/eh-frame-hdr.d4
-rw-r--r--ld/testsuite/lib/ld-lib.exp18
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 <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
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]
}