------- Comment #18 from dave at hiauly1 dot hia dot nrc dot ca 2008-12-12 15:04 ------- Subject: Re: Intermitent failure "FAIL: libgomp.fortran/crayptr2.f90"
> I assume I am using emutls since I see... > > nm crayptr2.exe | grep emut > 00001cd0 t ___emutls_get_address > 00001c90 t ___emutls_register_common > 00002014 d ___emutls_v.ip.1499 > 00001f10 t _emutls_destroy > 00001ed0 t _emutls_init > 00002090 b _emutls_key > 00002040 d _emutls_mutex > 00002094 b _emutls_size > > I'll try a build of current gcc trunk with your patch and see if it helps. I probably was too quick to close this PR. The emutls support in darwin's libgcc is botched. The routines are present in libgcc_eh.a but not in the shared libraries. As I understand the situation from the gcc list, the Apple darwin maintainers oppose the addition of emutls support to the shared libgcc libraries. The emutls support is licensed under GPLv2, so that shouldn't block adoption. However, Apple may still want to provide its own TLS support. On the other hand, Apple is phasing out use of gcc. So, the issue of control might be something the steering committee should discuss. >From my perspective, most of the support and testing of the darwin port in recent months has come from non-Apple developpers. I think the only way forward is to disable TLS support on darwin in gcc 4.3 and 4.4. Probably, a new PR should be created for this. Any testcases that use TLS and lack a "dg-require-effective-target tls_runtime" comment need updating. Those changes are obvious. Dave -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35677