aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2022-01-24 08:20:13 -0800
committerH.J. Lu <hjl.tools@gmail.com>2022-01-31 14:04:33 -0800
commit4bed253f22c9bb9b0823a78f310afeff4f25bb40 (patch)
treead1c7fec323513f087d2caf6f28d7ce2deb77703 /ld
parente1dbfc17c5305eef8f021c1baa703151bffc1490 (diff)
downloadgdb-4bed253f22c9bb9b0823a78f310afeff4f25bb40.zip
gdb-4bed253f22c9bb9b0823a78f310afeff4f25bb40.tar.gz
gdb-4bed253f22c9bb9b0823a78f310afeff4f25bb40.tar.bz2
elf: Check symbol version without any symbols
VER_FLG_WEAK doesn't indicate that all symbol references of the symbol version have STB_WEAK. VER_FLG_WEAK indicates a weak symbol version definition with no symbols associated with it. It is used to verify the existence of a particular implementation without any symbol references to the weak symbol version. PR ld/24718 * testsuite/ld-elf/pr24718-1.d: New file. * testsuite/ld-elf/pr24718-1.s: Likewise. * testsuite/ld-elf/pr24718-1.t: Likewise.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ld-elf/pr24718-1.d13
-rw-r--r--ld/testsuite/ld-elf/pr24718-1.s7
-rw-r--r--ld/testsuite/ld-elf/pr24718-1.t4
3 files changed, 24 insertions, 0 deletions
diff --git a/ld/testsuite/ld-elf/pr24718-1.d b/ld/testsuite/ld-elf/pr24718-1.d
new file mode 100644
index 0000000..d8257f5
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr24718-1.d
@@ -0,0 +1,13 @@
+#ld: -shared -version-script pr24718-1.t
+#readelf: -V
+#target: [check_shared_lib_support]
+#xfail: hppa64-*-* tic6x-*-*
+# hppa64 uses dot-symbols, tic6x requires a non-default emulation.
+
+#...
+Version definition section '\.gnu\.version_d' contains 3 entries:
+ +Addr: 0x[0-9a-f]+ +Offset: 0x[0-9a-f]+ +Link: [0-9]+ \(\.dynstr\)
+ +000000: Rev: 1 +Flags: BASE +Index: 1 +Cnt: 1 +Name: dump
+ +0x001c: Rev: 1 +Flags: WEAK +Index: 2 +Cnt: 1 +Name: FOO_DEP
+ +0x0038: Rev: 1 +Flags: none +Index: 3 +Cnt: 1 +Name: FOO
+#pass
diff --git a/ld/testsuite/ld-elf/pr24718-1.s b/ld/testsuite/ld-elf/pr24718-1.s
new file mode 100644
index 0000000..c7c9ee2
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr24718-1.s
@@ -0,0 +1,7 @@
+ .text
+ .globl foo
+ .globl foo
+ .type foo,%function
+foo:
+ .byte 0
+ .size foo, 1
diff --git a/ld/testsuite/ld-elf/pr24718-1.t b/ld/testsuite/ld-elf/pr24718-1.t
new file mode 100644
index 0000000..fcbeed6
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr24718-1.t
@@ -0,0 +1,4 @@
+FOO_DEP { };
+FOO {
+ foo;
+};