[10/13] nptl: Move pthread_cond_init implementation into libc
diff mbox series

Message ID 60988b6a727e74eab5217b83328342aba46ada23.1581418947.git.fweimer@redhat.com
State New
Headers show
Series
  • nptl: Move more functions from libpthread to libc
Related show

Commit Message

Florian Weimer Feb. 11, 2020, 11:06 a.m. UTC
It is necessary to export __pthread_cond_init 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                                         |  4 ++--
 nptl/Versions                                         |  3 +--
 nptl/forward.c                                        | 11 -----------
 nptl/nptl-init.c                                      |  2 --
 nptl/old_pthread_cond_init.c                          |  4 ++--
 nptl/pthreadP.h                                       |  1 +
 nptl/pthread_cond_init.c                              |  3 ++-
 sysdeps/nptl/pthread-functions.h                      |  4 ----
 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 -
 .../unix/sysv/linux/m68k/m680x0/libpthread.abilist    |  2 --
 .../unix/sysv/linux/microblaze/be/libpthread.abilist  |  1 -
 .../unix/sysv/linux/microblaze/le/libpthread.abilist  |  1 -
 .../unix/sysv/linux/mips/mips32/libpthread.abilist    |  2 --
 .../unix/sysv/linux/mips/mips64/libpthread.abilist    |  2 --
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist      |  1 -
 .../sysv/linux/powerpc/powerpc32/libpthread.abilist   |  2 --
 .../linux/powerpc/powerpc64/be/libpthread.abilist     |  2 --
 .../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, 8 insertions(+), 67 deletions(-)

Comments

Adhemerval Zanella Feb. 19, 2020, 5:50 p.m. UTC | #1
On 11/02/2020 08:06, Florian Weimer wrote:
> It is necessary to export __pthread_cond_init 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>

LGTM, thanks.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>

> ---
>  nptl/Makefile                                         |  4 ++--
>  nptl/Versions                                         |  3 +--
>  nptl/forward.c                                        | 11 -----------
>  nptl/nptl-init.c                                      |  2 --
>  nptl/old_pthread_cond_init.c                          |  4 ++--
>  nptl/pthreadP.h                                       |  1 +
>  nptl/pthread_cond_init.c                              |  3 ++-
>  sysdeps/nptl/pthread-functions.h                      |  4 ----
>  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 -
>  .../unix/sysv/linux/m68k/m680x0/libpthread.abilist    |  2 --
>  .../unix/sysv/linux/microblaze/be/libpthread.abilist  |  1 -
>  .../unix/sysv/linux/microblaze/le/libpthread.abilist  |  1 -
>  .../unix/sysv/linux/mips/mips32/libpthread.abilist    |  2 --
>  .../unix/sysv/linux/mips/mips64/libpthread.abilist    |  2 --
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist      |  1 -
>  .../sysv/linux/powerpc/powerpc32/libpthread.abilist   |  2 --
>  .../linux/powerpc/powerpc64/be/libpthread.abilist     |  2 --
>  .../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, 8 insertions(+), 67 deletions(-)
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 19f11a5c9a..eb87ecb1b3 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -37,6 +37,7 @@ routines = \
>    libc_multiple_threads \
>    libc_pthread_init \
>    old_pthread_cond_destroy \
> +  old_pthread_cond_init \
>    pthread_atfork \
>    pthread_attr_destroy \
>    pthread_attr_getdetachstate \
> @@ -51,6 +52,7 @@ routines = \
>    pthread_attr_setschedpolicy \
>    pthread_attr_setscope \
>    pthread_cond_destroy \
> +  pthread_cond_init \
>    pthread_condattr_destroy \
>    pthread_condattr_init \
>    pthread_equal \

Ok.

> @@ -104,10 +106,8 @@ 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_wait \
>  		      pthread_cond_signal pthread_cond_broadcast \
> -		      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 4dbe68d76c..914404c45e 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -40,7 +40,7 @@ libc {
>      __libc_current_sigrtmin_private; __libc_current_sigrtmax_private;
>      __libc_allocate_rtsig_private;
>      # Used by the C11 threads implementation.
> -    __pthread_cond_destroy;
> +    __pthread_cond_destroy; __pthread_cond_init;
>    }
>  }
>  
> @@ -56,7 +56,6 @@ libpthread {
>  
>      pthread_mutexattr_init; pthread_mutexattr_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 3e1734854e..6ee4b92d52 100644
> --- a/nptl/forward.c
> +++ b/nptl/forward.c
> @@ -66,17 +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_init_2_0, int attribute_compat_text_section,
> -	  (pthread_cond_2_0_t *cond, const pthread_condattr_t *cond_attr),
> -	  (cond, cond_attr), return 0)
> -compat_symbol (libc, __pthread_cond_init_2_0, pthread_cond_init, GLIBC_2_0);
> -#endif
> -FORWARD (__pthread_cond_init,
> -	 (pthread_cond_t *cond, const pthread_condattr_t *cond_attr),
> -	 (cond, cond_attr), 0)
> -versioned_symbol (libc, __pthread_cond_init, pthread_cond_init, GLIBC_2_3_2);
> -
>  #if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)
>  FORWARD2 (__pthread_cond_signal_2_0, int attribute_compat_text_section,
>  	  (pthread_cond_2_0_t *cond), (cond), return 0)

Ok.

> diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
> index 9e17a2be6d..56a4848d6e 100644
> --- a/nptl/nptl-init.c
> +++ b/nptl/nptl-init.c
> @@ -73,13 +73,11 @@ void __nptl_set_robust (struct pthread *);
>  static const struct pthread_functions pthread_functions =
>    {
>      .ptr___pthread_cond_broadcast = __pthread_cond_broadcast,
> -    .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_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,
>      .ptr___pthread_cond_timedwait_2_0 = __pthread_cond_timedwait_2_0,

Ok.

> diff --git a/nptl/old_pthread_cond_init.c b/nptl/old_pthread_cond_init.c
> index df0f1fd7e8..d71aa802b8 100644
> --- a/nptl/old_pthread_cond_init.c
> +++ b/nptl/old_pthread_cond_init.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_init_2_0 (pthread_cond_2_0_t *cond,
>  			 const pthread_condattr_t *cond_attr)

Ok.

> @@ -40,6 +40,6 @@ __pthread_cond_init_2_0 (pthread_cond_2_0_t *cond,
>  
>    return 0;
>  }
> -compat_symbol (libpthread, __pthread_cond_init_2_0, pthread_cond_init,
> +compat_symbol (libc, __pthread_cond_init_2_0, pthread_cond_init,
>  	       GLIBC_2_0);
>  #endif

Ok.

> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
> index f348c75d90..edf381d820 100644
> --- a/nptl/pthreadP.h
> +++ b/nptl/pthreadP.h
> @@ -445,6 +445,7 @@ 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);
> +libc_hidden_proto (__pthread_cond_init)
>  extern int __pthread_cond_signal (pthread_cond_t *cond);
>  extern int __pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex);
>  extern int __pthread_cond_timedwait (pthread_cond_t *cond,

Ok.

> diff --git a/nptl/pthread_cond_init.c b/nptl/pthread_cond_init.c
> index 1dce2ed46e..595b1b3528 100644
> --- a/nptl/pthread_cond_init.c
> +++ b/nptl/pthread_cond_init.c
> @@ -49,5 +49,6 @@ __pthread_cond_init (pthread_cond_t *cond, const pthread_condattr_t *cond_attr)
>  
>    return 0;
>  }
> -versioned_symbol (libpthread, __pthread_cond_init,
> +libc_hidden_def (__pthread_cond_init)
> +versioned_symbol (libc, __pthread_cond_init,
>  		  pthread_cond_init, GLIBC_2_3_2);

Ok.

> diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h
> index ceb1cc631d..9e12cf7f20 100644
> --- a/sysdeps/nptl/pthread-functions.h
> +++ b/sysdeps/nptl/pthread-functions.h
> @@ -31,15 +31,11 @@ struct xid_command;
>  struct pthread_functions
>  {
>    int (*ptr___pthread_cond_broadcast) (pthread_cond_t *);
> -  int (*ptr___pthread_cond_init) (pthread_cond_t *,
> -				  const pthread_condattr_t *);
>    int (*ptr___pthread_cond_signal) (pthread_cond_t *);
>    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_broadcast_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 *);
>    int (*ptr___pthread_cond_wait_2_0) (pthread_cond_2_0_t *, pthread_mutex_t *);
>    int (*ptr___pthread_cond_timedwait_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 6237b22222..ca00e45ff6 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_init F
>  GLIBC_2.17 pthread_cond_signal F
>  GLIBC_2.17 pthread_cond_timedwait F
>  GLIBC_2.17 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index be6e5dcd3d..7a678786d7 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_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait 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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 3016511f3e..cc36449cfd 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_init F
>  GLIBC_2.4 pthread_cond_signal F
>  GLIBC_2.4 pthread_cond_timedwait F
>  GLIBC_2.4 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 3016511f3e..cc36449cfd 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_init F
>  GLIBC_2.4 pthread_cond_signal F
>  GLIBC_2.4 pthread_cond_timedwait F
>  GLIBC_2.4 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index e33492d3d2..eacb6a19f7 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_init F
>  GLIBC_2.29 pthread_cond_signal F
>  GLIBC_2.29 pthread_cond_timedwait F
>  GLIBC_2.29 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 1ac88709aa..251d48e7e3 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_init F
>  GLIBC_2.2 pthread_cond_signal F
>  GLIBC_2.2 pthread_cond_timedwait F
>  GLIBC_2.2 pthread_cond_wait F
> @@ -197,7 +196,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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index d9e2a3bf91..51a734aafc 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_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait 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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index a2be53b8c5..ea8f277428 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_init F
>  GLIBC_2.2 pthread_cond_signal F
>  GLIBC_2.2 pthread_cond_timedwait F
>  GLIBC_2.2 pthread_cond_wait F
> @@ -197,7 +196,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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 3016511f3e..cc36449cfd 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_init F
>  GLIBC_2.4 pthread_cond_signal F
>  GLIBC_2.4 pthread_cond_timedwait F
>  GLIBC_2.4 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index d9e2a3bf91..51a734aafc 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_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait 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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 30fd457419..f431bf8a5d 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_init F
>  GLIBC_2.18 pthread_cond_signal F
>  GLIBC_2.18 pthread_cond_timedwait F
>  GLIBC_2.18 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 30fd457419..f431bf8a5d 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_init F
>  GLIBC_2.18 pthread_cond_signal F
>  GLIBC_2.18 pthread_cond_timedwait F
>  GLIBC_2.18 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 2d5730fc8f..fe97a30c54 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_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait F
> @@ -204,7 +203,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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 2d5730fc8f..fe97a30c54 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_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait F
> @@ -204,7 +203,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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 94f6396182..26e2a33bbe 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_init F
>  GLIBC_2.21 pthread_cond_signal F
>  GLIBC_2.21 pthread_cond_timedwait F
>  GLIBC_2.21 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 62e8dba625..0b9363ab7a 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_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait 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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index ada466504c..6b0da1ac89 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_init F
>  GLIBC_2.3 pthread_cond_signal F
>  GLIBC_2.3 pthread_cond_timedwait F
>  GLIBC_2.3 pthread_cond_wait F
> @@ -195,7 +194,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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 6237b22222..ca00e45ff6 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_init F
>  GLIBC_2.17 pthread_cond_signal F
>  GLIBC_2.17 pthread_cond_timedwait F
>  GLIBC_2.17 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 30a1e15e90..52b91a3f46 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_init F
>  GLIBC_2.27 pthread_cond_signal F
>  GLIBC_2.27 pthread_cond_timedwait F
>  GLIBC_2.27 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index a9a8c7630e..b84a2bf02f 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_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait F
> @@ -207,7 +206,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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 7052913b40..e85906c843 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_init F
>  GLIBC_2.2 pthread_cond_signal F
>  GLIBC_2.2 pthread_cond_timedwait F
>  GLIBC_2.2 pthread_cond_wait F
> @@ -199,7 +198,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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 1ac88709aa..251d48e7e3 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_init F
>  GLIBC_2.2 pthread_cond_signal F
>  GLIBC_2.2 pthread_cond_timedwait F
>  GLIBC_2.2 pthread_cond_wait F
> @@ -197,7 +196,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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 1ac88709aa..251d48e7e3 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_init F
>  GLIBC_2.2 pthread_cond_signal F
>  GLIBC_2.2 pthread_cond_timedwait F
>  GLIBC_2.2 pthread_cond_wait F
> @@ -197,7 +196,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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index be6e5dcd3d..7a678786d7 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_init F
>  GLIBC_2.0 pthread_cond_signal F
>  GLIBC_2.0 pthread_cond_timedwait F
>  GLIBC_2.0 pthread_cond_wait 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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index a2be53b8c5..ea8f277428 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_init F
>  GLIBC_2.2 pthread_cond_signal F
>  GLIBC_2.2 pthread_cond_timedwait F
>  GLIBC_2.2 pthread_cond_wait F
> @@ -197,7 +196,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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 90780c92d4..dc3231b3d8 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_init F
>  GLIBC_2.2.5 pthread_cond_signal F
>  GLIBC_2.2.5 pthread_cond_timedwait F
>  GLIBC_2.2.5 pthread_cond_wait F
> @@ -197,7 +196,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_init F
>  GLIBC_2.3.2 pthread_cond_signal F
>  GLIBC_2.3.2 pthread_cond_timedwait F
>  GLIBC_2.3.2 pthread_cond_wait F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index b24b7b637e..dda01deac9 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_init F
>  GLIBC_2.16 pthread_cond_signal F
>  GLIBC_2.16 pthread_cond_timedwait F
>  GLIBC_2.16 pthread_cond_wait F
> 

Ok.

Patch
diff mbox series

diff --git a/nptl/Makefile b/nptl/Makefile
index 19f11a5c9a..eb87ecb1b3 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -37,6 +37,7 @@  routines = \
   libc_multiple_threads \
   libc_pthread_init \
   old_pthread_cond_destroy \
+  old_pthread_cond_init \
   pthread_atfork \
   pthread_attr_destroy \
   pthread_attr_getdetachstate \
@@ -51,6 +52,7 @@  routines = \
   pthread_attr_setschedpolicy \
   pthread_attr_setscope \
   pthread_cond_destroy \
+  pthread_cond_init \
   pthread_condattr_destroy \
   pthread_condattr_init \
   pthread_equal \
@@ -104,10 +106,8 @@  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_wait \
 		      pthread_cond_signal pthread_cond_broadcast \
-		      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 \
diff --git a/nptl/Versions b/nptl/Versions
index 4dbe68d76c..914404c45e 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -40,7 +40,7 @@  libc {
     __libc_current_sigrtmin_private; __libc_current_sigrtmax_private;
     __libc_allocate_rtsig_private;
     # Used by the C11 threads implementation.
-    __pthread_cond_destroy;
+    __pthread_cond_destroy; __pthread_cond_init;
   }
 }
 
@@ -56,7 +56,6 @@  libpthread {
 
     pthread_mutexattr_init; pthread_mutexattr_destroy;
 
-    pthread_cond_init;
     pthread_cond_wait; pthread_cond_timedwait;
     pthread_cond_signal; pthread_cond_broadcast;
 
diff --git a/nptl/forward.c b/nptl/forward.c
index 3e1734854e..6ee4b92d52 100644
--- a/nptl/forward.c
+++ b/nptl/forward.c
@@ -66,17 +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_init_2_0, int attribute_compat_text_section,
-	  (pthread_cond_2_0_t *cond, const pthread_condattr_t *cond_attr),
-	  (cond, cond_attr), return 0)
-compat_symbol (libc, __pthread_cond_init_2_0, pthread_cond_init, GLIBC_2_0);
-#endif
-FORWARD (__pthread_cond_init,
-	 (pthread_cond_t *cond, const pthread_condattr_t *cond_attr),
-	 (cond, cond_attr), 0)
-versioned_symbol (libc, __pthread_cond_init, pthread_cond_init, GLIBC_2_3_2);
-
 #if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)
 FORWARD2 (__pthread_cond_signal_2_0, int attribute_compat_text_section,
 	  (pthread_cond_2_0_t *cond), (cond), return 0)
diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
index 9e17a2be6d..56a4848d6e 100644
--- a/nptl/nptl-init.c
+++ b/nptl/nptl-init.c
@@ -73,13 +73,11 @@  void __nptl_set_robust (struct pthread *);
 static const struct pthread_functions pthread_functions =
   {
     .ptr___pthread_cond_broadcast = __pthread_cond_broadcast,
-    .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_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,
     .ptr___pthread_cond_timedwait_2_0 = __pthread_cond_timedwait_2_0,
diff --git a/nptl/old_pthread_cond_init.c b/nptl/old_pthread_cond_init.c
index df0f1fd7e8..d71aa802b8 100644
--- a/nptl/old_pthread_cond_init.c
+++ b/nptl/old_pthread_cond_init.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_init_2_0 (pthread_cond_2_0_t *cond,
 			 const pthread_condattr_t *cond_attr)
@@ -40,6 +40,6 @@  __pthread_cond_init_2_0 (pthread_cond_2_0_t *cond,
 
   return 0;
 }
-compat_symbol (libpthread, __pthread_cond_init_2_0, pthread_cond_init,
+compat_symbol (libc, __pthread_cond_init_2_0, pthread_cond_init,
 	       GLIBC_2_0);
 #endif
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index f348c75d90..edf381d820 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -445,6 +445,7 @@  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);
+libc_hidden_proto (__pthread_cond_init)
 extern int __pthread_cond_signal (pthread_cond_t *cond);
 extern int __pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex);
 extern int __pthread_cond_timedwait (pthread_cond_t *cond,
diff --git a/nptl/pthread_cond_init.c b/nptl/pthread_cond_init.c
index 1dce2ed46e..595b1b3528 100644
--- a/nptl/pthread_cond_init.c
+++ b/nptl/pthread_cond_init.c
@@ -49,5 +49,6 @@  __pthread_cond_init (pthread_cond_t *cond, const pthread_condattr_t *cond_attr)
 
   return 0;
 }
-versioned_symbol (libpthread, __pthread_cond_init,
+libc_hidden_def (__pthread_cond_init)
+versioned_symbol (libc, __pthread_cond_init,
 		  pthread_cond_init, GLIBC_2_3_2);
diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h
index ceb1cc631d..9e12cf7f20 100644
--- a/sysdeps/nptl/pthread-functions.h
+++ b/sysdeps/nptl/pthread-functions.h
@@ -31,15 +31,11 @@  struct xid_command;
 struct pthread_functions
 {
   int (*ptr___pthread_cond_broadcast) (pthread_cond_t *);
-  int (*ptr___pthread_cond_init) (pthread_cond_t *,
-				  const pthread_condattr_t *);
   int (*ptr___pthread_cond_signal) (pthread_cond_t *);
   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_broadcast_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 *);
   int (*ptr___pthread_cond_wait_2_0) (pthread_cond_2_0_t *, pthread_mutex_t *);
   int (*ptr___pthread_cond_timedwait_2_0) (pthread_cond_2_0_t *,
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 6237b22222..ca00e45ff6 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_init F
 GLIBC_2.17 pthread_cond_signal F
 GLIBC_2.17 pthread_cond_timedwait F
 GLIBC_2.17 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index be6e5dcd3d..7a678786d7 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_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait 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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 3016511f3e..cc36449cfd 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_init F
 GLIBC_2.4 pthread_cond_signal F
 GLIBC_2.4 pthread_cond_timedwait F
 GLIBC_2.4 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 3016511f3e..cc36449cfd 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_init F
 GLIBC_2.4 pthread_cond_signal F
 GLIBC_2.4 pthread_cond_timedwait F
 GLIBC_2.4 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index e33492d3d2..eacb6a19f7 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_init F
 GLIBC_2.29 pthread_cond_signal F
 GLIBC_2.29 pthread_cond_timedwait F
 GLIBC_2.29 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 1ac88709aa..251d48e7e3 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_init F
 GLIBC_2.2 pthread_cond_signal F
 GLIBC_2.2 pthread_cond_timedwait F
 GLIBC_2.2 pthread_cond_wait F
@@ -197,7 +196,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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index d9e2a3bf91..51a734aafc 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_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait 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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index a2be53b8c5..ea8f277428 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_init F
 GLIBC_2.2 pthread_cond_signal F
 GLIBC_2.2 pthread_cond_timedwait F
 GLIBC_2.2 pthread_cond_wait F
@@ -197,7 +196,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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 3016511f3e..cc36449cfd 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_init F
 GLIBC_2.4 pthread_cond_signal F
 GLIBC_2.4 pthread_cond_timedwait F
 GLIBC_2.4 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index d9e2a3bf91..51a734aafc 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_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait 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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 30fd457419..f431bf8a5d 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_init F
 GLIBC_2.18 pthread_cond_signal F
 GLIBC_2.18 pthread_cond_timedwait F
 GLIBC_2.18 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 30fd457419..f431bf8a5d 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_init F
 GLIBC_2.18 pthread_cond_signal F
 GLIBC_2.18 pthread_cond_timedwait F
 GLIBC_2.18 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 2d5730fc8f..fe97a30c54 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_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait F
@@ -204,7 +203,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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 2d5730fc8f..fe97a30c54 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_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait F
@@ -204,7 +203,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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 94f6396182..26e2a33bbe 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_init F
 GLIBC_2.21 pthread_cond_signal F
 GLIBC_2.21 pthread_cond_timedwait F
 GLIBC_2.21 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 62e8dba625..0b9363ab7a 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_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait 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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index ada466504c..6b0da1ac89 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_init F
 GLIBC_2.3 pthread_cond_signal F
 GLIBC_2.3 pthread_cond_timedwait F
 GLIBC_2.3 pthread_cond_wait F
@@ -195,7 +194,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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 6237b22222..ca00e45ff6 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_init F
 GLIBC_2.17 pthread_cond_signal F
 GLIBC_2.17 pthread_cond_timedwait F
 GLIBC_2.17 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 30a1e15e90..52b91a3f46 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_init F
 GLIBC_2.27 pthread_cond_signal F
 GLIBC_2.27 pthread_cond_timedwait F
 GLIBC_2.27 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index a9a8c7630e..b84a2bf02f 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_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait F
@@ -207,7 +206,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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 7052913b40..e85906c843 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_init F
 GLIBC_2.2 pthread_cond_signal F
 GLIBC_2.2 pthread_cond_timedwait F
 GLIBC_2.2 pthread_cond_wait F
@@ -199,7 +198,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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 1ac88709aa..251d48e7e3 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_init F
 GLIBC_2.2 pthread_cond_signal F
 GLIBC_2.2 pthread_cond_timedwait F
 GLIBC_2.2 pthread_cond_wait F
@@ -197,7 +196,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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 1ac88709aa..251d48e7e3 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_init F
 GLIBC_2.2 pthread_cond_signal F
 GLIBC_2.2 pthread_cond_timedwait F
 GLIBC_2.2 pthread_cond_wait F
@@ -197,7 +196,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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index be6e5dcd3d..7a678786d7 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_init F
 GLIBC_2.0 pthread_cond_signal F
 GLIBC_2.0 pthread_cond_timedwait F
 GLIBC_2.0 pthread_cond_wait 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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index a2be53b8c5..ea8f277428 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_init F
 GLIBC_2.2 pthread_cond_signal F
 GLIBC_2.2 pthread_cond_timedwait F
 GLIBC_2.2 pthread_cond_wait F
@@ -197,7 +196,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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 90780c92d4..dc3231b3d8 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_init F
 GLIBC_2.2.5 pthread_cond_signal F
 GLIBC_2.2.5 pthread_cond_timedwait F
 GLIBC_2.2.5 pthread_cond_wait F
@@ -197,7 +196,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_init F
 GLIBC_2.3.2 pthread_cond_signal F
 GLIBC_2.3.2 pthread_cond_timedwait F
 GLIBC_2.3.2 pthread_cond_wait F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index b24b7b637e..dda01deac9 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_init F
 GLIBC_2.16 pthread_cond_signal F
 GLIBC_2.16 pthread_cond_timedwait F
 GLIBC_2.16 pthread_cond_wait F