diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2022-01-24 08:20:13 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2022-01-31 14:04:33 -0800 |
commit | 4bed253f22c9bb9b0823a78f310afeff4f25bb40 (patch) | |
tree | ad1c7fec323513f087d2caf6f28d7ce2deb77703 /ld | |
parent | e1dbfc17c5305eef8f021c1baa703151bffc1490 (diff) | |
download | gdb-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.d | 13 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/pr24718-1.s | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/pr24718-1.t | 4 |
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; +}; |