Add explicit shared check to eh-frame-hdr test.
authorJim Wilson <jimw@sifive.com>
Tue, 9 Jan 2018 18:08:47 +0000 (10:08 -0800)
committerJim Wilson <jimw@sifive.com>
Tue, 9 Jan 2018 18:08:47 +0000 (10:08 -0800)
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
ld/testsuite/ld-elf/eh-frame-hdr.d
ld/testsuite/lib/ld-lib.exp

index 19ff34e46fc62574579cc4373458abc4a21f6bbf..0545b6a29ce84872039b353462eaf445549b9ffa 100644 (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
index 08b12d865f2319a4715d8cb078f686df97422b74..12e79f49155e53668ea926b894619a7bf7a4aa07 100644 (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
index bfbc30d600ccbb425d5af05150429b3396a44862..52baf0b04ce24592318d79db43105cc02df9e81c 100644 (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]
 }