https://sourceware.org/bugzilla/show_bug.cgi?id=21074
Bug ID: 21074 Summary: [2.28 Regression] bfd ld stumbles over duplicated symbols generated by gold Product: binutils Version: 2.28 Status: NEW Severity: normal Priority: P2 Component: gold Assignee: ccoutant at gmail dot com Reporter: doko at debian dot org CC: ian at airs dot com Target Milestone: --- [forwarded from https://bugs.debian.org/852035] """ When the gold linker is used, it sometimes generates duplicated symbols. It's not something new, and can be seen for example in qtbase-opensource-src 5.7.1+dfsg-2: 1081: 00000000004caf88 0 NOTYPE GLOBAL DEFAULT ABS __bss_start@Qt_5 1082: 00000000004caf88 0 NOTYPE GLOBAL DEFAULT ABS __bss_start@Qt_5 Note that bfd doesn't generate duplicated with the same command line beside the -fuse-ld=gold. This used to not be a problem with both gold and bfd. However the upstream commit eb3908448b , which first appeared in binutils 2.27.51.20161231-1, causes this symbols to become relocatable. This can be seen in qtbase-opensource-src 5.7.1+dfsg-3: 1081: 00000000004caf88 0 NOTYPE GLOBAL DEFAULT 19 __bss_start@Qt_5 1082: 00000000004caf88 0 NOTYPE GLOBAL DEFAULT 19 __bss_start@Qt_5 This in turn causes bfd to fail to link binaries against libQt5Core.so or libQt5Gui.so, for example when building libqapt (see [1] for a full build log): /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start' /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `_edata' /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.7.1:(*IND*+0x0): multiple definition of `_end' /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start' /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `__bss_start' /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_edata' /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_edata' /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_end' /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.7.1:(*IND*+0x0): multiple definition of `_end' Note however that having duplicated symbols doesn't cause a problem to gold, only to bfd. I don't really know how this should be fixed, either bfd should accept duplicated symbols, or gold should stop generating them. """ -- 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