This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix quick_exit to match C++11 specification.


On 06/07/2016 08:02 AM, Adhemerval Zanella wrote:
> 
> 
> On 07/06/2016 06:56, Carlos O'Donell wrote:
>> On 06/07/2016 05:27 AM, Florian Weimer wrote:
>>> On 06/07/2016 09:50 AM, Carlos O'Donell wrote:
>>>
>>>>> I put âcorrectâ in scare quotes because I'm not convinced that we'd
>>>>> need a compat symbol at all for this (but if we do, it probably
>>>>> should be put on the registration, storing a flag along with callback
>>>>> registration data).
>>>>
>>>> What do we gain by this?
>>>
>>> I don't think it matters.  I think the compat symbol is overkill.
>>
>> That is a fine opinion to have.
>>
>> Thanks for being open to explaining your position.
>>
> 
> 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), so that means 7 years of applications
having the wrong behaviour, testing with the wrong behaviour, and maybe
even relying on the wrong behaviour to shutdown certain objects in the
event of a quick_exit call.

Therefore to be conservative I versioned the interface for those old
binaries. It feels a bit like overkill, but I also think we've been a bit
cavalier lately and should version more often.

-- 
Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]