PR ld/20828: Relax symbol ordering in tests

Complement commit 81ff47b3a5 ("PR ld/20828: Fix linker script symbols
wrongly forced local with section GC") and make tests check for the
presence of global `_fdata' and `_edata' symbols separately, removing
any dependency on symbol table ordering for tests to succeed and
removing:

FAIL: PR ld/20828 dynamic symbols with section GC (auxiliary shared library)
FAIL: PR ld/20828 dynamic symbols with section GC (plain)

failures with the `x86_64-solaris2' target, which has additional
intervening entries:

Symbol table '.dynsym' contains 6 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT    1 _fdata
     2: 0000000000000000     0 OBJECT  GLOBAL DEFAULT    1 _DYNAMIC
     3: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS _PROCEDURE_LINKAGE_TABLE_
     4: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT    1 _edata
     5: 00000000000001b8     0 OBJECT  GLOBAL DEFAULT    4 _GLOBAL_OFFSET_TABLE_

Rename dump pattern files accordingly for consistency.

	ld/
	PR ld/20828
	* testsuite/ld-elf/pr20828-1.sd: Remove test.
	* testsuite/ld-elf/pr20828-a.sd: New test.
	* testsuite/ld-elf/pr20828-2a.sd: Rename test to...
	* testsuite/ld-elf/pr20828-b.sd: ... this.
	* testsuite/ld-elf/pr20828-2b.sd: Rename test to...
	* testsuite/ld-elf/pr20828-c.sd: ... this.
	* testsuite/ld-elf/shared.exp: Adjust accordingly.
This commit is contained in:
Maciej W. Rozycki 2017-01-23 11:18:33 +00:00
parent 9966f7eece
commit adcbdc63e5
5 changed files with 18 additions and 8 deletions

View File

@ -1,3 +1,14 @@
2017-01-23 Maciej W. Rozycki <macro@imgtec.com>
PR ld/20828
* testsuite/ld-elf/pr20828-1.sd: Remove test.
* testsuite/ld-elf/pr20828-a.sd: New test.
* testsuite/ld-elf/pr20828-2a.sd: Rename test to...
* testsuite/ld-elf/pr20828-b.sd: ... this.
* testsuite/ld-elf/pr20828-2b.sd: Rename test to...
* testsuite/ld-elf/pr20828-c.sd: ... this.
* testsuite/ld-elf/shared.exp: Adjust accordingly.
2017-01-23 Jiong Wang <jiong.wang@arm.com>
* testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Append

View File

@ -1,12 +1,9 @@
# Make sure symbols are global rather than local in the dynamic symbol table,
# Make sure `_fdata' is global rather than local in the dynamic symbol table,
# e.g.:
# Num: Value Size Type Bind Vis Ndx Name
# 1: 00000000 0 NOTYPE GLOBAL DEFAULT 1 _fdata
# 2: 00000000 0 NOTYPE GLOBAL DEFAULT 1 _edata
# vs:
# 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 _fdata
# 2: 00000000 0 NOTYPE LOCAL DEFAULT 1 _edata
#...
*[0-9]+: +[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_fdata
*[0-9]+: +[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_edata
#pass

View File

@ -57,14 +57,16 @@ if { [check_gc_sections_available] } {
(auxiliary shared library)" \
"$LFLAGS -shared --gc-sections -T pr20828.ld" "" "$AFLAGS_PIC" \
{pr20828.s} \
{{readelf --dyn-syms pr20828-1.sd}} \
{{readelf --dyn-syms pr20828-a.sd} \
{readelf --dyn-syms pr20828-b.sd}} \
"libpr20828.so"] \
[list \
"PR ld/20828 dynamic symbols with section GC (plain)" \
"$LFLAGS -shared --gc-sections -T pr20828.ld" \
"tmpdir/libpr20828.so" "$AFLAGS_PIC" \
{pr20828.s} \
{{readelf --dyn-syms pr20828-1.sd}} \
{{readelf --dyn-syms pr20828-a.sd} \
{readelf --dyn-syms pr20828-b.sd}} \
"pr20828-1.so"] \
[list \
"PR ld/20828 dynamic symbols with section GC (version script)" \
@ -73,8 +75,8 @@ if { [check_gc_sections_available] } {
"tmpdir/libpr20828.so" \
"$AFLAGS_PIC" \
{pr20828.s} \
{{readelf --dyn-syms pr20828-2a.sd} \
{readelf --dyn-syms pr20828-2b.sd}} \
{{readelf --dyn-syms pr20828-b.sd} \
{readelf --dyn-syms pr20828-c.sd}} \
"pr20828-2.so"]]
}