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

Reply via email to