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.
+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
+++ /dev/null
-# Make sure symbols are 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
+++ /dev/null
-# Make sure `_edata' 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 _edata
-# vs:
-# 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 _edata
-#...
- *[0-9]+: +[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_edata
-#pass
+++ /dev/null
-# Make sure no `_fdata' is present in the dynamic symbol table, e.g.:
-# Num: Value Size Type Bind Vis Ndx Name
-# 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 _fdata
-#failif
-#...
-.+ +_fdata
-#pass
--- /dev/null
+# 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
+# vs:
+# 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 _fdata
+#...
+ *[0-9]+: +[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_fdata
+#pass
--- /dev/null
+# Make sure `_edata' 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 _edata
+# vs:
+# 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 _edata
+#...
+ *[0-9]+: +[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +[0-9]+ +_edata
+#pass
--- /dev/null
+# Make sure no `_fdata' is present in the dynamic symbol table, e.g.:
+# Num: Value Size Type Bind Vis Ndx Name
+# 1: 00000000 0 NOTYPE LOCAL DEFAULT 1 _fdata
+#failif
+#...
+.+ +_fdata
+#pass
(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)" \
"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"]]
}