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
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to