http://sourceware.org/bugzilla/show_bug.cgi?id=13671
Bug #: 13671 Summary: gld creates i386 relocations not supported by Solaris ld.so.1 Product: binutils Version: 2.22 Status: NEW Severity: normal Priority: P2 Component: ld AssignedTo: unassig...@sourceware.org ReportedBy: r...@techfak.uni-bielefeld.de Classification: Unclassified Host: i386-pc-solaris2* Target: i386-pc-solaris2* Build: i386-pc-solaris2* Recently, Solaris/x86 gcc bootstrap with gas, gld, and Go support included started to fail when the Go backend, go1, couldn't be executed: ld.so.1: go1: fatal: relocation error: R_386_UNKNOWN37: file /var/gcc/regression/trunk/10-gcc-gas-gld/build/gcc/go1: symbol _ZSt15__once_callable: offset size (0 bytes) is not supported gccgo: internal compiler error: Killed (program go1) In <sys/elf_386.h>, I find that R_386_UNKNOWN37 is R_386_TLS_TPOFF32, which is not supported even on Solaris 11. This relocation is not in the input objects. In <sys/elf_386.h> I find the following correspondance: #define R_386_UNKNOWN24 24 R_386_TLS_GD_32 #define R_386_UNKNOWN25 25 R_386_TLS_GD_PUSH #define R_386_UNKNOWN26 26 R_386_TLS_GD_CALL #define R_386_UNKNOWN27 27 R_386_TLS_GD_POP #define R_386_UNKNOWN28 28 R_386_TLS_LDM_32 #define R_386_UNKNOWN29 29 R_386_TLS_LDM_PUSH #define R_386_UNKNOWN30 30 R_386_TLS_LDM_CALL #define R_386_UNKNOWN31 31 R_386_TLS_LDM_POP #define R_386_UNKNOWN33 33 R_386_TLS_IE_32 #define R_386_UNKNOWN34 34 R_386_TLS_LE_32 #define R_386_UNKNOWN37 37 R_386_TLS_TPOFF32 If I read bfd/elf32-i386.c correctly, only the last three can be generated by gld on its own. Given that Solaris ld.so.1 cannot handle them, they shouldn't be generated when targetting Solaris/x86. Rainer -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- 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