aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@imgtec.com>2017-01-23 11:18:33 +0000
committerMaciej W. Rozycki <macro@imgtec.com>2017-01-23 11:24:21 +0000
commitadcbdc63e5ccf663dacc8493cec63a95b653285e (patch)
tree38309a8f75f41b734d8bd1fc1b7062e0f8b3e0a3 /ld
parent9966f7eece39ced8a09c190616b5b328bf97bfe5 (diff)
downloadgdb-adcbdc63e5ccf663dacc8493cec63a95b653285e.zip
gdb-adcbdc63e5ccf663dacc8493cec63a95b653285e.tar.gz
gdb-adcbdc63e5ccf663dacc8493cec63a95b653285e.tar.bz2
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.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog11
-rw-r--r--ld/testsuite/ld-elf/pr20828-a.sd (renamed from ld/testsuite/ld-elf/pr20828-1.sd)5
-rw-r--r--ld/testsuite/ld-elf/pr20828-b.sd (renamed from ld/testsuite/ld-elf/pr20828-2a.sd)0
-rw-r--r--ld/testsuite/ld-elf/pr20828-c.sd (renamed from ld/testsuite/ld-elf/pr20828-2b.sd)0
-rw-r--r--ld/testsuite/ld-elf/shared.exp10
5 files changed, 18 insertions, 8 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 3461444..89f4766 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -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
diff --git a/ld/testsuite/ld-elf/pr20828-1.sd b/ld/testsuite/ld-elf/pr20828-a.sd
index c47eb1d..c24e5ad 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
index c4b239b..c4b239b 100644
--- a/ld/testsuite/ld-elf/pr20828-2a.sd
+++ b/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
index 8089c48..8089c48 100644
--- a/ld/testsuite/ld-elf/pr20828-2b.sd
+++ b/ld/testsuite/ld-elf/pr20828-c.sd
diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp
index 8f1f166..65b632f 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"]]
}