[PATCH] nptl: Remove unnecessary forwarding of pthread_cond_clockwait from libc
Carlos O'Donell
carlos@redhat.com
Tue Jul 23 19:55:00 GMT 2019
On 7/16/19 2:40 PM, Adhemerval Zanella wrote:
>
>
> On 16/07/2019 11:29, Mike Crowe wrote:
>> In afe4de7d283ebd88157126c5494ce1796194c16e, I added forwarding functions
>> from libc to libpthread for __pthread_cond_clockwait and
>> pthread_cond_clockwait to mirror those for pthread_cond_timedwait. These
>> are unnecessary[1], since these functions aren't (yet) being called from
>> within libc itself. Let's remove them.
>>
>> * nptl/forward.c: Remove unnecessary __pthread_cond_clockwait and
>> pthread_cond_clockwait forwarding functions. There are no internal
>> users, so it is unnecessary to expose these functions in libc.so.
>> * sysdeps/nptl/pthread-functions.h (pthread_functions): Remove
>> unnecessary ptr___pthread_cond_clockwait member.
>> * nptl/nptl-init.c (pthread_functions): Remove assignment of
>> removed member.
>>
>> [1] https://sourceware.org/ml/libc-alpha/2017-10/msg00082.html
>
> LGTM, thanks. Sorry I missed it on my reviews. We will need an ack from
> Carlos to push it upstream in current release status.
>
> Reviwed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
>
Just double checking for myself that this is in place now. Thanks.
commit 4a8f6d3155e60c19158208ee14022f04c8b0334d
Author: Mike Crowe <mac@mcrowe.com>
Date: Wed Jul 17 14:51:08 2019 -0300
nptl: Remove unnecessary forwarding of pthread_cond_clockwait from libc
In afe4de7d283ebd88157126c5494ce1796194c16e, I added forwarding functions
from libc to libpthread for __pthread_cond_clockwait and
pthread_cond_clockwait to mirror those for pthread_cond_timedwait. These
are unnecessary[1], since these functions aren't (yet) being called from
within libc itself. Let's remove them.
* nptl/forward.c: Remove unnecessary __pthread_cond_clockwait and
pthread_cond_clockwait forwarding functions. There are no internal
users, so it is unnecessary to expose these functions in libc.so.
* sysdeps/nptl/pthread-functions.h (pthread_functions): Remove
unnecessary ptr___pthread_cond_clockwait member.
* nptl/nptl-init.c (pthread_functions): Remove assignment of
removed member.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
[1] https://sourceware.org/ml/libc-alpha/2017-10/msg00082.html
>> ---
>> ChangeLog | 10 ++++++++++
>> nptl/forward.c | 5 -----
>> nptl/nptl-init.c | 1 -
>> sysdeps/nptl/pthread-functions.h | 4 ----
>> 4 files changed, 10 insertions(+), 10 deletions(-)
>>
>> diff --git a/ChangeLog b/ChangeLog
>> index bd57a81..3d884f2 100644
>> --- a/ChangeLog
>> +++ b/ChangeLog
>> @@ -1,3 +1,13 @@
>> +2019-07-16 Mike Crowe <mac@mcrowe.com>
>> +
>> + * nptl/forward.c: Remove unnecessary __pthread_cond_clockwait and
>> + pthread_cond_clockwait forwarding functions. There are no internal
>> + users, so it is unnecessary to expose these functions in libc.so.
>> + * sysdeps/nptl/pthread-functions.h (pthread_functions): Remove
>> + unnecessary ptr___pthread_cond_clockwait member.
>> + * nptl/nptl-init.c (pthread_functions): Remove assignment of
>> + removed member.
>> +
>> 2019-07-12 Mike Crowe <mac@mcrowe.com>
>>
>> * nptl/pthread_cond_wait.c: (__pthread_cond_clockwait): Remove code
>> diff --git a/nptl/forward.c b/nptl/forward.c
>> index 50f358f..ed1e7d0 100644
>> --- a/nptl/forward.c
>> +++ b/nptl/forward.c
>> @@ -164,11 +164,6 @@ FORWARD (__pthread_cond_timedwait,
>> const struct timespec *abstime), (cond, mutex, abstime), 0)
>> versioned_symbol (libc, __pthread_cond_timedwait, pthread_cond_timedwait,
>> GLIBC_2_3_2);
>> -FORWARD (__pthread_cond_clockwait,
>> - (pthread_cond_t *cond, pthread_mutex_t *mutex, clockid_t clockid,
>> - const struct timespec *abstime), (cond, mutex, clockid, abstime),
>> - 0)
>> -weak_alias (__pthread_cond_clockwait, pthread_cond_clockwait);
>>
>>
>> FORWARD (pthread_equal, (pthread_t thread1, pthread_t thread2),
>> diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
>> index 9c2a3d7..73935f8 100644
>> --- a/nptl/nptl-init.c
>> +++ b/nptl/nptl-init.c
>> @@ -95,7 +95,6 @@ static const struct pthread_functions pthread_functions =
>> .ptr___pthread_cond_signal = __pthread_cond_signal,
>> .ptr___pthread_cond_wait = __pthread_cond_wait,
>> .ptr___pthread_cond_timedwait = __pthread_cond_timedwait,
>> - .ptr___pthread_cond_clockwait = __pthread_cond_clockwait,
>> # if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_3_2)
>> .ptr___pthread_cond_broadcast_2_0 = __pthread_cond_broadcast_2_0,
>> .ptr___pthread_cond_destroy_2_0 = __pthread_cond_destroy_2_0,
>> diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h
>> index cfa9660..cd5e94d 100644
>> --- a/sysdeps/nptl/pthread-functions.h
>> +++ b/sysdeps/nptl/pthread-functions.h
>> @@ -55,10 +55,6 @@ struct pthread_functions
>> int (*ptr___pthread_cond_wait) (pthread_cond_t *, pthread_mutex_t *);
>> int (*ptr___pthread_cond_timedwait) (pthread_cond_t *, pthread_mutex_t *,
>> const struct timespec *);
>> - int (*ptr___pthread_cond_clockwait) (pthread_cond_t *,
>> - pthread_mutex_t *,
>> - clockid_t,
>> - const struct timespec *);
>> int (*ptr___pthread_cond_broadcast_2_0) (pthread_cond_2_0_t *);
>> int (*ptr___pthread_cond_destroy_2_0) (pthread_cond_2_0_t *);
>> int (*ptr___pthread_cond_init_2_0) (pthread_cond_2_0_t *,
>>
>> base-commit: 1ff1373b3302e9e095dc4fd4d371451c00190780
>>
--
Cheers,
Carlos.
More information about the Libc-alpha
mailing list