[05/19] nptl: Move cnd_init into libc

Message ID 18131cdbe721059de8ca0f5921bdc97aba39f0c0.1619456219.git.fweimer@redhat.com
State Committed
Commit 3eab466e566c5c28cbec55b092fe21e134baac22
Headers
Series nptl: Move most C11 symbols into libc |

Commit Message

Florian Weimer April 26, 2021, 5 p.m. UTC
  The symbol was moved using scripts/move-symbol-to-libc.py.

The __pthread_cond_init@@GLIBC_PRIVATE symbol is no longer
neded, so remove that as well.
---
 nptl/Versions                                         |  4 ++--
 sysdeps/pthread/Makefile                              |  3 ++-
 sysdeps/pthread/cnd_init.c                            | 11 ++++++++++-
 sysdeps/unix/sysv/linux/aarch64/libc.abilist          |  2 ++
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist            |  2 ++
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist      |  1 -
 sysdeps/unix/sysv/linux/arc/libc.abilist              |  2 ++
 sysdeps/unix/sysv/linux/arc/libpthread.abilist        |  1 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist           |  2 ++
 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist           |  2 ++
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/csky/libc.abilist             |  2 ++
 sysdeps/unix/sysv/linux/csky/libpthread.abilist       |  1 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist             |  2 ++
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist       |  1 -
 sysdeps/unix/sysv/linux/i386/libc.abilist             |  2 ++
 sysdeps/unix/sysv/linux/i386/libpthread.abilist       |  1 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist             |  2 ++
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist       |  1 -
 sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist    |  2 ++
 .../unix/sysv/linux/m68k/coldfire/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist      |  2 ++
 .../unix/sysv/linux/m68k/m680x0/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/microblaze/be/libc.abilist    |  2 ++
 .../unix/sysv/linux/microblaze/be/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/microblaze/le/libc.abilist    |  2 ++
 .../unix/sysv/linux/microblaze/le/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  2 ++
 .../unix/sysv/linux/mips/mips32/libpthread.abilist    |  1 -
 .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist    |  2 ++
 .../unix/sysv/linux/mips/mips64/libpthread.abilist    |  1 -
 sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist  |  2 ++
 sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist  |  2 ++
 sysdeps/unix/sysv/linux/nios2/libc.abilist            |  2 ++
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist      |  1 -
 .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist     |  2 ++
 .../sysv/linux/powerpc/powerpc32/libpthread.abilist   |  1 -
 .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   |  2 ++
 .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist |  2 ++
 .../linux/powerpc/powerpc64/be/libpthread.abilist     |  1 -
 .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist |  2 ++
 .../linux/powerpc/powerpc64/le/libpthread.abilist     |  1 -
 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist       |  2 ++
 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist       |  2 ++
 sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist     |  2 ++
 .../unix/sysv/linux/s390/s390-32/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist     |  2 ++
 .../unix/sysv/linux/s390/s390-64/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist            |  2 ++
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist      |  1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist            |  2 ++
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist      |  1 -
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist    |  2 ++
 .../unix/sysv/linux/sparc/sparc32/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist    |  2 ++
 .../unix/sysv/linux/sparc/sparc64/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist        |  2 ++
 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist  |  1 -
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist       |  2 ++
 sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist |  1 -
 64 files changed, 78 insertions(+), 33 deletions(-)
  

Comments

Carlos O'Donell May 2, 2021, 8:46 p.m. UTC | #1
On 4/26/21 1:00 PM, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.

Tested and reviewed on x86_64 and i686.

LGTM.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
 
> The __pthread_cond_init@@GLIBC_PRIVATE symbol is no longer
> neded, so remove that as well.
> ---
>  nptl/Versions                                         |  4 ++--
>  sysdeps/pthread/Makefile                              |  3 ++-
>  sysdeps/pthread/cnd_init.c                            | 11 ++++++++++-
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist          |  2 ++
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist              |  2 ++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist        |  1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist           |  2 ++
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist             |  2 ++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist       |  1 -
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist    |  2 ++
>  .../unix/sysv/linux/m68k/coldfire/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist      |  2 ++
>  .../unix/sysv/linux/m68k/m680x0/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist    |  2 ++
>  .../unix/sysv/linux/microblaze/be/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist    |  2 ++
>  .../unix/sysv/linux/microblaze/le/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist  |  2 ++
>  .../unix/sysv/linux/mips/mips32/libpthread.abilist    |  1 -
>  .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist    |  2 ++
>  .../unix/sysv/linux/mips/mips64/libpthread.abilist    |  1 -
>  sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist  |  2 ++
>  sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist  |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist      |  1 -
>  .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist     |  2 ++
>  .../sysv/linux/powerpc/powerpc32/libpthread.abilist   |  1 -
>  .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   |  2 ++
>  .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist |  2 ++
>  .../linux/powerpc/powerpc64/be/libpthread.abilist     |  1 -
>  .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist |  2 ++
>  .../linux/powerpc/powerpc64/le/libpthread.abilist     |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist     |  2 ++
>  .../unix/sysv/linux/s390/s390-32/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist     |  2 ++
>  .../unix/sysv/linux/s390/s390-64/libpthread.abilist   |  1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist            |  2 ++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist      |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sparc/sparc32/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist    |  2 ++
>  .../unix/sysv/linux/sparc/sparc64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist        |  2 ++
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist  |  1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist       |  2 ++
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist |  1 -
>  64 files changed, 78 insertions(+), 33 deletions(-)
> 
> diff --git a/nptl/Versions b/nptl/Versions
> index 08fcebacb7..3b11cc1797 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -129,6 +129,7 @@ libc {
>      call_once;
>      cnd_broadcast;
>      cnd_destroy;
> +    cnd_init;
>      thrd_current;
>      thrd_equal;
>      thrd_sleep;
> @@ -160,6 +161,7 @@ libc {
>      call_once;
>      cnd_broadcast;
>      cnd_destroy;
> +    cnd_init;
>      pthread_cond_clockwait;
>      pthread_condattr_getclock;
>      pthread_condattr_getpshared;
> @@ -222,7 +224,6 @@ libc {
>      __pthread_cleanup_pop;
>      __pthread_cleanup_push;
>      __pthread_cleanup_upto;
> -    __pthread_cond_init; # Used by the C11 threads.
>      __pthread_cond_signal; # Used by the C11 threads.
>      __pthread_cond_timedwait; # Used by the C11 threads.
>      __pthread_cond_wait; # Used by the C11 threads.
> @@ -376,7 +377,6 @@ libpthread {
>  
>    # C11 thread symbols.
>    GLIBC_2.28 {
> -    cnd_init;
>      cnd_signal;
>      cnd_timedwait;
>      cnd_wait;
> diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile
> index d7cfce2d33..6ef49cd4b4 100644
> --- a/sysdeps/pthread/Makefile
> +++ b/sysdeps/pthread/Makefile
> @@ -34,13 +34,14 @@ routines += thrd_current thrd_equal thrd_sleep thrd_yield
>  libpthread-routines += thrd_create thrd_detach thrd_exit thrd_join \
>  		       mtx_destroy mtx_init mtx_lock mtx_timedlock \
>  		       mtx_trylock mtx_unlock \
> -		       cnd_init cnd_signal cnd_timedwait cnd_wait \
> +		       cnd_signal cnd_timedwait cnd_wait \
>  		       tss_create tss_delete tss_get tss_set
>  
>  $(libpthread-routines-var) += \
>    call_once \
>    cnd_broadcast \
>    cnd_destroy \
> +  cnd_init \
>  
>  tests += tst-cnd-basic tst-mtx-trylock tst-cnd-broadcast \
>  	 tst-cnd-timedwait tst-thrd-detach tst-mtx-basic tst-thrd-sleep \
> diff --git a/sysdeps/pthread/cnd_init.c b/sysdeps/pthread/cnd_init.c
> index 044cc1d173..791a9ebf62 100644
> --- a/sysdeps/pthread/cnd_init.c
> +++ b/sysdeps/pthread/cnd_init.c
> @@ -17,11 +17,12 @@
>     <https://www.gnu.org/licenses/>.  */
>  
>  #include <stdalign.h>
> +#include <shlib-compat.h>
>  
>  #include "thrd_priv.h"
>  
>  int
> -cnd_init (cnd_t *cond)
> +__cnd_init (cnd_t *cond)
>  {
>    _Static_assert (sizeof (cnd_t) == sizeof (pthread_cond_t),
>  		  "(sizeof (cnd_t) != sizeof (pthread_cond_t)");
> @@ -31,3 +32,11 @@ cnd_init (cnd_t *cond)
>    int err_code = __pthread_cond_init ((pthread_cond_t *)cond, NULL);
>    return thrd_err_map (err_code);
>  }
> +#if PTHREAD_IN_LIBC
> +versioned_symbol (libc, __cnd_init, cnd_init, GLIBC_2_34);
> +# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_28, GLIBC_2_34)
> +compat_symbol (libpthread, __cnd_init, cnd_init, GLIBC_2_28);
> +# endif
> +#else /* !PTHREAD_IN_LIBC */
> +strong_alias (__cnd_init, cnd_init)
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index b7236ac82e..82dc863ef3 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -2201,6 +2201,7 @@ GLIBC_2.27 wcstof64x_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
> @@ -2255,6 +2256,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 2fc70b29d0..93724a8ff9 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -69,7 +69,6 @@ GLIBC_2.17 sem_unlink F
>  GLIBC_2.17 sem_wait F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index af30149d8d..8329679f29 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2094,6 +2094,7 @@ GLIBC_2.27 wcstof64x_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
> @@ -2336,6 +2337,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index be6670f777..fa03817bb4 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -69,7 +69,6 @@ GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 2c3bbd8fb2..21a20f8bfb 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -628,6 +628,7 @@ GLIBC_2.32 closedir F
>  GLIBC_2.32 closelog F
>  GLIBC_2.32 cnd_broadcast F
>  GLIBC_2.32 cnd_destroy F
> +GLIBC_2.32 cnd_init F
>  GLIBC_2.32 confstr F
>  GLIBC_2.32 connect F
>  GLIBC_2.32 copy_file_range F
> @@ -2014,6 +2015,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index e065ba609d..b66e7d1ff0 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -10,7 +10,6 @@ GLIBC_2.32 __pthread_rwlock_tryrdlock F
>  GLIBC_2.32 __pthread_rwlock_trywrlock F
>  GLIBC_2.32 __pthread_unregister_cancel F
>  GLIBC_2.32 __pthread_unregister_cancel_restore F
> -GLIBC_2.32 cnd_init F
>  GLIBC_2.32 cnd_signal F
>  GLIBC_2.32 cnd_timedwait F
>  GLIBC_2.32 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index e1b4beda1f..3ab1972292 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -121,6 +121,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -179,6 +180,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 33f2773528..902535338c 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -3,7 +3,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index 816f15b789..8d5c7e4820 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -121,6 +121,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -176,6 +177,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 33f2773528..902535338c 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -3,7 +3,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 7035f7fe5a..5aa62f1e05 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -663,6 +663,7 @@ GLIBC_2.29 closedir F
>  GLIBC_2.29 closelog F
>  GLIBC_2.29 cnd_broadcast F
>  GLIBC_2.29 cnd_destroy F
> +GLIBC_2.29 cnd_init F
>  GLIBC_2.29 confstr F
>  GLIBC_2.29 connect F
>  GLIBC_2.29 copy_file_range F
> @@ -2198,6 +2199,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 1c1f20d069..c2e41b2cab 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -10,7 +10,6 @@ GLIBC_2.29 __pthread_rwlock_tryrdlock F
>  GLIBC_2.29 __pthread_rwlock_trywrlock F
>  GLIBC_2.29 __pthread_unregister_cancel F
>  GLIBC_2.29 __pthread_unregister_cancel_restore F
> -GLIBC_2.29 cnd_init F
>  GLIBC_2.29 cnd_signal F
>  GLIBC_2.29 cnd_timedwait F
>  GLIBC_2.29 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index f1b97213b8..f777557f02 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1932,6 +1932,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2149,6 +2150,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index a64697fd3b..305487327e 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 7d83e71ed3..40f0160e19 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2106,6 +2106,7 @@ GLIBC_2.27 wcstof64x_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2326,6 +2327,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 84d2421b5b..de78549545 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -69,7 +69,6 @@ GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 0497849035..c9aa8458f5 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1968,6 +1968,7 @@ GLIBC_2.27 wcstof64x_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
> @@ -2183,6 +2184,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 2b1d6498c9..710d4d2b9a 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 307ca0c188..2414aeb109 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -122,6 +122,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -180,6 +181,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 33f2773528..902535338c 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -3,7 +3,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 7191931fa6..d42db9420e 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2049,6 +2049,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2269,6 +2270,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 84d2421b5b..de78549545 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -69,7 +69,6 @@ GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index edc60f5349..656f585051 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -2191,6 +2191,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2249,6 +2250,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index cde7ab521d..756576a8ab 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -69,7 +69,6 @@ GLIBC_2.18 sem_timedwait F
>  GLIBC_2.18 sem_trywait F
>  GLIBC_2.18 sem_unlink F
>  GLIBC_2.18 sem_wait F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index f1556f9eac..33413f4f05 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -2191,6 +2191,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2246,6 +2247,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index cde7ab521d..756576a8ab 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -69,7 +69,6 @@ GLIBC_2.18 sem_timedwait F
>  GLIBC_2.18 sem_trywait F
>  GLIBC_2.18 sem_unlink F
>  GLIBC_2.18 sem_wait F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index a072735778..6b3f03f513 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2019,6 +2019,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2232,6 +2233,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index b379783371..9dc3101c6f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -68,7 +68,6 @@ GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 4f201fa1a4..382371d19b 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2017,6 +2017,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2230,6 +2231,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index b379783371..9dc3101c6f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -68,7 +68,6 @@ GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 96428847ca..249e496df3 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2025,6 +2025,7 @@ GLIBC_2.27 wcstof64x_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2238,6 +2239,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 2dfae80e0c..02550d527e 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2021,6 +2021,7 @@ GLIBC_2.27 wcstof64x_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
> @@ -2232,6 +2233,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 14195c2606..c4ae514ecc 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -2233,6 +2233,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2288,6 +2289,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 8967a5b4ee..b8adb42f06 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -69,7 +69,6 @@ GLIBC_2.21 sem_timedwait F
>  GLIBC_2.21 sem_trywait F
>  GLIBC_2.21 sem_unlink F
>  GLIBC_2.21 sem_wait F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index f22c55c3fe..11c2b1e239 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2053,6 +2053,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2296,6 +2297,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 3a6b340995..c03885bb21 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -69,7 +69,6 @@ GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 69ff47f672..1c006b9ab9 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2057,6 +2057,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2329,6 +2330,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index c4c2294a3b..0d4282e2e8 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -122,6 +122,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
> @@ -2150,6 +2151,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index a4e1072df8..2e5da1de83 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -3,7 +3,6 @@ GLIBC_2.12 pthread_getname_np F
>  GLIBC_2.12 pthread_setname_np F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index c21a5b8e37..ad55daf946 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -2291,6 +2291,7 @@ GLIBC_2.27 wcstof64x_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
> @@ -2451,6 +2452,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 2fc70b29d0..93724a8ff9 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -69,7 +69,6 @@ GLIBC_2.17 sem_unlink F
>  GLIBC_2.17 sem_wait F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 5d3a06c16f..8f530ab165 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -621,6 +621,7 @@ GLIBC_2.33 closedir F
>  GLIBC_2.33 closelog F
>  GLIBC_2.33 cnd_broadcast F
>  GLIBC_2.33 cnd_destroy F
> +GLIBC_2.33 cnd_init F
>  GLIBC_2.33 confstr F
>  GLIBC_2.33 connect F
>  GLIBC_2.33 copy_file_range F
> @@ -2016,6 +2017,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 90182ed58c..fbd2562c70 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -10,7 +10,6 @@ GLIBC_2.33 __pthread_rwlock_tryrdlock F
>  GLIBC_2.33 __pthread_rwlock_trywrlock F
>  GLIBC_2.33 __pthread_unregister_cancel F
>  GLIBC_2.33 __pthread_unregister_cancel_restore F
> -GLIBC_2.33 cnd_init F
>  GLIBC_2.33 cnd_signal F
>  GLIBC_2.33 cnd_timedwait F
>  GLIBC_2.33 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index aa6069610f..6f2f2ebee6 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -2162,6 +2162,7 @@ GLIBC_2.27 xprt_unregister F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
> @@ -2216,6 +2217,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index d245f51458..b381939ab0 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -69,7 +69,6 @@ GLIBC_2.27 sem_timedwait F
>  GLIBC_2.27 sem_trywait F
>  GLIBC_2.27 sem_unlink F
>  GLIBC_2.27 sem_wait F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index ce48f75533..340f072aff 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2062,6 +2062,7 @@ GLIBC_2.27 wcstof64x_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2294,6 +2295,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 34ed551fc4..a3055aa2ca 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -70,7 +70,6 @@ GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index d39120d119..85a791ae9d 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1960,6 +1960,7 @@ GLIBC_2.27 wcstof64x_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
> @@ -2187,6 +2188,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 2aad6ea032..dfba603782 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -62,7 +62,6 @@ GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index d02efe81dd..604475e771 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1936,6 +1936,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2156,6 +2157,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index a64697fd3b..305487327e 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 2ff5c0eb65..cca015e57e 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1936,6 +1936,7 @@ GLIBC_2.27 wcstof64_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2153,6 +2154,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index a64697fd3b..305487327e 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index afb234ddc1..4d00e4d3ab 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2056,6 +2056,7 @@ GLIBC_2.27 wcstof64x_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
> @@ -2285,6 +2286,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index be6670f777..fa03817bb4 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -69,7 +69,6 @@ GLIBC_2.2 pthread_yield F
>  GLIBC_2.2 sem_timedwait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index c351223840..6f5d711aa0 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1990,6 +1990,7 @@ GLIBC_2.27 wcstof64x_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
> @@ -2204,6 +2205,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 2b1d6498c9..710d4d2b9a 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F
>  GLIBC_2.2 sem_wait F
>  GLIBC_2.2.3 __libpthread_version_placeholder F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 036d27f4fe..ededb94277 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1949,6 +1949,7 @@ GLIBC_2.27 wcstof64x_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
> @@ -2165,6 +2166,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index df633c1a1b..4dc928d9b8 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -60,7 +60,6 @@ GLIBC_2.2.5 sem_trywait F
>  GLIBC_2.2.5 sem_unlink F
>  GLIBC_2.2.5 sem_wait F
>  GLIBC_2.2.6 __libpthread_version_placeholder F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 8fc39c63c8..86ebbc90e6 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -2214,6 +2214,7 @@ GLIBC_2.27 wcstof64x_l F
>  GLIBC_2.28 call_once F
>  GLIBC_2.28 cnd_broadcast F
>  GLIBC_2.28 cnd_destroy F
> +GLIBC_2.28 cnd_init F
>  GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
> @@ -2270,6 +2271,7 @@ GLIBC_2.34 __pthread_unwind_next F
>  GLIBC_2.34 call_once F
>  GLIBC_2.34 cnd_broadcast F
>  GLIBC_2.34 cnd_destroy F
> +GLIBC_2.34 cnd_init F
>  GLIBC_2.34 pthread_cond_clockwait F
>  GLIBC_2.34 pthread_condattr_getclock F
>  GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 070ccfa078..50eb92c4b6 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -69,7 +69,6 @@ GLIBC_2.16 sem_unlink F
>  GLIBC_2.16 sem_wait F
>  GLIBC_2.18 pthread_getattr_default_np F
>  GLIBC_2.18 pthread_setattr_default_np F
> -GLIBC_2.28 cnd_init F
>  GLIBC_2.28 cnd_signal F
>  GLIBC_2.28 cnd_timedwait F
>  GLIBC_2.28 cnd_wait F
>
  

Patch

diff --git a/nptl/Versions b/nptl/Versions
index 08fcebacb7..3b11cc1797 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -129,6 +129,7 @@  libc {
     call_once;
     cnd_broadcast;
     cnd_destroy;
+    cnd_init;
     thrd_current;
     thrd_equal;
     thrd_sleep;
@@ -160,6 +161,7 @@  libc {
     call_once;
     cnd_broadcast;
     cnd_destroy;
+    cnd_init;
     pthread_cond_clockwait;
     pthread_condattr_getclock;
     pthread_condattr_getpshared;
@@ -222,7 +224,6 @@  libc {
     __pthread_cleanup_pop;
     __pthread_cleanup_push;
     __pthread_cleanup_upto;
-    __pthread_cond_init; # Used by the C11 threads.
     __pthread_cond_signal; # Used by the C11 threads.
     __pthread_cond_timedwait; # Used by the C11 threads.
     __pthread_cond_wait; # Used by the C11 threads.
@@ -376,7 +377,6 @@  libpthread {
 
   # C11 thread symbols.
   GLIBC_2.28 {
-    cnd_init;
     cnd_signal;
     cnd_timedwait;
     cnd_wait;
diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile
index d7cfce2d33..6ef49cd4b4 100644
--- a/sysdeps/pthread/Makefile
+++ b/sysdeps/pthread/Makefile
@@ -34,13 +34,14 @@  routines += thrd_current thrd_equal thrd_sleep thrd_yield
 libpthread-routines += thrd_create thrd_detach thrd_exit thrd_join \
 		       mtx_destroy mtx_init mtx_lock mtx_timedlock \
 		       mtx_trylock mtx_unlock \
-		       cnd_init cnd_signal cnd_timedwait cnd_wait \
+		       cnd_signal cnd_timedwait cnd_wait \
 		       tss_create tss_delete tss_get tss_set
 
 $(libpthread-routines-var) += \
   call_once \
   cnd_broadcast \
   cnd_destroy \
+  cnd_init \
 
 tests += tst-cnd-basic tst-mtx-trylock tst-cnd-broadcast \
 	 tst-cnd-timedwait tst-thrd-detach tst-mtx-basic tst-thrd-sleep \
diff --git a/sysdeps/pthread/cnd_init.c b/sysdeps/pthread/cnd_init.c
index 044cc1d173..791a9ebf62 100644
--- a/sysdeps/pthread/cnd_init.c
+++ b/sysdeps/pthread/cnd_init.c
@@ -17,11 +17,12 @@ 
    <https://www.gnu.org/licenses/>.  */
 
 #include <stdalign.h>
+#include <shlib-compat.h>
 
 #include "thrd_priv.h"
 
 int
-cnd_init (cnd_t *cond)
+__cnd_init (cnd_t *cond)
 {
   _Static_assert (sizeof (cnd_t) == sizeof (pthread_cond_t),
 		  "(sizeof (cnd_t) != sizeof (pthread_cond_t)");
@@ -31,3 +32,11 @@  cnd_init (cnd_t *cond)
   int err_code = __pthread_cond_init ((pthread_cond_t *)cond, NULL);
   return thrd_err_map (err_code);
 }
+#if PTHREAD_IN_LIBC
+versioned_symbol (libc, __cnd_init, cnd_init, GLIBC_2_34);
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_28, GLIBC_2_34)
+compat_symbol (libpthread, __cnd_init, cnd_init, GLIBC_2_28);
+# endif
+#else /* !PTHREAD_IN_LIBC */
+strong_alias (__cnd_init, cnd_init)
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index b7236ac82e..82dc863ef3 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -2201,6 +2201,7 @@  GLIBC_2.27 wcstof64x_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
@@ -2255,6 +2256,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 2fc70b29d0..93724a8ff9 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -69,7 +69,6 @@  GLIBC_2.17 sem_unlink F
 GLIBC_2.17 sem_wait F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index af30149d8d..8329679f29 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2094,6 +2094,7 @@  GLIBC_2.27 wcstof64x_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
@@ -2336,6 +2337,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index be6670f777..fa03817bb4 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -69,7 +69,6 @@  GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 2c3bbd8fb2..21a20f8bfb 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -628,6 +628,7 @@  GLIBC_2.32 closedir F
 GLIBC_2.32 closelog F
 GLIBC_2.32 cnd_broadcast F
 GLIBC_2.32 cnd_destroy F
+GLIBC_2.32 cnd_init F
 GLIBC_2.32 confstr F
 GLIBC_2.32 connect F
 GLIBC_2.32 copy_file_range F
@@ -2014,6 +2015,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index e065ba609d..b66e7d1ff0 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -10,7 +10,6 @@  GLIBC_2.32 __pthread_rwlock_tryrdlock F
 GLIBC_2.32 __pthread_rwlock_trywrlock F
 GLIBC_2.32 __pthread_unregister_cancel F
 GLIBC_2.32 __pthread_unregister_cancel_restore F
-GLIBC_2.32 cnd_init F
 GLIBC_2.32 cnd_signal F
 GLIBC_2.32 cnd_timedwait F
 GLIBC_2.32 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index e1b4beda1f..3ab1972292 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -121,6 +121,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -179,6 +180,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 33f2773528..902535338c 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -3,7 +3,6 @@  GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 816f15b789..8d5c7e4820 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -121,6 +121,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -176,6 +177,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 33f2773528..902535338c 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -3,7 +3,6 @@  GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 7035f7fe5a..5aa62f1e05 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -663,6 +663,7 @@  GLIBC_2.29 closedir F
 GLIBC_2.29 closelog F
 GLIBC_2.29 cnd_broadcast F
 GLIBC_2.29 cnd_destroy F
+GLIBC_2.29 cnd_init F
 GLIBC_2.29 confstr F
 GLIBC_2.29 connect F
 GLIBC_2.29 copy_file_range F
@@ -2198,6 +2199,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 1c1f20d069..c2e41b2cab 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -10,7 +10,6 @@  GLIBC_2.29 __pthread_rwlock_tryrdlock F
 GLIBC_2.29 __pthread_rwlock_trywrlock F
 GLIBC_2.29 __pthread_unregister_cancel F
 GLIBC_2.29 __pthread_unregister_cancel_restore F
-GLIBC_2.29 cnd_init F
 GLIBC_2.29 cnd_signal F
 GLIBC_2.29 cnd_timedwait F
 GLIBC_2.29 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index f1b97213b8..f777557f02 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1932,6 +1932,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2149,6 +2150,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index a64697fd3b..305487327e 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -61,7 +61,6 @@  GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 7d83e71ed3..40f0160e19 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2106,6 +2106,7 @@  GLIBC_2.27 wcstof64x_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2326,6 +2327,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 84d2421b5b..de78549545 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -69,7 +69,6 @@  GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 0497849035..c9aa8458f5 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1968,6 +1968,7 @@  GLIBC_2.27 wcstof64x_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
@@ -2183,6 +2184,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 2b1d6498c9..710d4d2b9a 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -61,7 +61,6 @@  GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 307ca0c188..2414aeb109 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -122,6 +122,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -180,6 +181,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 33f2773528..902535338c 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -3,7 +3,6 @@  GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 7191931fa6..d42db9420e 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2049,6 +2049,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2269,6 +2270,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 84d2421b5b..de78549545 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -69,7 +69,6 @@  GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index edc60f5349..656f585051 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2191,6 +2191,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2249,6 +2250,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index cde7ab521d..756576a8ab 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -69,7 +69,6 @@  GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
 GLIBC_2.18 sem_unlink F
 GLIBC_2.18 sem_wait F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index f1556f9eac..33413f4f05 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2191,6 +2191,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2246,6 +2247,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index cde7ab521d..756576a8ab 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -69,7 +69,6 @@  GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
 GLIBC_2.18 sem_unlink F
 GLIBC_2.18 sem_wait F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index a072735778..6b3f03f513 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2019,6 +2019,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2232,6 +2233,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index b379783371..9dc3101c6f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -68,7 +68,6 @@  GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 4f201fa1a4..382371d19b 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2017,6 +2017,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2230,6 +2231,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index b379783371..9dc3101c6f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -68,7 +68,6 @@  GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 96428847ca..249e496df3 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2025,6 +2025,7 @@  GLIBC_2.27 wcstof64x_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2238,6 +2239,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 2dfae80e0c..02550d527e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2021,6 +2021,7 @@  GLIBC_2.27 wcstof64x_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
@@ -2232,6 +2233,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 14195c2606..c4ae514ecc 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2233,6 +2233,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2288,6 +2289,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 8967a5b4ee..b8adb42f06 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -69,7 +69,6 @@  GLIBC_2.21 sem_timedwait F
 GLIBC_2.21 sem_trywait F
 GLIBC_2.21 sem_unlink F
 GLIBC_2.21 sem_wait F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index f22c55c3fe..11c2b1e239 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2053,6 +2053,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2296,6 +2297,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 3a6b340995..c03885bb21 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -69,7 +69,6 @@  GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 69ff47f672..1c006b9ab9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2057,6 +2057,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2329,6 +2330,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index c4c2294a3b..0d4282e2e8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -122,6 +122,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
@@ -2150,6 +2151,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index a4e1072df8..2e5da1de83 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -3,7 +3,6 @@  GLIBC_2.12 pthread_getname_np F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index c21a5b8e37..ad55daf946 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -2291,6 +2291,7 @@  GLIBC_2.27 wcstof64x_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
@@ -2451,6 +2452,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 2fc70b29d0..93724a8ff9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -69,7 +69,6 @@  GLIBC_2.17 sem_unlink F
 GLIBC_2.17 sem_wait F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 5d3a06c16f..8f530ab165 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -621,6 +621,7 @@  GLIBC_2.33 closedir F
 GLIBC_2.33 closelog F
 GLIBC_2.33 cnd_broadcast F
 GLIBC_2.33 cnd_destroy F
+GLIBC_2.33 cnd_init F
 GLIBC_2.33 confstr F
 GLIBC_2.33 connect F
 GLIBC_2.33 copy_file_range F
@@ -2016,6 +2017,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 90182ed58c..fbd2562c70 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -10,7 +10,6 @@  GLIBC_2.33 __pthread_rwlock_tryrdlock F
 GLIBC_2.33 __pthread_rwlock_trywrlock F
 GLIBC_2.33 __pthread_unregister_cancel F
 GLIBC_2.33 __pthread_unregister_cancel_restore F
-GLIBC_2.33 cnd_init F
 GLIBC_2.33 cnd_signal F
 GLIBC_2.33 cnd_timedwait F
 GLIBC_2.33 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index aa6069610f..6f2f2ebee6 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -2162,6 +2162,7 @@  GLIBC_2.27 xprt_unregister F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
@@ -2216,6 +2217,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index d245f51458..b381939ab0 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -69,7 +69,6 @@  GLIBC_2.27 sem_timedwait F
 GLIBC_2.27 sem_trywait F
 GLIBC_2.27 sem_unlink F
 GLIBC_2.27 sem_wait F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index ce48f75533..340f072aff 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2062,6 +2062,7 @@  GLIBC_2.27 wcstof64x_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2294,6 +2295,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 34ed551fc4..a3055aa2ca 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -70,7 +70,6 @@  GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index d39120d119..85a791ae9d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1960,6 +1960,7 @@  GLIBC_2.27 wcstof64x_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
@@ -2187,6 +2188,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 2aad6ea032..dfba603782 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -62,7 +62,6 @@  GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index d02efe81dd..604475e771 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1936,6 +1936,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2156,6 +2157,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index a64697fd3b..305487327e 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -61,7 +61,6 @@  GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 2ff5c0eb65..cca015e57e 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1936,6 +1936,7 @@  GLIBC_2.27 wcstof64_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2153,6 +2154,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index a64697fd3b..305487327e 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -61,7 +61,6 @@  GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index afb234ddc1..4d00e4d3ab 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2056,6 +2056,7 @@  GLIBC_2.27 wcstof64x_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
@@ -2285,6 +2286,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index be6670f777..fa03817bb4 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -69,7 +69,6 @@  GLIBC_2.2 pthread_yield F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index c351223840..6f5d711aa0 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1990,6 +1990,7 @@  GLIBC_2.27 wcstof64x_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
@@ -2204,6 +2205,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 2b1d6498c9..710d4d2b9a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -61,7 +61,6 @@  GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 036d27f4fe..ededb94277 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1949,6 +1949,7 @@  GLIBC_2.27 wcstof64x_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
@@ -2165,6 +2166,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index df633c1a1b..4dc928d9b8 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -60,7 +60,6 @@  GLIBC_2.2.5 sem_trywait F
 GLIBC_2.2.5 sem_unlink F
 GLIBC_2.2.5 sem_wait F
 GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 8fc39c63c8..86ebbc90e6 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -2214,6 +2214,7 @@  GLIBC_2.27 wcstof64x_l F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
+GLIBC_2.28 cnd_init F
 GLIBC_2.28 fcntl64 F
 GLIBC_2.28 renameat2 F
 GLIBC_2.28 statx F
@@ -2270,6 +2271,7 @@  GLIBC_2.34 __pthread_unwind_next F
 GLIBC_2.34 call_once F
 GLIBC_2.34 cnd_broadcast F
 GLIBC_2.34 cnd_destroy F
+GLIBC_2.34 cnd_init F
 GLIBC_2.34 pthread_cond_clockwait F
 GLIBC_2.34 pthread_condattr_getclock F
 GLIBC_2.34 pthread_condattr_getpshared F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 070ccfa078..50eb92c4b6 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -69,7 +69,6 @@  GLIBC_2.16 sem_unlink F
 GLIBC_2.16 sem_wait F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.28 cnd_init F
 GLIBC_2.28 cnd_signal F
 GLIBC_2.28 cnd_timedwait F
 GLIBC_2.28 cnd_wait F