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.
This commit is contained in:
Maciej W. Rozycki 2016-05-04 01:46:10 +01:00
parent 945e0f82da
commit c3fbf828ad
3 changed files with 19 additions and 2 deletions

View 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.

View file

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

View 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
}