PATCH: PR 414: Linker crashes with mixed TLS/non-TLS symbols
Alan Modra
amodra@bigpond.net.au
Fri Oct 1 11:43:00 GMT 2004
On Thu, Sep 30, 2004 at 06:31:06PM -0700, H. J. Lu wrote:
> On Wed, Sep 29, 2004 at 10:21:11PM +0200, Christian Joensson wrote:
> > Is this patch related also to the tls problems on sparc/sparc64?
>
> I don't know.
The patch introduced some new sparc failures, which I've just fixed.
I've also fixed one of the sparc failures that has been around for quite
a while. The remaining failure,
BFD 2.15.92 20041001 assertion fail /src/binutils-current/bfd/elf32-sparc.c:2485
tmpdir/tlssunnopic32.o: probably compiled without -fPIC?
final link failed: Bad value
FAIL: TLS -fno-pic -shared
is a result of Jakub's patch to reduce section symbols. tlssunnopic32.s
references _GLOBAL_OFFSET_TABLE_ as follows:
.hidden _GLOBAL_OFFSET_TABLE_
sethi %hi(_GLOBAL_OFFSET_TABLE_), %l1
or %l1, %lo(_GLOBAL_OFFSET_TABLE_), %l1
The linker wants to reduce the relocs to a section symbol since
_GLOBAL_OFFSET_TABLE is marked hidden, ie. local, but the .got section
symbol has been removed. I don't know enough about sparc to know
whether this failure is important, or to decide which of several
possible solutions is correct.
--
Alan Modra
IBM OzLabs - Linux Technology Centre
More information about the Binutils
mailing list