mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-21 02:24:17 +08:00
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.
This commit is contained in:
13
ld/testsuite/ld-elf/pr24718-1.d
Normal file
13
ld/testsuite/ld-elf/pr24718-1.d
Normal file
@ -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
|
7
ld/testsuite/ld-elf/pr24718-1.s
Normal file
7
ld/testsuite/ld-elf/pr24718-1.s
Normal file
@ -0,0 +1,7 @@
|
||||
.text
|
||||
.globl foo
|
||||
.globl foo
|
||||
.type foo,%function
|
||||
foo:
|
||||
.byte 0
|
||||
.size foo, 1
|
4
ld/testsuite/ld-elf/pr24718-1.t
Normal file
4
ld/testsuite/ld-elf/pr24718-1.t
Normal file
@ -0,0 +1,4 @@
|
||||
FOO_DEP { };
|
||||
FOO {
|
||||
foo;
|
||||
};
|
Reference in New Issue
Block a user