TLS on x86-64 question..
Andreas Jaeger
aj@suse.de
Fri Sep 5 09:58:00 GMT 2003
If I compile the following small program on x86-64 (with either GCC
3.3 CVS, GCC 3.3 hammer-branch CVS or 3.4 CVS) I get the following
error:
$ /opt/gcc/3.3-devel/bin/gcc -g -c tls.c -o tls.o -fPIC -ftls-model=local-exec
$ /opt/gcc/3.3-devel/bin/gcc -g -o tls.so -shared tls.o
/usr/bin/ld: tls.o: relocation R_X86_64_TPOFF32 can not be used when making a shared object; recompile with -fPIC
tls.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
The program is:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
static __thread int foo;
int getTLSVar(void)
{
return foo;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This works fine on other platforms, e.g. i386.
Jakub, any ideas on this one?
Andreas
--
Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj
SuSE Linux AG, Deutschherrnstr. 15-19, 90429 Nürnberg, Germany
GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20030905/ff5e1c6a/attachment.sig>
More information about the Binutils
mailing list