[09/13] nptl: Move pthread_cond_destroy implementation into libc
Commit Message
It is necessary to export __pthread_cond_destroy from libc because
the C11 condition variable needs it and is still left in libpthread.
This is part of the libpthread removal project:
<https://sourceware.org/ml/libc-alpha/2019-10/msg00080.html>
---
nptl/Makefile | 6 ++++--
nptl/Versions | 6 ++++--
nptl/forward.c | 10 ----------
nptl/nptl-init.c | 2 --
nptl/old_pthread_cond_destroy.c | 4 ++--
nptl/pthreadP.h | 1 +
nptl/pthread_cond_destroy.c | 3 ++-
sysdeps/nptl/pthread-functions.h | 2 --
sysdeps/unix/sysv/linux/aarch64/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/alpha/libpthread.abilist | 2 --
sysdeps/unix/sysv/linux/arm/be/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/arm/le/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/csky/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/hppa/libpthread.abilist | 2 --
sysdeps/unix/sysv/linux/i386/libpthread.abilist | 2 --
sysdeps/unix/sysv/linux/ia64/libpthread.abilist | 2 --
.../unix/sysv/linux/m68k/coldfire/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist | 2 --
.../unix/sysv/linux/microblaze/be/libpthread.abilist | 1 -
.../unix/sysv/linux/microblaze/le/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist | 2 --
sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist | 2 --
sysdeps/unix/sysv/linux/nios2/libpthread.abilist | 1 -
.../sysv/linux/powerpc/powerpc32/libpthread.abilist | 2 --
.../sysv/linux/powerpc/powerpc64/be/libpthread.abilist | 2 --
.../sysv/linux/powerpc/powerpc64/le/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist | 1 -
.../unix/sysv/linux/s390/s390-32/libpthread.abilist | 2 --
.../unix/sysv/linux/s390/s390-64/libpthread.abilist | 2 --
sysdeps/unix/sysv/linux/sh/be/libpthread.abilist | 2 --
sysdeps/unix/sysv/linux/sh/le/libpthread.abilist | 2 --
.../unix/sysv/linux/sparc/sparc32/libpthread.abilist | 2 --
.../unix/sysv/linux/sparc/sparc64/libpthread.abilist | 2 --
sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist | 2 --
sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist | 1 -
35 files changed, 13 insertions(+), 64 deletions(-)
Comments
On 11/02/2020 08:06, Florian Weimer wrote:
> It is necessary to export __pthread_cond_destroy from libc because
> the C11 condition variable needs it and is still left in libpthread.
I think moving C11 threads to libc.so should be as simple as this patchset
as well.
>
> This is part of the libpthread removal project:
>
> <https://sourceware.org/ml/libc-alpha/2019-10/msg00080.html>
LGTM, thanks.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> ---
> nptl/Makefile | 6 ++++--
> nptl/Versions | 6 ++++--
> nptl/forward.c | 10 ----------
> nptl/nptl-init.c | 2 --
> nptl/old_pthread_cond_destroy.c | 4 ++--
> nptl/pthreadP.h | 1 +
> nptl/pthread_cond_destroy.c | 3 ++-
> sysdeps/nptl/pthread-functions.h | 2 --
> sysdeps/unix/sysv/linux/aarch64/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/alpha/libpthread.abilist | 2 --
> sysdeps/unix/sysv/linux/arm/be/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/arm/le/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/csky/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/hppa/libpthread.abilist | 2 --
> sysdeps/unix/sysv/linux/i386/libpthread.abilist | 2 --
> sysdeps/unix/sysv/linux/ia64/libpthread.abilist | 2 --
> .../unix/sysv/linux/m68k/coldfire/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist | 2 --
> .../unix/sysv/linux/microblaze/be/libpthread.abilist | 1 -
> .../unix/sysv/linux/microblaze/le/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist | 2 --
> sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist | 2 --
> sysdeps/unix/sysv/linux/nios2/libpthread.abilist | 1 -
> .../sysv/linux/powerpc/powerpc32/libpthread.abilist | 2 --
> .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist | 2 --
> .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist | 1 -
> .../unix/sysv/linux/s390/s390-32/libpthread.abilist | 2 --
> .../unix/sysv/linux/s390/s390-64/libpthread.abilist | 2 --
> sysdeps/unix/sysv/linux/sh/be/libpthread.abilist | 2 --
> sysdeps/unix/sysv/linux/sh/le/libpthread.abilist | 2 --
> .../unix/sysv/linux/sparc/sparc32/libpthread.abilist | 2 --
> .../unix/sysv/linux/sparc/sparc64/libpthread.abilist | 2 --
> sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist | 2 --
> sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist | 1 -
> 35 files changed, 13 insertions(+), 64 deletions(-)
>
> diff --git a/nptl/Makefile b/nptl/Makefile
> index b14a64e693..19f11a5c9a 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -36,6 +36,7 @@ routines = \
> libc-lowlevellock \
> libc_multiple_threads \
> libc_pthread_init \
> + old_pthread_cond_destroy \
> pthread_atfork \
> pthread_attr_destroy \
> pthread_attr_getdetachstate \
> @@ -49,6 +50,7 @@ routines = \
> pthread_attr_setschedparam \
> pthread_attr_setschedpolicy \
> pthread_attr_setscope \
> + pthread_cond_destroy \
> pthread_condattr_destroy \
> pthread_condattr_init \
> pthread_equal \
Ok.
> @@ -102,10 +104,10 @@ libpthread-routines = nptl-init nptlfreeres vars events version pt-interp \
> pthread_rwlockattr_setpshared \
> pthread_rwlockattr_getkind_np \
> pthread_rwlockattr_setkind_np \
> - pthread_cond_init pthread_cond_destroy \
> + pthread_cond_init \
> pthread_cond_wait \
> pthread_cond_signal pthread_cond_broadcast \
> - old_pthread_cond_init old_pthread_cond_destroy \
> + old_pthread_cond_init \
> old_pthread_cond_wait old_pthread_cond_timedwait \
> old_pthread_cond_signal old_pthread_cond_broadcast \
> pthread_condattr_getpshared pthread_condattr_setpshared \
Ok.
> diff --git a/nptl/Versions b/nptl/Versions
> index bc1bad0562..4dbe68d76c 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -39,6 +39,8 @@ libc {
> __libc_pthread_init;
> __libc_current_sigrtmin_private; __libc_current_sigrtmax_private;
> __libc_allocate_rtsig_private;
> + # Used by the C11 threads implementation.
> + __pthread_cond_destroy;
> }
> }
>
Ok.
> @@ -54,7 +56,7 @@ libpthread {
>
> pthread_mutexattr_init; pthread_mutexattr_destroy;
>
> - pthread_cond_init; pthread_cond_destroy;
> + pthread_cond_init;
> pthread_cond_wait; pthread_cond_timedwait;
> pthread_cond_signal; pthread_cond_broadcast;
>
Ok.
> @@ -193,7 +195,7 @@ libpthread {
>
> GLIBC_2.3.2 {
> # Changed pthread_cond_t.
> - pthread_cond_init; pthread_cond_destroy;
> + pthread_cond_init;
> pthread_cond_wait; pthread_cond_timedwait;
> pthread_cond_signal; pthread_cond_broadcast;
> }
Ok.
> diff --git a/nptl/forward.c b/nptl/forward.c
> index 9383ada753..3e1734854e 100644
> --- a/nptl/forward.c
> +++ b/nptl/forward.c
> @@ -66,16 +66,6 @@ FORWARD (__pthread_cond_broadcast, (pthread_cond_t *cond), (cond), 0)
> versioned_symbol (libc, __pthread_cond_broadcast, pthread_cond_broadcast,
> GLIBC_2_3_2);
>
> -#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)
> -FORWARD2 (__pthread_cond_destroy_2_0, int attribute_compat_text_section,
> - (pthread_cond_2_0_t *cond), (cond), return 0)
> -compat_symbol (libc, __pthread_cond_destroy_2_0, pthread_cond_destroy,
> - GLIBC_2_0);
> -#endif
> -FORWARD (__pthread_cond_destroy, (pthread_cond_t *cond), (cond), 0)
> -versioned_symbol (libc, __pthread_cond_destroy, pthread_cond_destroy,
> - GLIBC_2_3_2);
> -
> #if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)
> FORWARD2 (__pthread_cond_init_2_0, int attribute_compat_text_section,
> (pthread_cond_2_0_t *cond, const pthread_condattr_t *cond_attr),
Ok.
> diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
> index 563ab7b1e8..9e17a2be6d 100644
> --- a/nptl/nptl-init.c
> +++ b/nptl/nptl-init.c
> @@ -73,14 +73,12 @@ void __nptl_set_robust (struct pthread *);
> static const struct pthread_functions pthread_functions =
> {
> .ptr___pthread_cond_broadcast = __pthread_cond_broadcast,
> - .ptr___pthread_cond_destroy = __pthread_cond_destroy,
> .ptr___pthread_cond_init = __pthread_cond_init,
> .ptr___pthread_cond_signal = __pthread_cond_signal,
> .ptr___pthread_cond_wait = __pthread_cond_wait,
> .ptr___pthread_cond_timedwait = __pthread_cond_timedwait,
> # 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,
> .ptr___pthread_cond_init_2_0 = __pthread_cond_init_2_0,
> .ptr___pthread_cond_signal_2_0 = __pthread_cond_signal_2_0,
> .ptr___pthread_cond_wait_2_0 = __pthread_cond_wait_2_0,
Ok.
> diff --git a/nptl/old_pthread_cond_destroy.c b/nptl/old_pthread_cond_destroy.c
> index 46dad05d49..4996deceb8 100644
> --- a/nptl/old_pthread_cond_destroy.c
> +++ b/nptl/old_pthread_cond_destroy.c
> @@ -21,7 +21,7 @@
> #include <shlib-compat.h>
>
>
> -#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_3_2)
> +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)
> int
> __pthread_cond_destroy_2_0 (pthread_cond_2_0_t *cond)
> {
> @@ -30,6 +30,6 @@ __pthread_cond_destroy_2_0 (pthread_cond_2_0_t *cond)
>
> return 0;
> }
> -compat_symbol (libpthread, __pthread_cond_destroy_2_0, pthread_cond_destroy,
> +compat_symbol (libc, __pthread_cond_destroy_2_0, pthread_cond_destroy,
> GLIBC_2_0);
> #endif
Ok.
> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
> index 7e0ab8ef42..f348c75d90 100644
> --- a/nptl/pthreadP.h
> +++ b/nptl/pthreadP.h
> @@ -442,6 +442,7 @@ extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock);
> extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock);
> extern int __pthread_cond_broadcast (pthread_cond_t *cond);
> extern int __pthread_cond_destroy (pthread_cond_t *cond);
> +libc_hidden_proto (__pthread_cond_destroy)
> extern int __pthread_cond_init (pthread_cond_t *cond,
> const pthread_condattr_t *cond_attr);
> extern int __pthread_cond_signal (pthread_cond_t *cond);
Ok.
> diff --git a/nptl/pthread_cond_destroy.c b/nptl/pthread_cond_destroy.c
> index 168546574b..31034905d1 100644
> --- a/nptl/pthread_cond_destroy.c
> +++ b/nptl/pthread_cond_destroy.c
> @@ -58,5 +58,6 @@ __pthread_cond_destroy (pthread_cond_t *cond)
> /* The memory the condvar occupies can now be reused. */
> return 0;
> }
> -versioned_symbol (libpthread, __pthread_cond_destroy,
> +libc_hidden_def (__pthread_cond_destroy)
> +versioned_symbol (libc, __pthread_cond_destroy,
> pthread_cond_destroy, GLIBC_2_3_2);
Ok.
> diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h
> index 25c05bf4d8..ceb1cc631d 100644
> --- a/sysdeps/nptl/pthread-functions.h
> +++ b/sysdeps/nptl/pthread-functions.h
> @@ -31,7 +31,6 @@ struct xid_command;
> struct pthread_functions
> {
> int (*ptr___pthread_cond_broadcast) (pthread_cond_t *);
> - int (*ptr___pthread_cond_destroy) (pthread_cond_t *);
> int (*ptr___pthread_cond_init) (pthread_cond_t *,
> const pthread_condattr_t *);
> int (*ptr___pthread_cond_signal) (pthread_cond_t *);
> @@ -39,7 +38,6 @@ struct pthread_functions
> int (*ptr___pthread_cond_timedwait) (pthread_cond_t *, pthread_mutex_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 *,
> const pthread_condattr_t *);
> int (*ptr___pthread_cond_signal_2_0) (pthread_cond_2_0_t *);
Ok.
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index d5b247d1bd..6237b22222 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -86,7 +86,6 @@ GLIBC_2.17 pthread_barrierattr_init F
> GLIBC_2.17 pthread_barrierattr_setpshared F
> GLIBC_2.17 pthread_cancel F
> GLIBC_2.17 pthread_cond_broadcast F
> -GLIBC_2.17 pthread_cond_destroy F
> GLIBC_2.17 pthread_cond_init F
> GLIBC_2.17 pthread_cond_signal F
> GLIBC_2.17 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 391be30e38..be6e5dcd3d 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -46,7 +46,6 @@ GLIBC_2.0 pause F
> GLIBC_2.0 pthread_atfork F
> GLIBC_2.0 pthread_cancel F
> GLIBC_2.0 pthread_cond_broadcast F
> -GLIBC_2.0 pthread_cond_destroy F
> GLIBC_2.0 pthread_cond_init F
> GLIBC_2.0 pthread_cond_signal F
> GLIBC_2.0 pthread_cond_timedwait F
> @@ -206,7 +205,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 862b5d30be..3016511f3e 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -121,7 +121,6 @@ GLIBC_2.4 pthread_barrierattr_init F
> GLIBC_2.4 pthread_barrierattr_setpshared F
> GLIBC_2.4 pthread_cancel F
> GLIBC_2.4 pthread_cond_broadcast F
> -GLIBC_2.4 pthread_cond_destroy F
> GLIBC_2.4 pthread_cond_init F
> GLIBC_2.4 pthread_cond_signal F
> GLIBC_2.4 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 862b5d30be..3016511f3e 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -121,7 +121,6 @@ GLIBC_2.4 pthread_barrierattr_init F
> GLIBC_2.4 pthread_barrierattr_setpshared F
> GLIBC_2.4 pthread_cancel F
> GLIBC_2.4 pthread_cond_broadcast F
> -GLIBC_2.4 pthread_cond_destroy F
> GLIBC_2.4 pthread_cond_init F
> GLIBC_2.4 pthread_cond_signal F
> GLIBC_2.4 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 04559140c9..e33492d3d2 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -94,7 +94,6 @@ GLIBC_2.29 pthread_barrierattr_init F
> GLIBC_2.29 pthread_barrierattr_setpshared F
> GLIBC_2.29 pthread_cancel F
> GLIBC_2.29 pthread_cond_broadcast F
> -GLIBC_2.29 pthread_cond_destroy F
> GLIBC_2.29 pthread_cond_init F
> GLIBC_2.29 pthread_cond_signal F
> GLIBC_2.29 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index aa0c6d1da0..1ac88709aa 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -86,7 +86,6 @@ GLIBC_2.2 pthread_barrierattr_init F
> GLIBC_2.2 pthread_barrierattr_setpshared F
> GLIBC_2.2 pthread_cancel F
> GLIBC_2.2 pthread_cond_broadcast F
> -GLIBC_2.2 pthread_cond_destroy F
> GLIBC_2.2 pthread_cond_init F
> GLIBC_2.2 pthread_cond_signal F
> GLIBC_2.2 pthread_cond_timedwait F
> @@ -198,7 +197,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index b815b155b5..d9e2a3bf91 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -46,7 +46,6 @@ GLIBC_2.0 pause F
> GLIBC_2.0 pthread_atfork F
> GLIBC_2.0 pthread_cancel F
> GLIBC_2.0 pthread_cond_broadcast F
> -GLIBC_2.0 pthread_cond_destroy F
> GLIBC_2.0 pthread_cond_init F
> GLIBC_2.0 pthread_cond_signal F
> GLIBC_2.0 pthread_cond_timedwait F
> @@ -206,7 +205,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 283e0e6f9d..a2be53b8c5 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -86,7 +86,6 @@ GLIBC_2.2 pthread_barrierattr_init F
> GLIBC_2.2 pthread_barrierattr_setpshared F
> GLIBC_2.2 pthread_cancel F
> GLIBC_2.2 pthread_cond_broadcast F
> -GLIBC_2.2 pthread_cond_destroy F
> GLIBC_2.2 pthread_cond_init F
> GLIBC_2.2 pthread_cond_signal F
> GLIBC_2.2 pthread_cond_timedwait F
> @@ -198,7 +197,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 862b5d30be..3016511f3e 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -121,7 +121,6 @@ GLIBC_2.4 pthread_barrierattr_init F
> GLIBC_2.4 pthread_barrierattr_setpshared F
> GLIBC_2.4 pthread_cancel F
> GLIBC_2.4 pthread_cond_broadcast F
> -GLIBC_2.4 pthread_cond_destroy F
> GLIBC_2.4 pthread_cond_init F
> GLIBC_2.4 pthread_cond_signal F
> GLIBC_2.4 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index b815b155b5..d9e2a3bf91 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -46,7 +46,6 @@ GLIBC_2.0 pause F
> GLIBC_2.0 pthread_atfork F
> GLIBC_2.0 pthread_cancel F
> GLIBC_2.0 pthread_cond_broadcast F
> -GLIBC_2.0 pthread_cond_destroy F
> GLIBC_2.0 pthread_cond_init F
> GLIBC_2.0 pthread_cond_signal F
> GLIBC_2.0 pthread_cond_timedwait F
> @@ -206,7 +205,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index e1ffc40cd9..30fd457419 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -86,7 +86,6 @@ GLIBC_2.18 pthread_barrierattr_init F
> GLIBC_2.18 pthread_barrierattr_setpshared F
> GLIBC_2.18 pthread_cancel F
> GLIBC_2.18 pthread_cond_broadcast F
> -GLIBC_2.18 pthread_cond_destroy F
> GLIBC_2.18 pthread_cond_init F
> GLIBC_2.18 pthread_cond_signal F
> GLIBC_2.18 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index e1ffc40cd9..30fd457419 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -86,7 +86,6 @@ GLIBC_2.18 pthread_barrierattr_init F
> GLIBC_2.18 pthread_barrierattr_setpshared F
> GLIBC_2.18 pthread_cancel F
> GLIBC_2.18 pthread_cond_broadcast F
> -GLIBC_2.18 pthread_cond_destroy F
> GLIBC_2.18 pthread_cond_init F
> GLIBC_2.18 pthread_cond_signal F
> GLIBC_2.18 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 70169b45b4..2d5730fc8f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -46,7 +46,6 @@ GLIBC_2.0 pause F
> GLIBC_2.0 pthread_atfork F
> GLIBC_2.0 pthread_cancel F
> GLIBC_2.0 pthread_cond_broadcast F
> -GLIBC_2.0 pthread_cond_destroy F
> GLIBC_2.0 pthread_cond_init F
> GLIBC_2.0 pthread_cond_signal F
> GLIBC_2.0 pthread_cond_timedwait F
> @@ -205,7 +204,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 70169b45b4..2d5730fc8f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -46,7 +46,6 @@ GLIBC_2.0 pause F
> GLIBC_2.0 pthread_atfork F
> GLIBC_2.0 pthread_cancel F
> GLIBC_2.0 pthread_cond_broadcast F
> -GLIBC_2.0 pthread_cond_destroy F
> GLIBC_2.0 pthread_cond_init F
> GLIBC_2.0 pthread_cond_signal F
> GLIBC_2.0 pthread_cond_timedwait F
> @@ -205,7 +204,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 6baae4309c..94f6396182 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -86,7 +86,6 @@ GLIBC_2.21 pthread_barrierattr_init F
> GLIBC_2.21 pthread_barrierattr_setpshared F
> GLIBC_2.21 pthread_cancel F
> GLIBC_2.21 pthread_cond_broadcast F
> -GLIBC_2.21 pthread_cond_destroy F
> GLIBC_2.21 pthread_cond_init F
> GLIBC_2.21 pthread_cond_signal F
> GLIBC_2.21 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 0dd3739a03..62e8dba625 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -46,7 +46,6 @@ GLIBC_2.0 pause F
> GLIBC_2.0 pthread_atfork F
> GLIBC_2.0 pthread_cancel F
> GLIBC_2.0 pthread_cond_broadcast F
> -GLIBC_2.0 pthread_cond_destroy F
> GLIBC_2.0 pthread_cond_init F
> GLIBC_2.0 pthread_cond_signal F
> GLIBC_2.0 pthread_cond_timedwait F
> @@ -206,7 +205,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 8d4fa60131..ada466504c 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -106,7 +106,6 @@ GLIBC_2.3 pthread_barrierattr_init F
> GLIBC_2.3 pthread_barrierattr_setpshared F
> GLIBC_2.3 pthread_cancel F
> GLIBC_2.3 pthread_cond_broadcast F
> -GLIBC_2.3 pthread_cond_destroy F
> GLIBC_2.3 pthread_cond_init F
> GLIBC_2.3 pthread_cond_signal F
> GLIBC_2.3 pthread_cond_timedwait F
> @@ -196,7 +195,6 @@ GLIBC_2.3 system F
> GLIBC_2.3 tcdrain F
> GLIBC_2.3 write F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index d5b247d1bd..6237b22222 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -86,7 +86,6 @@ GLIBC_2.17 pthread_barrierattr_init F
> GLIBC_2.17 pthread_barrierattr_setpshared F
> GLIBC_2.17 pthread_cancel F
> GLIBC_2.17 pthread_cond_broadcast F
> -GLIBC_2.17 pthread_cond_destroy F
> GLIBC_2.17 pthread_cond_init F
> GLIBC_2.17 pthread_cond_signal F
> GLIBC_2.17 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index e3391617d6..30a1e15e90 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -83,7 +83,6 @@ GLIBC_2.27 pthread_barrierattr_init F
> GLIBC_2.27 pthread_barrierattr_setpshared F
> GLIBC_2.27 pthread_cancel F
> GLIBC_2.27 pthread_cond_broadcast F
> -GLIBC_2.27 pthread_cond_destroy F
> GLIBC_2.27 pthread_cond_init F
> GLIBC_2.27 pthread_cond_signal F
> GLIBC_2.27 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index ff80259a92..a9a8c7630e 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -46,7 +46,6 @@ GLIBC_2.0 pause F
> GLIBC_2.0 pthread_atfork F
> GLIBC_2.0 pthread_cancel F
> GLIBC_2.0 pthread_cond_broadcast F
> -GLIBC_2.0 pthread_cond_destroy F
> GLIBC_2.0 pthread_cond_init F
> GLIBC_2.0 pthread_cond_signal F
> GLIBC_2.0 pthread_cond_timedwait F
> @@ -208,7 +207,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 02d7c0409a..7052913b40 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -88,7 +88,6 @@ GLIBC_2.2 pthread_barrierattr_init F
> GLIBC_2.2 pthread_barrierattr_setpshared F
> GLIBC_2.2 pthread_cancel F
> GLIBC_2.2 pthread_cond_broadcast F
> -GLIBC_2.2 pthread_cond_destroy F
> GLIBC_2.2 pthread_cond_init F
> GLIBC_2.2 pthread_cond_signal F
> GLIBC_2.2 pthread_cond_timedwait F
> @@ -200,7 +199,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index aa0c6d1da0..1ac88709aa 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -86,7 +86,6 @@ GLIBC_2.2 pthread_barrierattr_init F
> GLIBC_2.2 pthread_barrierattr_setpshared F
> GLIBC_2.2 pthread_cancel F
> GLIBC_2.2 pthread_cond_broadcast F
> -GLIBC_2.2 pthread_cond_destroy F
> GLIBC_2.2 pthread_cond_init F
> GLIBC_2.2 pthread_cond_signal F
> GLIBC_2.2 pthread_cond_timedwait F
> @@ -198,7 +197,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index aa0c6d1da0..1ac88709aa 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -86,7 +86,6 @@ GLIBC_2.2 pthread_barrierattr_init F
> GLIBC_2.2 pthread_barrierattr_setpshared F
> GLIBC_2.2 pthread_cancel F
> GLIBC_2.2 pthread_cond_broadcast F
> -GLIBC_2.2 pthread_cond_destroy F
> GLIBC_2.2 pthread_cond_init F
> GLIBC_2.2 pthread_cond_signal F
> GLIBC_2.2 pthread_cond_timedwait F
> @@ -198,7 +197,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 391be30e38..be6e5dcd3d 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -46,7 +46,6 @@ GLIBC_2.0 pause F
> GLIBC_2.0 pthread_atfork F
> GLIBC_2.0 pthread_cancel F
> GLIBC_2.0 pthread_cond_broadcast F
> -GLIBC_2.0 pthread_cond_destroy F
> GLIBC_2.0 pthread_cond_init F
> GLIBC_2.0 pthread_cond_signal F
> GLIBC_2.0 pthread_cond_timedwait F
> @@ -206,7 +205,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 283e0e6f9d..a2be53b8c5 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -86,7 +86,6 @@ GLIBC_2.2 pthread_barrierattr_init F
> GLIBC_2.2 pthread_barrierattr_setpshared F
> GLIBC_2.2 pthread_cancel F
> GLIBC_2.2 pthread_cond_broadcast F
> -GLIBC_2.2 pthread_cond_destroy F
> GLIBC_2.2 pthread_cond_init F
> GLIBC_2.2 pthread_cond_signal F
> GLIBC_2.2 pthread_cond_timedwait F
> @@ -198,7 +197,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 35835c89d9..90780c92d4 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -86,7 +86,6 @@ GLIBC_2.2.5 pthread_barrierattr_init F
> GLIBC_2.2.5 pthread_barrierattr_setpshared F
> GLIBC_2.2.5 pthread_cancel F
> GLIBC_2.2.5 pthread_cond_broadcast F
> -GLIBC_2.2.5 pthread_cond_destroy F
> GLIBC_2.2.5 pthread_cond_init F
> GLIBC_2.2.5 pthread_cond_signal F
> GLIBC_2.2.5 pthread_cond_timedwait F
> @@ -198,7 +197,6 @@ GLIBC_2.28 tss_delete F
> GLIBC_2.28 tss_get F
> GLIBC_2.28 tss_set F
> GLIBC_2.3.2 pthread_cond_broadcast F
> -GLIBC_2.3.2 pthread_cond_destroy F
> GLIBC_2.3.2 pthread_cond_init F
> GLIBC_2.3.2 pthread_cond_signal F
> GLIBC_2.3.2 pthread_cond_timedwait F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 4b27550ad0..b24b7b637e 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -86,7 +86,6 @@ GLIBC_2.16 pthread_barrierattr_init F
> GLIBC_2.16 pthread_barrierattr_setpshared F
> GLIBC_2.16 pthread_cancel F
> GLIBC_2.16 pthread_cond_broadcast F
> -GLIBC_2.16 pthread_cond_destroy F
> GLIBC_2.16 pthread_cond_init F
> GLIBC_2.16 pthread_cond_signal F
> GLIBC_2.16 pthread_cond_timedwait F
>
Ok.
@@ -36,6 +36,7 @@ routines = \
libc-lowlevellock \
libc_multiple_threads \
libc_pthread_init \
+ old_pthread_cond_destroy \
pthread_atfork \
pthread_attr_destroy \
pthread_attr_getdetachstate \
@@ -49,6 +50,7 @@ routines = \
pthread_attr_setschedparam \
pthread_attr_setschedpolicy \
pthread_attr_setscope \
+ pthread_cond_destroy \
pthread_condattr_destroy \
pthread_condattr_init \
pthread_equal \
@@ -102,10 +104,10 @@ libpthread-routines = nptl-init nptlfreeres vars events version pt-interp \
pthread_rwlockattr_setpshared \
pthread_rwlockattr_getkind_np \
pthread_rwlockattr_setkind_np \
- pthread_cond_init pthread_cond_destroy \
+ pthread_cond_init \
pthread_cond_wait \
pthread_cond_signal pthread_cond_broadcast \
- old_pthread_cond_init old_pthread_cond_destroy \
+ old_pthread_cond_init \
old_pthread_cond_wait old_pthread_cond_timedwait \
old_pthread_cond_signal old_pthread_cond_broadcast \
pthread_condattr_getpshared pthread_condattr_setpshared \
@@ -39,6 +39,8 @@ libc {
__libc_pthread_init;
__libc_current_sigrtmin_private; __libc_current_sigrtmax_private;
__libc_allocate_rtsig_private;
+ # Used by the C11 threads implementation.
+ __pthread_cond_destroy;
}
}
@@ -54,7 +56,7 @@ libpthread {
pthread_mutexattr_init; pthread_mutexattr_destroy;
- pthread_cond_init; pthread_cond_destroy;
+ pthread_cond_init;
pthread_cond_wait; pthread_cond_timedwait;
pthread_cond_signal; pthread_cond_broadcast;
@@ -193,7 +195,7 @@ libpthread {
GLIBC_2.3.2 {
# Changed pthread_cond_t.
- pthread_cond_init; pthread_cond_destroy;
+ pthread_cond_init;
pthread_cond_wait; pthread_cond_timedwait;
pthread_cond_signal; pthread_cond_broadcast;
}
@@ -66,16 +66,6 @@ FORWARD (__pthread_cond_broadcast, (pthread_cond_t *cond), (cond), 0)
versioned_symbol (libc, __pthread_cond_broadcast, pthread_cond_broadcast,
GLIBC_2_3_2);
-#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)
-FORWARD2 (__pthread_cond_destroy_2_0, int attribute_compat_text_section,
- (pthread_cond_2_0_t *cond), (cond), return 0)
-compat_symbol (libc, __pthread_cond_destroy_2_0, pthread_cond_destroy,
- GLIBC_2_0);
-#endif
-FORWARD (__pthread_cond_destroy, (pthread_cond_t *cond), (cond), 0)
-versioned_symbol (libc, __pthread_cond_destroy, pthread_cond_destroy,
- GLIBC_2_3_2);
-
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)
FORWARD2 (__pthread_cond_init_2_0, int attribute_compat_text_section,
(pthread_cond_2_0_t *cond, const pthread_condattr_t *cond_attr),
@@ -73,14 +73,12 @@ void __nptl_set_robust (struct pthread *);
static const struct pthread_functions pthread_functions =
{
.ptr___pthread_cond_broadcast = __pthread_cond_broadcast,
- .ptr___pthread_cond_destroy = __pthread_cond_destroy,
.ptr___pthread_cond_init = __pthread_cond_init,
.ptr___pthread_cond_signal = __pthread_cond_signal,
.ptr___pthread_cond_wait = __pthread_cond_wait,
.ptr___pthread_cond_timedwait = __pthread_cond_timedwait,
# 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,
.ptr___pthread_cond_init_2_0 = __pthread_cond_init_2_0,
.ptr___pthread_cond_signal_2_0 = __pthread_cond_signal_2_0,
.ptr___pthread_cond_wait_2_0 = __pthread_cond_wait_2_0,
@@ -21,7 +21,7 @@
#include <shlib-compat.h>
-#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_3_2)
+#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)
int
__pthread_cond_destroy_2_0 (pthread_cond_2_0_t *cond)
{
@@ -30,6 +30,6 @@ __pthread_cond_destroy_2_0 (pthread_cond_2_0_t *cond)
return 0;
}
-compat_symbol (libpthread, __pthread_cond_destroy_2_0, pthread_cond_destroy,
+compat_symbol (libc, __pthread_cond_destroy_2_0, pthread_cond_destroy,
GLIBC_2_0);
#endif
@@ -442,6 +442,7 @@ extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock);
extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock);
extern int __pthread_cond_broadcast (pthread_cond_t *cond);
extern int __pthread_cond_destroy (pthread_cond_t *cond);
+libc_hidden_proto (__pthread_cond_destroy)
extern int __pthread_cond_init (pthread_cond_t *cond,
const pthread_condattr_t *cond_attr);
extern int __pthread_cond_signal (pthread_cond_t *cond);
@@ -58,5 +58,6 @@ __pthread_cond_destroy (pthread_cond_t *cond)
/* The memory the condvar occupies can now be reused. */
return 0;
}
-versioned_symbol (libpthread, __pthread_cond_destroy,
+libc_hidden_def (__pthread_cond_destroy)
+versioned_symbol (libc, __pthread_cond_destroy,
pthread_cond_destroy, GLIBC_2_3_2);
@@ -31,7 +31,6 @@ struct xid_command;
struct pthread_functions
{
int (*ptr___pthread_cond_broadcast) (pthread_cond_t *);
- int (*ptr___pthread_cond_destroy) (pthread_cond_t *);
int (*ptr___pthread_cond_init) (pthread_cond_t *,
const pthread_condattr_t *);
int (*ptr___pthread_cond_signal) (pthread_cond_t *);
@@ -39,7 +38,6 @@ struct pthread_functions
int (*ptr___pthread_cond_timedwait) (pthread_cond_t *, pthread_mutex_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 *,
const pthread_condattr_t *);
int (*ptr___pthread_cond_signal_2_0) (pthread_cond_2_0_t *);
@@ -86,7 +86,6 @@ GLIBC_2.17 pthread_barrierattr_init F
GLIBC_2.17 pthread_barrierattr_setpshared F
GLIBC_2.17 pthread_cancel F
GLIBC_2.17 pthread_cond_broadcast F
-GLIBC_2.17 pthread_cond_destroy F
GLIBC_2.17 pthread_cond_init F
GLIBC_2.17 pthread_cond_signal F
GLIBC_2.17 pthread_cond_timedwait F
@@ -46,7 +46,6 @@ GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
GLIBC_2.0 pthread_cancel F
GLIBC_2.0 pthread_cond_broadcast F
-GLIBC_2.0 pthread_cond_destroy F
GLIBC_2.0 pthread_cond_init F
GLIBC_2.0 pthread_cond_signal F
GLIBC_2.0 pthread_cond_timedwait F
@@ -206,7 +205,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -121,7 +121,6 @@ GLIBC_2.4 pthread_barrierattr_init F
GLIBC_2.4 pthread_barrierattr_setpshared F
GLIBC_2.4 pthread_cancel F
GLIBC_2.4 pthread_cond_broadcast F
-GLIBC_2.4 pthread_cond_destroy F
GLIBC_2.4 pthread_cond_init F
GLIBC_2.4 pthread_cond_signal F
GLIBC_2.4 pthread_cond_timedwait F
@@ -121,7 +121,6 @@ GLIBC_2.4 pthread_barrierattr_init F
GLIBC_2.4 pthread_barrierattr_setpshared F
GLIBC_2.4 pthread_cancel F
GLIBC_2.4 pthread_cond_broadcast F
-GLIBC_2.4 pthread_cond_destroy F
GLIBC_2.4 pthread_cond_init F
GLIBC_2.4 pthread_cond_signal F
GLIBC_2.4 pthread_cond_timedwait F
@@ -94,7 +94,6 @@ GLIBC_2.29 pthread_barrierattr_init F
GLIBC_2.29 pthread_barrierattr_setpshared F
GLIBC_2.29 pthread_cancel F
GLIBC_2.29 pthread_cond_broadcast F
-GLIBC_2.29 pthread_cond_destroy F
GLIBC_2.29 pthread_cond_init F
GLIBC_2.29 pthread_cond_signal F
GLIBC_2.29 pthread_cond_timedwait F
@@ -86,7 +86,6 @@ GLIBC_2.2 pthread_barrierattr_init F
GLIBC_2.2 pthread_barrierattr_setpshared F
GLIBC_2.2 pthread_cancel F
GLIBC_2.2 pthread_cond_broadcast F
-GLIBC_2.2 pthread_cond_destroy F
GLIBC_2.2 pthread_cond_init F
GLIBC_2.2 pthread_cond_signal F
GLIBC_2.2 pthread_cond_timedwait F
@@ -198,7 +197,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -46,7 +46,6 @@ GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
GLIBC_2.0 pthread_cancel F
GLIBC_2.0 pthread_cond_broadcast F
-GLIBC_2.0 pthread_cond_destroy F
GLIBC_2.0 pthread_cond_init F
GLIBC_2.0 pthread_cond_signal F
GLIBC_2.0 pthread_cond_timedwait F
@@ -206,7 +205,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -86,7 +86,6 @@ GLIBC_2.2 pthread_barrierattr_init F
GLIBC_2.2 pthread_barrierattr_setpshared F
GLIBC_2.2 pthread_cancel F
GLIBC_2.2 pthread_cond_broadcast F
-GLIBC_2.2 pthread_cond_destroy F
GLIBC_2.2 pthread_cond_init F
GLIBC_2.2 pthread_cond_signal F
GLIBC_2.2 pthread_cond_timedwait F
@@ -198,7 +197,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -121,7 +121,6 @@ GLIBC_2.4 pthread_barrierattr_init F
GLIBC_2.4 pthread_barrierattr_setpshared F
GLIBC_2.4 pthread_cancel F
GLIBC_2.4 pthread_cond_broadcast F
-GLIBC_2.4 pthread_cond_destroy F
GLIBC_2.4 pthread_cond_init F
GLIBC_2.4 pthread_cond_signal F
GLIBC_2.4 pthread_cond_timedwait F
@@ -46,7 +46,6 @@ GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
GLIBC_2.0 pthread_cancel F
GLIBC_2.0 pthread_cond_broadcast F
-GLIBC_2.0 pthread_cond_destroy F
GLIBC_2.0 pthread_cond_init F
GLIBC_2.0 pthread_cond_signal F
GLIBC_2.0 pthread_cond_timedwait F
@@ -206,7 +205,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -86,7 +86,6 @@ GLIBC_2.18 pthread_barrierattr_init F
GLIBC_2.18 pthread_barrierattr_setpshared F
GLIBC_2.18 pthread_cancel F
GLIBC_2.18 pthread_cond_broadcast F
-GLIBC_2.18 pthread_cond_destroy F
GLIBC_2.18 pthread_cond_init F
GLIBC_2.18 pthread_cond_signal F
GLIBC_2.18 pthread_cond_timedwait F
@@ -86,7 +86,6 @@ GLIBC_2.18 pthread_barrierattr_init F
GLIBC_2.18 pthread_barrierattr_setpshared F
GLIBC_2.18 pthread_cancel F
GLIBC_2.18 pthread_cond_broadcast F
-GLIBC_2.18 pthread_cond_destroy F
GLIBC_2.18 pthread_cond_init F
GLIBC_2.18 pthread_cond_signal F
GLIBC_2.18 pthread_cond_timedwait F
@@ -46,7 +46,6 @@ GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
GLIBC_2.0 pthread_cancel F
GLIBC_2.0 pthread_cond_broadcast F
-GLIBC_2.0 pthread_cond_destroy F
GLIBC_2.0 pthread_cond_init F
GLIBC_2.0 pthread_cond_signal F
GLIBC_2.0 pthread_cond_timedwait F
@@ -205,7 +204,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -46,7 +46,6 @@ GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
GLIBC_2.0 pthread_cancel F
GLIBC_2.0 pthread_cond_broadcast F
-GLIBC_2.0 pthread_cond_destroy F
GLIBC_2.0 pthread_cond_init F
GLIBC_2.0 pthread_cond_signal F
GLIBC_2.0 pthread_cond_timedwait F
@@ -205,7 +204,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -86,7 +86,6 @@ GLIBC_2.21 pthread_barrierattr_init F
GLIBC_2.21 pthread_barrierattr_setpshared F
GLIBC_2.21 pthread_cancel F
GLIBC_2.21 pthread_cond_broadcast F
-GLIBC_2.21 pthread_cond_destroy F
GLIBC_2.21 pthread_cond_init F
GLIBC_2.21 pthread_cond_signal F
GLIBC_2.21 pthread_cond_timedwait F
@@ -46,7 +46,6 @@ GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
GLIBC_2.0 pthread_cancel F
GLIBC_2.0 pthread_cond_broadcast F
-GLIBC_2.0 pthread_cond_destroy F
GLIBC_2.0 pthread_cond_init F
GLIBC_2.0 pthread_cond_signal F
GLIBC_2.0 pthread_cond_timedwait F
@@ -206,7 +205,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -106,7 +106,6 @@ GLIBC_2.3 pthread_barrierattr_init F
GLIBC_2.3 pthread_barrierattr_setpshared F
GLIBC_2.3 pthread_cancel F
GLIBC_2.3 pthread_cond_broadcast F
-GLIBC_2.3 pthread_cond_destroy F
GLIBC_2.3 pthread_cond_init F
GLIBC_2.3 pthread_cond_signal F
GLIBC_2.3 pthread_cond_timedwait F
@@ -196,7 +195,6 @@ GLIBC_2.3 system F
GLIBC_2.3 tcdrain F
GLIBC_2.3 write F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -86,7 +86,6 @@ GLIBC_2.17 pthread_barrierattr_init F
GLIBC_2.17 pthread_barrierattr_setpshared F
GLIBC_2.17 pthread_cancel F
GLIBC_2.17 pthread_cond_broadcast F
-GLIBC_2.17 pthread_cond_destroy F
GLIBC_2.17 pthread_cond_init F
GLIBC_2.17 pthread_cond_signal F
GLIBC_2.17 pthread_cond_timedwait F
@@ -83,7 +83,6 @@ GLIBC_2.27 pthread_barrierattr_init F
GLIBC_2.27 pthread_barrierattr_setpshared F
GLIBC_2.27 pthread_cancel F
GLIBC_2.27 pthread_cond_broadcast F
-GLIBC_2.27 pthread_cond_destroy F
GLIBC_2.27 pthread_cond_init F
GLIBC_2.27 pthread_cond_signal F
GLIBC_2.27 pthread_cond_timedwait F
@@ -46,7 +46,6 @@ GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
GLIBC_2.0 pthread_cancel F
GLIBC_2.0 pthread_cond_broadcast F
-GLIBC_2.0 pthread_cond_destroy F
GLIBC_2.0 pthread_cond_init F
GLIBC_2.0 pthread_cond_signal F
GLIBC_2.0 pthread_cond_timedwait F
@@ -208,7 +207,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -88,7 +88,6 @@ GLIBC_2.2 pthread_barrierattr_init F
GLIBC_2.2 pthread_barrierattr_setpshared F
GLIBC_2.2 pthread_cancel F
GLIBC_2.2 pthread_cond_broadcast F
-GLIBC_2.2 pthread_cond_destroy F
GLIBC_2.2 pthread_cond_init F
GLIBC_2.2 pthread_cond_signal F
GLIBC_2.2 pthread_cond_timedwait F
@@ -200,7 +199,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -86,7 +86,6 @@ GLIBC_2.2 pthread_barrierattr_init F
GLIBC_2.2 pthread_barrierattr_setpshared F
GLIBC_2.2 pthread_cancel F
GLIBC_2.2 pthread_cond_broadcast F
-GLIBC_2.2 pthread_cond_destroy F
GLIBC_2.2 pthread_cond_init F
GLIBC_2.2 pthread_cond_signal F
GLIBC_2.2 pthread_cond_timedwait F
@@ -198,7 +197,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -86,7 +86,6 @@ GLIBC_2.2 pthread_barrierattr_init F
GLIBC_2.2 pthread_barrierattr_setpshared F
GLIBC_2.2 pthread_cancel F
GLIBC_2.2 pthread_cond_broadcast F
-GLIBC_2.2 pthread_cond_destroy F
GLIBC_2.2 pthread_cond_init F
GLIBC_2.2 pthread_cond_signal F
GLIBC_2.2 pthread_cond_timedwait F
@@ -198,7 +197,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -46,7 +46,6 @@ GLIBC_2.0 pause F
GLIBC_2.0 pthread_atfork F
GLIBC_2.0 pthread_cancel F
GLIBC_2.0 pthread_cond_broadcast F
-GLIBC_2.0 pthread_cond_destroy F
GLIBC_2.0 pthread_cond_init F
GLIBC_2.0 pthread_cond_signal F
GLIBC_2.0 pthread_cond_timedwait F
@@ -206,7 +205,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -86,7 +86,6 @@ GLIBC_2.2 pthread_barrierattr_init F
GLIBC_2.2 pthread_barrierattr_setpshared F
GLIBC_2.2 pthread_cancel F
GLIBC_2.2 pthread_cond_broadcast F
-GLIBC_2.2 pthread_cond_destroy F
GLIBC_2.2 pthread_cond_init F
GLIBC_2.2 pthread_cond_signal F
GLIBC_2.2 pthread_cond_timedwait F
@@ -198,7 +197,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -86,7 +86,6 @@ GLIBC_2.2.5 pthread_barrierattr_init F
GLIBC_2.2.5 pthread_barrierattr_setpshared F
GLIBC_2.2.5 pthread_cancel F
GLIBC_2.2.5 pthread_cond_broadcast F
-GLIBC_2.2.5 pthread_cond_destroy F
GLIBC_2.2.5 pthread_cond_init F
GLIBC_2.2.5 pthread_cond_signal F
GLIBC_2.2.5 pthread_cond_timedwait F
@@ -198,7 +197,6 @@ GLIBC_2.28 tss_delete F
GLIBC_2.28 tss_get F
GLIBC_2.28 tss_set F
GLIBC_2.3.2 pthread_cond_broadcast F
-GLIBC_2.3.2 pthread_cond_destroy F
GLIBC_2.3.2 pthread_cond_init F
GLIBC_2.3.2 pthread_cond_signal F
GLIBC_2.3.2 pthread_cond_timedwait F
@@ -86,7 +86,6 @@ GLIBC_2.16 pthread_barrierattr_init F
GLIBC_2.16 pthread_barrierattr_setpshared F
GLIBC_2.16 pthread_cancel F
GLIBC_2.16 pthread_cond_broadcast F
-GLIBC_2.16 pthread_cond_destroy F
GLIBC_2.16 pthread_cond_init F
GLIBC_2.16 pthread_cond_signal F
GLIBC_2.16 pthread_cond_timedwait F