aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@imgtec.com>2016-05-04 01:46:10 +0100
committerMaciej W. Rozycki <macro@imgtec.com>2016-05-04 15:27:06 +0100
commitc3fbf828add04de391d40883e4bdaf51500300d1 (patch)
tree56c24f744aebed1d56dbfcd0b08a8453922a230f
parent945e0f82dad31db89a107b496532886fe215c011 (diff)
downloadgdb-c3fbf828add04de391d40883e4bdaf51500300d1.zip
gdb-c3fbf828add04de391d40883e4bdaf51500300d1.tar.gz
gdb-c3fbf828add04de391d40883e4bdaf51500300d1.tar.bz2
LD/testsuite: Add STB_GNU_UNIQUE cross-linker test
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.
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/testsuite/ld-unique/unique.d9
-rw-r--r--ld/testsuite/ld-unique/unique.exp6
3 files changed, 19 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 8549baa..5fae3c0 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -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
index 0000000..73c939b
--- /dev/null
+++ b/ld/testsuite/ld-unique/unique.d
@@ -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
diff --git a/ld/testsuite/ld-unique/unique.exp b/ld/testsuite/ld-unique/unique.exp
index c632a92..a34bc4c 100644
--- a/ld/testsuite/ld-unique/unique.exp
+++ b/ld/testsuite/ld-unique/unique.exp
@@ -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
}