A little additional info:
PPC darwin8 (if configured --enable-tls --enable-threads) fails the
check_effective_target_{tls, tls_runtime, tls_native} with a compiler
ICE
viz, for example:
tls_native7888.c:3: internal compiler error: in
rs6000_legitimize_tls_address, at config/rs6000/rs6000.c:4080
if configured (--enable-threads, or default) it behaves as described
previously.
On 9 Dec 2008, at 19:14, Richard Henderson wrote:
... is the problem one of SPECs ?
I don't think so, unless we can key off -pthread or something.
one could conceive of making the TLS emulation specific with, say "-
femulate-tls" (for those platforms that require it).
.. or does every single TLS case need a darwin-specific addition
to reference -lgcc_eh ?
We can add that via tls.exp.
This needs to be included from places like libgomp - and possibly
others.
I guess I'm also concerned about how one communicates this "need" to
end-users.
Presumably, one should ideally use the version in libgcc_s.1?
There are also a whole other bunch of things in libgcc_eh (or
libgcc_s.1) which, ultimately, leads to a worry about different parts
of the same code ending up linked against different versions of the lib.
.. I guess also that target-supports.exp would need some
modification to account for this...
Yes, that would require changes.
OK, thanks,
Iain