This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] nptl: Remove unnecessary forwarding of pthread_cond_clockwait from libc
- From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: Mike Crowe <mac at mcrowe dot com>, libc-alpha at sourceware dot org
- Cc: Carlos O'Donell <carlos at redhat dot com>, Florian Weimer <fweimer at redhat dot com>
- Date: Tue, 16 Jul 2019 15:40:40 -0300
- Subject: Re: [PATCH] nptl: Remove unnecessary forwarding of pthread_cond_clockwait from libc
- References: <f81a4a85cd4f8ac913b649784208e6a2119e813b.1563287276.git-series.mac@mcrowe.com>
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>
> ---
> 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
>