From adcbdc63e5ccf663dacc8493cec63a95b653285e Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Mon, 23 Jan 2017 11:18:33 +0000 Subject: [PATCH] PR ld/20828: Relax symbol ordering in tests Complement commit 81ff47b3a546 ("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. --- ld/ChangeLog | 11 +++++++++++ ld/testsuite/ld-elf/{pr20828-1.sd => pr20828-a.sd} | 5 +---- ld/testsuite/ld-elf/{pr20828-2a.sd => pr20828-b.sd} | 0 ld/testsuite/ld-elf/{pr20828-2b.sd => pr20828-c.sd} | 0 ld/testsuite/ld-elf/shared.exp | 10 ++++++---- 5 files changed, 18 insertions(+), 8 deletions(-) rename ld/testsuite/ld-elf/{pr20828-1.sd => pr20828-a.sd} (53%) rename ld/testsuite/ld-elf/{pr20828-2a.sd => pr20828-b.sd} (100%) rename ld/testsuite/ld-elf/{pr20828-2b.sd => pr20828-c.sd} (100%) diff --git a/ld/ChangeLog b/ld/ChangeLog index 34614442a5c..89f4766481e 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,14 @@ +2017-01-23 Maciej W. Rozycki + + 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 * testsuite/lib/ld-lib.exp (run_ld_link_exec_tests): Append diff --git a/ld/testsuite/ld-elf/pr20828-1.sd b/ld/testsuite/ld-elf/pr20828-a.sd similarity index 53% rename from ld/testsuite/ld-elf/pr20828-1.sd rename to ld/testsuite/ld-elf/pr20828-a.sd index c47eb1d60cf..c24e5ad583c 100644 --- a/ld/testsuite/ld-elf/pr20828-1.sd +++ b/ld/testsuite/ld-elf/pr20828-a.sd @@ -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 diff --git a/ld/testsuite/ld-elf/pr20828-2a.sd b/ld/testsuite/ld-elf/pr20828-b.sd similarity index 100% rename from ld/testsuite/ld-elf/pr20828-2a.sd rename to ld/testsuite/ld-elf/pr20828-b.sd diff --git a/ld/testsuite/ld-elf/pr20828-2b.sd b/ld/testsuite/ld-elf/pr20828-c.sd similarity index 100% rename from ld/testsuite/ld-elf/pr20828-2b.sd rename to ld/testsuite/ld-elf/pr20828-c.sd diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp index 8f1f1668c2e..65b632f05f9 100644 --- a/ld/testsuite/ld-elf/shared.exp +++ b/ld/testsuite/ld-elf/shared.exp @@ -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"]] } -- 2.30.2