https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58142
Eric Gallager changed:
What|Removed |Added
See Also||https://gcc.gnu.org/bugzill
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58142
--- Comment #10 from Ev Drikos ---
(In reply to Jonathan Wakely from comment #9)
> ...
I'm not sure either. But I've confirmed in macOS (10.13) the following simple
hack.
If the routine that initialises the Emulated TLS created two keys and the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58142
--- Comment #9 from Jonathan Wakely ---
Yes, it's almost certainly not specific to OS X, but will affect other targets
without __cxa_thread_atexit or __cxa_thread_atexit_impl in libc (possibly only
ones with emulated TLS, I'm not sure).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58142
--- Comment #8 from Ev Drikos ---
(In reply to Iain Sandoe from comment #4)
> ...
>
> A quick look says that __cxa_thread_atexit exists in libc from Darwin13,
> macOS 10.9 / Mavericks onwards.
> ...
This is a very thorough analysis that essenti
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58142
--- Comment #7 from Iain Sandoe ---
(In reply to Iain Sandoe from comment #6)
> I'd need to see what dyld is actually implementing for
> tlv_atexit.
Seems to be layered on top of pthread_get/set_specific - so, in principle, we
could do something
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58142
--- Comment #6 from Iain Sandoe ---
So .. I had a look in the sources for libc.
cxa_thread_atexit is implemented as a wrapper function that calls _tlv_atexit
(provided in lib/system/libdyld.dylib, which is part of the umbrella
"libSystem" which i
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58142
--- Comment #5 from Jonathan Wakely ---
Thanks (and thanks Ev. Drikos for the update).
I'm tempted to close this either FIXED or WONTFIX then. I don't think fixing it
is really possible for older versions of Darwin so not much point keeping the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58142
--- Comment #4 from Iain Sandoe ---
(In reply to Jonathan Wakely from comment #3)
> I think it's still open because nobody has looked at it again recently, not
> because of any conscious decision.
>
> I'm changing the component to libstdc++ as t
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58142
Jonathan Wakely changed:
What|Removed |Added
CC||iains at gcc dot gnu.org
Comp