This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v32] Avoid cancellable I/O primitives in ld.so.
On Wed, Jun 6, 2018 at 4:38 PM, Adhemerval Zanella
<adhemerval.zanella@linaro.org> wrote:
> On 06/06/2018 17:28, Zack Weinberg wrote:
>> If I put these in libpthread-routines, they
>> will get the wrong treatment from nptl/Makefile, namely, they'll be
>> put into libpthread.a unnecessarily.
>>
>> ... Having said that, x86-64 at least doesn't export any _nocancel
>> functions from libpthread, which may mean we don't need these at all.
>> Will experiment and report back.
>>
>> zw
>
> The nocancel variants are used on libpthread symbols, not really to on
> wrappers:
>
> * __open64_nocancel, __read_nocancel, __write_nocancel, __close_nocancel
> are used on unix/sysv/linux/pthread_{get,set}name.c.
> * __pause_nocancel is used on nptl/pthread_mutex_lock.c.
> * __nanosleep_nocancel is used on nptl/pthread_mutex_timedlock.c.
They should be able to call the definitions in libc.so (possibly we
will need to add GLIBC_PRIVATE exports).
> I think adding them on libpthread-routines is exactly what we want.
Again, this will cause them to be unnecessarily included in libpthread.a.