[PATCH 07/19] nptl: Move cnd_timedwait into libc
Carlos O'Donell
carlos@redhat.com
Sun May 2 20:46:43 GMT 2021
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_timedwait@@GLIBC_PRIVATE symbol is no longer
> neded, so remove that as well.
> ---
> nptl/Versions | 4 ++--
> nptl/pthread_cond_wait.c | 10 +++++----
> sysdeps/pthread/Makefile | 3 ++-
> sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 ++
> .../sysv/linux/aarch64/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 ++
> .../unix/sysv/linux/alpha/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/arc/libc.abilist | 2 ++
> .../unix/sysv/linux/arc/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 ++
> .../unix/sysv/linux/arm/be/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 ++
> .../unix/sysv/linux/arm/le/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/cnd_timedwait.c | 21 ++++++++++++-------
> sysdeps/unix/sysv/linux/csky/libc.abilist | 2 ++
> .../unix/sysv/linux/csky/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 ++
> .../unix/sysv/linux/hppa/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/i386/libc.abilist | 2 ++
> .../unix/sysv/linux/i386/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 ++
> .../unix/sysv/linux/ia64/libpthread.abilist | 1 -
> .../sysv/linux/m68k/coldfire/libc.abilist | 2 ++
> .../linux/m68k/coldfire/libpthread.abilist | 1 -
> .../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 ++
> .../sysv/linux/m68k/m680x0/libpthread.abilist | 1 -
> .../sysv/linux/microblaze/be/libc.abilist | 2 ++
> .../linux/microblaze/be/libpthread.abilist | 1 -
> .../sysv/linux/microblaze/le/libc.abilist | 2 ++
> .../linux/microblaze/le/libpthread.abilist | 1 -
> .../sysv/linux/mips/mips32/fpu/libc.abilist | 2 ++
> .../sysv/linux/mips/mips32/libpthread.abilist | 1 -
> .../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 ++
> .../sysv/linux/mips/mips64/libpthread.abilist | 1 -
> .../sysv/linux/mips/mips64/n32/libc.abilist | 2 ++
> .../sysv/linux/mips/mips64/n64/libc.abilist | 2 ++
> sysdeps/unix/sysv/linux/nios2/libc.abilist | 2 ++
> .../unix/sysv/linux/nios2/libpthread.abilist | 1 -
> .../linux/powerpc/powerpc32/fpu/libc.abilist | 2 ++
> .../powerpc/powerpc32/libpthread.abilist | 1 -
> .../powerpc/powerpc32/nofpu/libc.abilist | 2 ++
> .../linux/powerpc/powerpc64/be/libc.abilist | 2 ++
> .../powerpc/powerpc64/be/libpthread.abilist | 1 -
> .../linux/powerpc/powerpc64/le/libc.abilist | 2 ++
> .../powerpc/powerpc64/le/libpthread.abilist | 1 -
> .../unix/sysv/linux/riscv/rv32/libc.abilist | 2 ++
> .../sysv/linux/riscv/rv32/libpthread.abilist | 1 -
> .../unix/sysv/linux/riscv/rv64/libc.abilist | 2 ++
> .../sysv/linux/riscv/rv64/libpthread.abilist | 1 -
> .../unix/sysv/linux/s390/s390-32/libc.abilist | 2 ++
> .../linux/s390/s390-32/libpthread.abilist | 1 -
> .../unix/sysv/linux/s390/s390-64/libc.abilist | 2 ++
> .../linux/s390/s390-64/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 ++
> .../unix/sysv/linux/sh/be/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 ++
> .../unix/sysv/linux/sh/le/libpthread.abilist | 1 -
> .../sysv/linux/sparc/sparc32/libc.abilist | 2 ++
> .../linux/sparc/sparc32/libpthread.abilist | 1 -
> .../sysv/linux/sparc/sparc64/libc.abilist | 2 ++
> .../linux/sparc/sparc64/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/thrd_priv.h | 2 +-
> .../unix/sysv/linux/x86_64/64/libc.abilist | 2 ++
> .../sysv/linux/x86_64/64/libpthread.abilist | 1 -
> .../unix/sysv/linux/x86_64/x32/libc.abilist | 2 ++
> .../sysv/linux/x86_64/x32/libpthread.abilist | 1 -
> 66 files changed, 89 insertions(+), 44 deletions(-)
>
> diff --git a/nptl/Versions b/nptl/Versions
> index b18709c8e1..1aecde43ed 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -131,6 +131,7 @@ libc {
> cnd_destroy;
> cnd_init;
> cnd_signal;
> + cnd_timedwait;
> thrd_current;
> thrd_equal;
> thrd_sleep;
> @@ -164,6 +165,7 @@ libc {
> cnd_destroy;
> cnd_init;
> cnd_signal;
> + cnd_timedwait;
> pthread_cond_clockwait;
> pthread_condattr_getclock;
> pthread_condattr_getpshared;
> @@ -226,7 +228,6 @@ libc {
> __pthread_cleanup_pop;
> __pthread_cleanup_push;
> __pthread_cleanup_upto;
> - __pthread_cond_timedwait; # Used by the C11 threads.
> __pthread_cond_wait; # Used by the C11 threads.
> __pthread_current_priority;
> __pthread_exit;
> @@ -378,7 +379,6 @@ libpthread {
>
> # C11 thread symbols.
> GLIBC_2.28 {
> - cnd_timedwait;
> cnd_wait;
> mtx_destroy;
> mtx_init;
> diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c
> index 5a1642b932..89ea231554 100644
> --- a/nptl/pthread_cond_wait.c
> +++ b/nptl/pthread_cond_wait.c
> @@ -646,9 +646,10 @@ ___pthread_cond_timedwait64 (pthread_cond_t *cond, pthread_mutex_t *mutex,
> #if __TIMESIZE == 64
> strong_alias (___pthread_cond_timedwait64, ___pthread_cond_timedwait)
> #else
> -versioned_symbol (libc, ___pthread_cond_timedwait64,
> - __pthread_cond_timedwait64, GLIBC_PRIVATE);
> libc_hidden_ver (___pthread_cond_timedwait64, __pthread_cond_timedwait64)
> +#ifndef SHARED
> +strong_alias (___pthread_cond_timedwait64, __pthread_cond_timedwait64)
> +#endif
>
> int
> ___pthread_cond_timedwait (pthread_cond_t *cond, pthread_mutex_t *mutex,
> @@ -662,8 +663,9 @@ ___pthread_cond_timedwait (pthread_cond_t *cond, pthread_mutex_t *mutex,
> versioned_symbol (libc, ___pthread_cond_timedwait,
> pthread_cond_timedwait, GLIBC_2_3_2);
> libc_hidden_ver (___pthread_cond_timedwait, __pthread_cond_timedwait)
> -versioned_symbol (libc, ___pthread_cond_timedwait,
> - __pthread_cond_timedwait, GLIBC_PRIVATE);
> +#ifndef SHARED
> +strong_alias (___pthread_cond_timedwait, __pthread_cond_timedwait)
> +#endif
>
> /* See __pthread_cond_wait_common. */
> int
> diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile
> index fcc5f841fd..4928f91f04 100644
> --- a/sysdeps/pthread/Makefile
> +++ b/sysdeps/pthread/Makefile
> @@ -34,7 +34,7 @@ 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_timedwait cnd_wait \
> + cnd_wait \
> tss_create tss_delete tss_get tss_set
>
> $(libpthread-routines-var) += \
> @@ -43,6 +43,7 @@ $(libpthread-routines-var) += \
> cnd_destroy \
> cnd_init \
> cnd_signal \
> + cnd_timedwait \
>
> 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/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index defb9dc974..5c8c6dbff5 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -2203,6 +2203,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> @@ -2259,6 +2260,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 2a03782c65..ad08f4362a 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 46fb382ab6..712fe8fd85 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2096,6 +2096,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> @@ -2340,6 +2341,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 95cf8307c1..687b742199 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 01af77fbb0..c7a2b49251 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -630,6 +630,7 @@ GLIBC_2.32 cnd_broadcast F
> GLIBC_2.32 cnd_destroy F
> GLIBC_2.32 cnd_init F
> GLIBC_2.32 cnd_signal F
> +GLIBC_2.32 cnd_timedwait F
> GLIBC_2.32 confstr F
> GLIBC_2.32 connect F
> GLIBC_2.32 copy_file_range F
> @@ -2018,6 +2019,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 83decc712c..d54040242c 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_timedwait F
> GLIBC_2.32 cnd_wait F
> GLIBC_2.32 flockfile F
> GLIBC_2.32 ftrylockfile F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 981e31d7df..5e06805905 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -123,6 +123,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -183,6 +184,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 ee56b58ec8..5e3722bfa0 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index c094d4ca72..8109b70aec 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -123,6 +123,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -180,6 +181,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 ee56b58ec8..5e3722bfa0 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/cnd_timedwait.c b/sysdeps/unix/sysv/linux/cnd_timedwait.c
> index 1bd0e70f7d..0415c683f9 100644
> --- a/sysdeps/unix/sysv/linux/cnd_timedwait.c
> +++ b/sysdeps/unix/sysv/linux/cnd_timedwait.c
> @@ -17,11 +17,12 @@
> <https://www.gnu.org/licenses/>. */
>
> #include <time.h>
> +#include <shlib-compat.h>
> #include "thrd_priv.h"
>
> int
> -__cnd_timedwait64 (cnd_t *restrict cond, mtx_t *restrict mutex,
> - const struct __timespec64 *restrict time_point)
> +___cnd_timedwait64 (cnd_t *restrict cond, mtx_t *restrict mutex,
> + const struct __timespec64 *restrict time_point)
> {
> int err_code = __pthread_cond_timedwait64 ((pthread_cond_t *) cond,
> (pthread_mutex_t *) mutex,
> @@ -29,16 +30,22 @@ __cnd_timedwait64 (cnd_t *restrict cond, mtx_t *restrict mutex,
> return thrd_err_map (err_code);
> }
>
> -#if __TIMESIZE != 64
> -libpthread_hidden_def (__cnd_timedwait64)
> +#if __TIMESIZE == 64
> +strong_alias (___cnd_timedwait64, ___cnd_timedwait)
> +#else
> +libc_hidden_ver (___cnd_timedwait64, __cnd_timedwait64)
>
> int
> -__cnd_timedwait (cnd_t *restrict cond, mtx_t *restrict mutex,
> - const struct timespec *restrict time_point)
> +___cnd_timedwait (cnd_t *restrict cond, mtx_t *restrict mutex,
> + const struct timespec *restrict time_point)
> {
> struct __timespec64 ts64 = valid_timespec_to_timespec64 (*time_point);
>
> return __cnd_timedwait64(cond, mutex, &ts64);
> }
> +#endif /* __TIMESIZE == 64 */
> +versioned_symbol (libc, ___cnd_timedwait, cnd_timedwait, GLIBC_2_34);
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_28, GLIBC_2_34)
> +compat_symbol (libpthread, ___cnd_timedwait, cnd_timedwait, GLIBC_2_28);
> #endif
> -weak_alias (__cnd_timedwait, cnd_timedwait)
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 7eeb378c5d..fec491a915 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -665,6 +665,7 @@ GLIBC_2.29 cnd_broadcast F
> GLIBC_2.29 cnd_destroy F
> GLIBC_2.29 cnd_init F
> GLIBC_2.29 cnd_signal F
> +GLIBC_2.29 cnd_timedwait F
> GLIBC_2.29 confstr F
> GLIBC_2.29 connect F
> GLIBC_2.29 copy_file_range F
> @@ -2202,6 +2203,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 f6bc446e72..41d1755f5c 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_timedwait F
> GLIBC_2.29 cnd_wait F
> GLIBC_2.29 flockfile F
> GLIBC_2.29 ftrylockfile F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index d374294b74..775d252ea8 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1934,6 +1934,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2153,6 +2154,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 23288daa14..1907735eae 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index a04cffe918..fd456cc40f 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2108,6 +2108,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2330,6 +2331,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 95b1fd0c71..0859bb6e01 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 7d726cf83a..f0f6f45173 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1970,6 +1970,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> @@ -2187,6 +2188,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 7ca68df981..2b5f0faafe 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 8ce26f3464..9bce1b9306 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -124,6 +124,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -184,6 +185,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 ee56b58ec8..5e3722bfa0 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index c45351349d..9ad3a48ac7 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2051,6 +2051,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2273,6 +2274,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 95b1fd0c71..0859bb6e01 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index bef33f44c7..01f7f9f610 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -2193,6 +2193,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2253,6 +2254,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 9022a933a6..de1c00e0da 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index b439dd4e20..4295037bc3 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -2193,6 +2193,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2250,6 +2251,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 9022a933a6..de1c00e0da 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 0841e90060..dd084a4cd8 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2021,6 +2021,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2236,6 +2237,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 2bb846c3aa..547af268e9 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index ecaa9272d4..c02d5f6441 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2019,6 +2019,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2234,6 +2235,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 2bb846c3aa..547af268e9 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 0c6ba2872f..9252a6d6b1 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2027,6 +2027,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2242,6 +2243,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 f090cc2c6b..1cc33dff71 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2023,6 +2023,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> @@ -2236,6 +2237,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 920d0cac62..fa171795e8 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -2235,6 +2235,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2292,6 +2293,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 d754e6a54b..6bc25a621a 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index aff18d7606..9c05ec6f69 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2055,6 +2055,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2300,6 +2301,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 e965753d48..ef9b58bcde 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 8bc8c0afaf..0ba84f6229 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2059,6 +2059,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2333,6 +2334,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 ca1f493315..c15f8e1987 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -124,6 +124,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> @@ -2154,6 +2155,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 71d81f8a6e..99a031f12c 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index c138101ee2..159314039b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -2293,6 +2293,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> @@ -2455,6 +2456,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 2a03782c65..ad08f4362a 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 0bc0489a68..d1508cc2e1 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -623,6 +623,7 @@ GLIBC_2.33 cnd_broadcast F
> GLIBC_2.33 cnd_destroy F
> GLIBC_2.33 cnd_init F
> GLIBC_2.33 cnd_signal F
> +GLIBC_2.33 cnd_timedwait F
> GLIBC_2.33 confstr F
> GLIBC_2.33 connect F
> GLIBC_2.33 copy_file_range F
> @@ -2020,6 +2021,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 c081f3b879..ce9c39a66e 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_timedwait F
> GLIBC_2.33 cnd_wait F
> GLIBC_2.33 flockfile F
> GLIBC_2.33 ftrylockfile F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 1381e5756e..21adb65d38 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -2164,6 +2164,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> @@ -2220,6 +2221,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 1c1eb7b63c..2f2f739453 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 65a0363520..df52cb17db 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2064,6 +2064,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2298,6 +2299,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 de7ae45036..51a06f351c 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index f6b14d02f2..f57652d201 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1962,6 +1962,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> @@ -2191,6 +2192,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 518c17fcb9..f0227448e0 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 073735ac3b..ee2f873226 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1938,6 +1938,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2160,6 +2161,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 23288daa14..1907735eae 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 4c33d0bc6d..f5832d5ceb 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1938,6 +1938,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2157,6 +2158,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 23288daa14..1907735eae 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index ab8a5b02b1..e99e3b8d67 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2058,6 +2058,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> @@ -2289,6 +2290,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 95cf8307c1..687b742199 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 9c4952047b..6a16608ffb 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1992,6 +1992,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> @@ -2208,6 +2209,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 7ca68df981..2b5f0faafe 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/thrd_priv.h b/sysdeps/unix/sysv/linux/thrd_priv.h
> index 9fb300df03..81dacdc3ea 100644
> --- a/sysdeps/unix/sysv/linux/thrd_priv.h
> +++ b/sysdeps/unix/sysv/linux/thrd_priv.h
> @@ -25,7 +25,7 @@
> #else
> extern int __cnd_timedwait64 (cnd_t *restrict cond, mtx_t *restrict mutex,
> const struct __timespec64 *restrict time_point);
> -libpthread_hidden_proto (__cnd_timedwait64)
> +libc_hidden_proto (__cnd_timedwait64)
> extern int __mtx_timedlock64 (mtx_t *restrict mutex,
> const struct __timespec64 *restrict time_point);
> libpthread_hidden_proto (__mtx_timedlock64)
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 3e989106f6..6caabf8639 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1951,6 +1951,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> @@ -2169,6 +2170,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 3559c385a0..452198549e 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index b6ff19db0a..7971686678 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -2216,6 +2216,7 @@ GLIBC_2.28 cnd_broadcast F
> GLIBC_2.28 cnd_destroy F
> GLIBC_2.28 cnd_init F
> GLIBC_2.28 cnd_signal F
> +GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> @@ -2274,6 +2275,7 @@ GLIBC_2.34 cnd_broadcast F
> GLIBC_2.34 cnd_destroy F
> GLIBC_2.34 cnd_init F
> GLIBC_2.34 cnd_signal F
> +GLIBC_2.34 cnd_timedwait 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 1ce3839af0..6844d45ecd 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_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 mtx_destroy F
> GLIBC_2.28 mtx_init F
>
--
Cheers,
Carlos.
More information about the Libc-alpha
mailing list