https://sourceware.org/bugzilla/show_bug.cgi?id=17975
--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> --- A NULL STT_FILE symbol is useful here: [hjl@gnu-6 pr17975]$ cat foo.s .data foo: .dc.a bar [hjl@gnu-6 pr17975]$ cat bar.s .data foo: .dc.a bar [hjl@gnu-6 pr17975]$ cat global.s .data .hidden foo .global foo foo: .dc.a bar [hjl@gnu-6 pr17975]$ make hidden.so as -o foo.o foo.s as -o bar.o bar.s as -o global.o global.s ./ld -shared -o hidden.so foo.o bar.o global.o readelf -sW hidden.so Symbol table '.dynsym' contains 6 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000000002002f0 0 SECTION LOCAL DEFAULT 7 2: 0000000000200308 0 NOTYPE GLOBAL DEFAULT 7 __bss_start 3: 0000000000200308 0 NOTYPE GLOBAL DEFAULT 7 _edata 4: 0000000000200308 0 NOTYPE GLOBAL DEFAULT 7 _end 5: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND bar Symbol table '.symtab' contains 20 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000000000000e8 0 SECTION LOCAL DEFAULT 1 2: 0000000000000118 0 SECTION LOCAL DEFAULT 2 3: 00000000000001a8 0 SECTION LOCAL DEFAULT 3 4: 00000000000001c8 0 SECTION LOCAL DEFAULT 4 5: 0000000000000210 0 SECTION LOCAL DEFAULT 5 6: 0000000000200210 0 SECTION LOCAL DEFAULT 6 7: 00000000002002f0 0 SECTION LOCAL DEFAULT 7 8: 0000000000000000 0 FILE LOCAL DEFAULT ABS foo.o 9: 00000000002002f0 0 NOTYPE LOCAL DEFAULT 7 foo 10: 0000000000000000 0 FILE LOCAL DEFAULT ABS bar.o 11: 00000000002002f8 0 NOTYPE LOCAL DEFAULT 7 foo 12: 0000000000000000 0 FILE LOCAL DEFAULT ABS 13: 0000000000200210 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC 14: 0000000000200300 0 NOTYPE LOCAL DEFAULT 7 foo 15: 00000000002002f0 0 OBJECT LOCAL DEFAULT 7 _GLOBAL_OFFSET_TABLE_ 16: 0000000000200308 0 NOTYPE GLOBAL DEFAULT 7 __bss_start 17: 0000000000200308 0 NOTYPE GLOBAL DEFAULT 7 _edata 18: 0000000000200308 0 NOTYPE GLOBAL DEFAULT 7 _end 19: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND bar [hjl@gnu-6 pr17975]$ But not here [hjl@gnu-6 pr17975]$ make lib.so ./ld -shared -o lib.so foo.o bar.o readelf -sW lib.so Symbol table '.dynsym' contains 6 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000000002002d8 0 SECTION LOCAL DEFAULT 7 2: 00000000002002e8 0 NOTYPE GLOBAL DEFAULT 7 __bss_start 3: 00000000002002e8 0 NOTYPE GLOBAL DEFAULT 7 _edata 4: 00000000002002e8 0 NOTYPE GLOBAL DEFAULT 7 _end 5: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND bar Symbol table '.symtab' contains 19 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000000000000e8 0 SECTION LOCAL DEFAULT 1 2: 0000000000000118 0 SECTION LOCAL DEFAULT 2 3: 00000000000001a8 0 SECTION LOCAL DEFAULT 3 4: 00000000000001c8 0 SECTION LOCAL DEFAULT 4 5: 00000000000001f8 0 SECTION LOCAL DEFAULT 5 6: 00000000002001f8 0 SECTION LOCAL DEFAULT 6 7: 00000000002002d8 0 SECTION LOCAL DEFAULT 7 8: 0000000000000000 0 FILE LOCAL DEFAULT ABS foo.o 9: 00000000002002d8 0 NOTYPE LOCAL DEFAULT 7 foo 10: 0000000000000000 0 FILE LOCAL DEFAULT ABS bar.o 11: 00000000002002e0 0 NOTYPE LOCAL DEFAULT 7 foo 12: 0000000000000000 0 FILE LOCAL DEFAULT ABS 13: 00000000002001f8 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC 14: 00000000002002d8 0 OBJECT LOCAL DEFAULT 7 _GLOBAL_OFFSET_TABLE_ 15: 00000000002002e8 0 NOTYPE GLOBAL DEFAULT 7 __bss_start 16: 00000000002002e8 0 NOTYPE GLOBAL DEFAULT 7 _edata 17: 00000000002002e8 0 NOTYPE GLOBAL DEFAULT 7 _end 18: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND bar [hjl@gnu-6 pr17975]$ -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils