[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/13671] New: gld creates i386 relocations not supported by Solari
From: |
ro at TechFak dot Uni-Bielefeld.DE |
Subject: |
[Bug ld/13671] New: gld creates i386 relocations not supported by Solaris ld.so.1 |
Date: |
Tue, 07 Feb 2012 18:27:44 +0000 |
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: address@hidden
ReportedBy: address@hidden
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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug ld/13671] New: gld creates i386 relocations not supported by Solaris ld.so.1,
ro at TechFak dot Uni-Bielefeld.DE <=