https://sourceware.org/bugzilla/show_bug.cgi?id=18703
--- Comment #1 from Cary Coutant <ccoutant at gmail dot com> ---
You're looking at the linker symbol table with nm. (And nm does not show
versioning information from the .gnu.version* sections.)
When I build this with gold, readelf -Vs shows:
Symbol table '.dynsym' contains 13 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000000000 0 NOTYPE WEAK DEFAULT UND __gmon_start__
2: 0000000000000000 0 NOTYPE WEAK DEFAULT UND
_ITM_deregisterTMCloneTab
3: 0000000000000000 0 FUNC WEAK DEFAULT UND
__cxa_finalize@GLIBC_2.2.5 (3)
4: 0000000000000000 0 NOTYPE WEAK DEFAULT UND
_ITM_registerTMCloneTable
5: 0000000000000000 0 NOTYPE WEAK DEFAULT UND _Jv_RegisterClasses
6: 00000000000006f5 11 FUNC GLOBAL DEFAULT 12 foo@@VERS_1.1
7: 0000000000002018 0 NOTYPE GLOBAL DEFAULT ABS _edata
8: 0000000000002019 0 NOTYPE GLOBAL DEFAULT ABS _end
9: 00000000000005c0 0 FUNC GLOBAL DEFAULT 10 _init
10: 0000000000002018 0 NOTYPE GLOBAL DEFAULT ABS __bss_start
11: 0000000000000700 0 FUNC GLOBAL DEFAULT 13 _fini
12: 0000000000000000 0 OBJECT GLOBAL DEFAULT ABS VERS_1.1
...
Version symbols section '.gnu.version' contains 13 entries:
Addr: 0000000000000458 Offset: 0x000458 Link: 2 (.dynsym)
000: 0 (*local*) 0 (*local*) 0 (*local*) 3 (GLIBC_2.2.5)
004: 0 (*local*) 0 (*local*) 2 (VERS_1.1) 1 (*global*)
008: 1 (*global*) 1 (*global*) 1 (*global*) 1 (*global*)
00c: 2 (VERS_1.1)
Version definition section '.gnu.version_d' contains 2 entries:
Addr: 0x0000000000000474 Offset: 0x000474 Link: 3 (.dynstr) 000000: Rev: 1
Flags: BASE Index: 1 Cnt: 1 Name: ver1.so
0x001c: Rev: 1 Flags: none Index: 2 Cnt: 1 Name: VERS_1.1
Version needs section '.gnu.version_r' contains 1 entries:
Addr: 0x00000000000004ac Offset: 0x0004ac Link: 3 (.dynstr)
000000: Version: 1 File: libc.so.6 Cnt: 1
0x0010: Name: GLIBC_2.2.5 Flags: none Version: 3
I think this is working as intended, although comparing with Gnu ld output, I
see that gold defines it as a default version ("@@") where Gnu ld does not. I'm
not sure what the logic ought to be for that. Without the __asm__ in the .c
file, Gnu ld also makes it a default version.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils