[PATCH] Fix quick_exit to match C++11 specification.
Florian Weimer
fweimer@redhat.com
Wed Jun 8 19:41:00 GMT 2016
On 06/08/2016 09:19 PM, Carlos O'Donell wrote:
> On 06/07/2016 09:48 AM, Florian Weimer wrote:
>> On 06/07/2016 03:17 PM, Carlos O'Donell wrote:
>>
>>>> I also do not see compelling reason to provide a compat symbol this
>>>> specific issue. The destruction handles are registered only with
>>>> __cxa_thread_atexit_impl and it is used only for thread_local on
>>>> C++. And C++ definition on quick_exit stated that it does not
>>>> run the TLS destructors, so a program that relies on it is just
>>>> expecting a non-conforming implementation behaviour.
>>>
>>> The problem is that we've had a quick_exit that runs thread local
>>> destructors since glibc 2.10 (2009),
>>
>> How so? You only changed behavior for the 2.18 TLS dtor support added here:
>
> You are absolutely right.
>
> In which case it's only 3 years of usage.
Or non-usage. I don't think there are many users. In Fedora rawhide,
the only reference is in some auto-generated wrapper code in the smokeqt
package.
>> commit ba384f6ed9275f3966505f2375b56d169e3dc588
>> Author: Siddhesh Poyarekar <siddhesh@redhat.com>
>> Date: Mon Feb 18 19:08:21 2013 +0530
>>
>> C++11 thread_local destructors support
>>
>> I don't see how your change makes a different for the libstdc++ approximation.
>>
>> What am I missing?
>
> Nothing.
>
> * Is 3 years enough usage to justify a compat symbol?
As I tried to explain, it's unclear where to put the compat symbol.
> * Is the cost of the compat symbol and long term maintenance
> worth the benefit to our users?
I doubt it, every additional symbol makes dynamic linking a tiny bit slower.
Florian
More information about the Libc-alpha
mailing list