https://sourceware.org/bugzilla/show_bug.cgi?id=18288
Cary Coutant <ccoutant at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |ASSIGNED Summary|linker -s output suboptimal |gold does not handle common | |symbols in shared libraries | |correctly --- Comment #20 from Cary Coutant <ccoutant at gmail dot com> --- The library libopendbx.so has an allocated common symbol: 24: 0000000000203090 1 COMMON GLOBAL DEFAULT 23 __gnu_lto_v1 (This is a marker symbol emitted by GCC during LTO.) Gold is doing two things wrong here: (1) It's processing the symbol from the shared library as a normal common symbol, and trying to allocate a 1-byte common block with alignment of 0x203090. Instead, we should simply treat the symbol as a regular defined symbol. (2) In mistakenly taking the symbol's address as a requested alignment, we end up with some weird address layout because the alignment is not a multiple of the page size. That results in the unusually large alignment of the .bss section, and also results in the internal error in set_offset reported in the more recent comments. -- 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