This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [glibc] nptl: Add missing placeholder abi symbol from nanosleep move
- From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: libc-alpha at sourceware dot org
- Date: Thu, 7 Nov 2019 14:15:18 -0300
- Subject: Re: [glibc] nptl: Add missing placeholder abi symbol from nanosleep move
- References: <20191107165125.39308.qmail@sourceware.org> <87lfsrbp9o.fsf@oldenburg2.str.redhat.com>
On 07/11/2019 13:54, Florian Weimer wrote:
> * Adhemerval Zanella:
>
>> https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4f4bb489e0ddd2f24b2a5d352bb39f8dcdb38050
>>
>> commit 4f4bb489e0ddd2f24b2a5d352bb39f8dcdb38050
>> Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
>> Date: Thu Nov 7 15:10:35 2019 +0000
>>
>> nptl: Add missing placeholder abi symbol from nanosleep move
>>
>> Adds the __libpthread_version_placeholder symbol with the same version
>> of nanosleep/__nanosleep that was removed by 79a547b162657b3f and that
>> is not provided by other symbols.
>
>> +GLIBC_2.2 __libpthread_version_placeholder F
>
> Sorry, this fix does not look correct to me. Since GLIBC_2.2 has
> members (and we can easily detect that), it should not get an additional
> placeholder symbol.
>
> I think you need to add a symbol alias and another compat_symbol to
> nptl/libpthread-compat.c.
It is not strictly incorrect, although superfluous. Ideally we would need
to add __libpthread_version_placeholder iff there is no other symbol with
same version already present, however I don't see straightforward to optimize
the symbol creation without adding some compat symbol hacking.
Is there a way to force linker to add the .gnu.version_d from the linker
version map without actually requiring the add this place holder symbol?