[Bug libstdc++/58142] _pthread_tsd_cleanup called before destructors are called

2019-03-01 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58142 Eric Gallager changed: What|Removed |Added See Also||https://gcc.gnu.org/bugzill

[Bug libstdc++/58142] _pthread_tsd_cleanup called before destructors are called

2019-02-06 Thread drikosev at gmail dot com
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

[Bug libstdc++/58142] _pthread_tsd_cleanup called before destructors are called

2019-02-05 Thread redi at gcc dot gnu.org
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).

[Bug libstdc++/58142] _pthread_tsd_cleanup called before destructors are called

2019-02-05 Thread drikosev at gmail dot com
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

[Bug libstdc++/58142] _pthread_tsd_cleanup called before destructors are called

2019-02-04 Thread iains at gcc dot gnu.org
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

[Bug libstdc++/58142] _pthread_tsd_cleanup called before destructors are called

2019-02-04 Thread iains at gcc dot gnu.org
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

[Bug libstdc++/58142] _pthread_tsd_cleanup called before destructors are called

2019-02-04 Thread redi at gcc dot gnu.org
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

[Bug libstdc++/58142] _pthread_tsd_cleanup called before destructors are called

2019-02-04 Thread iains at gcc dot gnu.org
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

[Bug libstdc++/58142] _pthread_tsd_cleanup called before destructors are called

2019-02-04 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58142 Jonathan Wakely changed: What|Removed |Added CC||iains at gcc dot gnu.org Comp