This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 1/3] nptl: Move nanosleep implementation to libc
On 06/11/2019 10:24, Florian Weimer wrote:
> * Adhemerval Zanella:
>
>> On 06/11/2019 10:04, Florian Weimer wrote:
>>> * Adhemerval Zanella:
>>>
>>>> diff --git a/nptl/Versions b/nptl/Versions
>>>> index adbd4fa589..92291bf49e 100644
>>>> --- a/nptl/Versions
>>>> +++ b/nptl/Versions
>>>
>>>> - GLIBC_2.2.6 {
>>>> - # Cancellation wrapper
>>>> - __nanosleep;
>>>> - }
>>>
>>> Sorry, this change is not correct because it removes the GLIBC_2.2.6
>>> symbol version. Old programs will fail to load as a result, not due to
>>> the missing __nanosleep@@GLIBC_2.2.6 (we removed that check, and the
>>> symbol in libc is sufficient), but due to the overall GLIBC_2.2.6 check
>>> for libpthread. You can use __libpthread_version_placeholder as a stub
>>> symbol to keep that version alive.
>>>
>>> Thanks,
>>> Florian
>>>
>>
>> Indeed, I forgot about the absolute GLIBC_2.2.6 mark. I changed it to use
>>
>> GLIBC_2.2.6 {
>> __libpthread_version_placeholder;
>> }
>>
>> And added a commit message comment.
>
> I think you also need to update nptl/libpthread-compat.c, so that there
> is actually a symbol at that version.
I will check for all affected ABI, but I think there is no need. In fact
I am not sure if Joseph rationale at b289cd9db8286fa6c670104dd5dfcfc68d5d00d6
is currently true, we now need at least one absolute ABI symbol in at least
one library.