digitalmars.D.bugs - [Issue 18798] New: ld.gold: relocation R_386_GOTOFF against
- d-bugmail puremagic.com (34/34) Apr 25 2018 https://issues.dlang.org/show_bug.cgi?id=18798
https://issues.dlang.org/show_bug.cgi?id=18798 Issue ID: 18798 Summary: ld.gold: relocation R_386_GOTOFF against preemptible symbol cannot be used when making a shared object Product: D Version: D2 Hardware: x86 OS: Linux Status: NEW Keywords: dll Severity: normal Priority: P1 Component: dmd Assignee: nobody puremagic.com Reporter: Marco.Leise gmx.de When linking a 32-bit shared library with dmd and ld.gold on Linux the linker bails out with: /usr/x86_64-pc-linux-gnu/bin/ld: error: libgtkd-3.o: relocation R_386_GOTOFF against preemptible symbol _D3gtk9UIManagerQk9getWidgetMFAyaZCQBh6WidgetQh cannot be used when making a shared object /usr/x86_64-pc-linux-gnu/bin/ld: error: libgtkd-3.o: relocation R_386_GOTOFF against preemptible symbol _D3std3uni__T21genericDecodeGraphemeVbi0Z__TQBfTAxaZQBnFNaNfKQnZv cannot be used when making a shared object /usr/x86_64-pc-linux-gnu/bin/ld: error: libgtkd-3.o: relocation R_386_GOTOFF against preemptible symbol _D3std3uni__T21genericDecodeGraphemeVbi0Z__TQBfTAxaZQBnFNaNfKQnZv cannot be used when making a shared object Using ldc2 or gdc as compilers it seems to work, so I assume it is a dmd backend issue. Just the other day a bug in ld.gold got fixed that prevented --ifc=safe to work (e.g. when self-hosting ldc2), --gc-sections got fixed in dmd earlier and this is now the only remaining linker compatibility issue I see on Linux. --
Apr 25 2018