LD/testsuite: Add STB_GNU_UNIQUE cross-linker test
authorMaciej W. Rozycki <macro@imgtec.com>
Wed, 4 May 2016 00:46:10 +0000 (01:46 +0100)
committerMaciej W. Rozycki <macro@imgtec.com>
Wed, 4 May 2016 14:27:06 +0000 (15:27 +0100)
Some targets are only really, or at least regularly, regression-tested
in a crossed configuration.  Currently we only have native compiled test
cases for the STB_GNU_UNIQUE feature in the linker test suite.  This is
nice, covering run-time semantics even, but quite often not run at all.
Consequently a regression may remain unnoticed for long.

Add a simple test case then to provide basic linker coverage with no
need for a compiler or a native toolchain.

ld/
* testsuite/ld-unique/unique.d: New test.
* testsuite/ld-unique/unique.exp: Run the new test.  Adjust
messages for compiled tests.

ld/ChangeLog
ld/testsuite/ld-unique/unique.d [new file with mode: 0644]
ld/testsuite/ld-unique/unique.exp

index 8549baa..5fae3c0 100644 (file)
@@ -1,3 +1,9 @@
+2016-05-04  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * testsuite/ld-unique/unique.d: New test.
+       * testsuite/ld-unique/unique.exp: Run the new test.  Adjust
+       messages for compiled tests.
+
 2016-05-04  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
 
        * testsuite/ld-elf/pr18735.d: Allow other symbols.
diff --git a/ld/testsuite/ld-unique/unique.d b/ld/testsuite/ld-unique/unique.d
new file mode 100644 (file)
index 0000000..73c939b
--- /dev/null
@@ -0,0 +1,9 @@
+#ld: -r
+#readelf: -sh
+#name: Linker setting GNU OSABI on STB_GNU_UNIQUE symbol (PR 10549)
+
+#...
+ *OS/ABI: +UNIX - GNU
+#...
+ *[0-9]+: +[0-9a-f]+ +[0-9]+ +OBJECT +UNIQUE +DEFAULT +[0-9]+ a
+#pass
index c632a92..a34bc4c 100644 (file)
@@ -42,19 +42,21 @@ if {!(([istarget "i?86-*-*"]
     return
 }
 
+run_dump_test "unique"
+
 # We need a native system.  FIXME: Strictly speaking this
 # is not true, we just need to know how to create a fully
 # linked executable, including the C and Z libraries, using
 # the linker that is under test.
 if ![isnative] {
-    verbose "UNIQUE tests not run - not a native toolchain"
+    verbose "UNIQUE compiled tests not run - not a native toolchain"
     return
 }
 
 # We need a working compiler.  (Strictly speaking this is
 # not true, we could use target specific assembler files).
 if { [which $CC] == 0 } {
-    verbose "UNIQUE tests not run - no compiler available"
+    verbose "UNIQUE compiled tests not run - no compiler available"
     return
 }