https://sourceware.org/bugzilla/show_bug.cgi?id=21233
--- Comment #2 from James Cowgill <james410 at cowgill dot org.uk> ---
This appears to be strongly related to PR/20828.
I managed to reduce it down to this:
$ cat alpha-lib.c
void alpha(void) {}
$ cat main.c
void alpha(void);
void beta(void) { alpha(); }
$ gcc -shared alpha-lib.c -o alpha-lib.so
$ gcc -c main.c
$ ld -o broken --gc-sections main.o -u alpha alpha-lib.so
Using an old binutils (2.27.90.20170124) without the fix for PR/20828 produces
an invalid dyn-sym table:
Symbol table '.dynsym' contains 10 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
1: 0000000000000001 0 SECTION GLOBAL DEFAULT ABS _DYNAMIC_LINKING
2: 0000000120010518 0 NOTYPE GLOBAL DEFAULT 8 _edata
3: 00000001200104f0 0 NOTYPE GLOBAL DEFAULT 7 _fdata
4: 00000001200104f0 0 OBJECT GLOBAL DEFAULT 7 __RLD_MAP
5: 0000000120010518 0 NOTYPE GLOBAL DEFAULT 8 _end
6: 0000000120010518 0 NOTYPE GLOBAL DEFAULT 8 __bss_start
7: 00000001200004db 0 NOTYPE GLOBAL DEFAULT 6 _ftext
8: 0000000120010518 0 NOTYPE GLOBAL DEFAULT 8 _fbss
9: 0000000000000000 0 FUNC LOCAL DEFAULT UND alpha
Using 2.28 crashes with the aforementioned assertion fail:
ld: BFD (GNU Binutils for Debian) 2.28 assertion fail
../../bfd/elfxx-mips.c:3861
--
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