unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Carlos O'Donell via Libc-alpha <libc-alpha@sourceware.org>
To: Florian Weimer <fweimer@redhat.com>, libc-alpha@sourceware.org
Subject: Re: [PATCH 12/19] nptl: Move mtx_timedlock into libc
Date: Sun, 2 May 2021 16:46:36 -0400	[thread overview]
Message-ID: <b6c3004e-26bf-68bb-56c7-f44597ae0bab@redhat.com> (raw)
In-Reply-To: <3d9c36ba8df1ca1eb97f9b09009679c20b407d82.1619456219.git.fweimer@redhat.com>

On 4/26/21 1:02 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_mutex_timedlock@@GLIBC_PRIVATE export is no longer
> needed, so it is removed with this commit.

OK.

> ---
>  nptl/Versions                                 |  4 ++--
>  nptl/pthread_mutex_timedlock.c                |  8 ++++---
>  sysdeps/pthread/Makefile                      |  2 +-
>  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/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/mtx_timedlock.c       | 21 ++++++++++++-------
>  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, 87 insertions(+), 43 deletions(-)
> 
> diff --git a/nptl/Versions b/nptl/Versions
> index 43e56068f5..2c729fc605 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -136,6 +136,7 @@ libc {
>      mtx_destroy;
>      mtx_init;
>      mtx_lock;
> +    mtx_timedlock;
>      thrd_current;
>      thrd_equal;
>      thrd_sleep;
> @@ -170,6 +171,7 @@ libc {
>      mtx_destroy;
>      mtx_init;
>      mtx_lock;
> +    mtx_timedlock;
>      pthread_cond_clockwait;
>      pthread_condattr_getclock;
>      pthread_condattr_getpshared;
> @@ -238,7 +240,6 @@ libc {
>      __pthread_getattr_default_np;
>      __pthread_key_delete;
>      __pthread_keys;
> -    __pthread_mutex_timedlock;
>      __pthread_mutex_unlock_usercnt;
>      __pthread_setcancelstate;
>      __pthread_tpp_change_priority;
> @@ -382,7 +383,6 @@ libpthread {
>  
>    # C11 thread symbols.
>    GLIBC_2.28 {
> -    mtx_timedlock;
>      mtx_trylock;
>      mtx_unlock;
>      thrd_create;
> diff --git a/nptl/pthread_mutex_timedlock.c b/nptl/pthread_mutex_timedlock.c
> index b9cc0a24a1..acd78131b2 100644
> --- a/nptl/pthread_mutex_timedlock.c
> +++ b/nptl/pthread_mutex_timedlock.c
> @@ -631,11 +631,13 @@ ___pthread_mutex_timedlock (pthread_mutex_t *mutex,
>    return __pthread_mutex_timedlock64 (mutex, &ts64);
>  }
>  #endif /* __TIMESPEC64 != 64 */
> -versioned_symbol (libc, ___pthread_mutex_timedlock,
> -		  __pthread_mutex_timedlock, GLIBC_PRIVATE);
> -libc_hidden_ver (___pthread_mutex_timedlock, __pthread_mutex_timedlock)
>  versioned_symbol (libc, ___pthread_mutex_timedlock,
>  		  pthread_mutex_timedlock, GLIBC_2_34);
> +libc_hidden_ver (___pthread_mutex_timedlock, __pthread_mutex_timedlock)
> +#ifndef SHARED
> +strong_alias (___pthread_mutex_timedlock, __pthread_mutex_timedlock)
> +#endif
> +
>  #if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
>  compat_symbol (libpthread, ___pthread_mutex_timedlock,
>  	       pthread_mutex_timedlock, GLIBC_2_2);
> diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile
> index 10ce314076..73ee8abdca 100644
> --- a/sysdeps/pthread/Makefile
> +++ b/sysdeps/pthread/Makefile
> @@ -32,7 +32,6 @@ headers += threads.h
>  routines += thrd_current thrd_equal thrd_sleep thrd_yield
>  
>  libpthread-routines += thrd_create thrd_detach thrd_exit thrd_join \
> -		       mtx_timedlock \
>  		       mtx_trylock mtx_unlock \
>  		       tss_create tss_delete tss_get tss_set
>  
> @@ -47,6 +46,7 @@ $(libpthread-routines-var) += \
>    mtx_destroy \
>    mtx_init \
>    mtx_lock \
> +  mtx_timedlock \
>  
>  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 0c290c1991..a603aef54a 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -2209,6 +2209,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2265,6 +2266,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 37fc95b6ad..384647abf4 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index c940a7a88b..b1ae38e09e 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2102,6 +2102,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2346,6 +2347,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 97c50454fe..03148f24c6 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 16e915f68d..797a78d97d 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1266,6 +1266,7 @@ GLIBC_2.32 mtrace F
>  GLIBC_2.32 mtx_destroy F
>  GLIBC_2.32 mtx_init F
>  GLIBC_2.32 mtx_lock F
> +GLIBC_2.32 mtx_timedlock F
>  GLIBC_2.32 munlock F
>  GLIBC_2.32 munlockall F
>  GLIBC_2.32 munmap F
> @@ -2024,6 +2025,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 623dd3dc21..089af5a029 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -13,7 +13,6 @@ GLIBC_2.32 __pthread_unregister_cancel_restore F
>  GLIBC_2.32 flockfile F
>  GLIBC_2.32 ftrylockfile F
>  GLIBC_2.32 funlockfile F
> -GLIBC_2.32 mtx_timedlock F
>  GLIBC_2.32 mtx_trylock F
>  GLIBC_2.32 mtx_unlock F
>  GLIBC_2.32 pthread_attr_getaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index d3f7b086c5..ce4d6de39c 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -130,6 +130,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -189,6 +190,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 0a1cd29570..2a315a3aa0 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index f2f2b4e5ee..1fdb22108d 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -130,6 +130,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -186,6 +187,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 0a1cd29570..2a315a3aa0 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 01afad5ec0..bc2f526474 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1321,6 +1321,7 @@ GLIBC_2.29 mtrace F
>  GLIBC_2.29 mtx_destroy F
>  GLIBC_2.29 mtx_init F
>  GLIBC_2.29 mtx_lock F
> +GLIBC_2.29 mtx_timedlock F
>  GLIBC_2.29 munlock F
>  GLIBC_2.29 munlockall F
>  GLIBC_2.29 munmap F
> @@ -2208,6 +2209,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 90ffccd26a..832e5dbab9 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -13,7 +13,6 @@ GLIBC_2.29 __pthread_unregister_cancel_restore F
>  GLIBC_2.29 flockfile F
>  GLIBC_2.29 ftrylockfile F
>  GLIBC_2.29 funlockfile F
> -GLIBC_2.29 mtx_timedlock F
>  GLIBC_2.29 mtx_trylock F
>  GLIBC_2.29 mtx_unlock F
>  GLIBC_2.29 pthread_attr_getaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 7e2f59f7db..eb7edb7e37 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1941,6 +1941,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2159,6 +2160,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 19e4676872..1e022d872c 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index d8d7f8d16a..60d9756495 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2115,6 +2115,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2336,6 +2337,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 5938138bc0..75ea03ac21 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 5584b1a64b..87826dfa6c 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1976,6 +1976,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2193,6 +2194,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 33bd97a499..b6630b5e7b 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index a4281dc2df..1643eb6333 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -131,6 +131,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -190,6 +191,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 0a1cd29570..2a315a3aa0 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 8cfb177030..36ab55be13 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2058,6 +2058,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2279,6 +2280,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 5938138bc0..75ea03ac21 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 425e0d990f..f0cad86fce 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -2200,6 +2200,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2259,6 +2260,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 4cffd69461..ed0d1e9544 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index a4bcd1a3a1..00e36ad852 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -2200,6 +2200,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2256,6 +2257,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 4cffd69461..ed0d1e9544 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index f133e33451..8adb7b4525 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2028,6 +2028,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2242,6 +2243,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 7302e6da9b..bfd0f94d24 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index b447672e99..bb8df361d3 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2026,6 +2026,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2240,6 +2241,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 7302e6da9b..bfd0f94d24 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 2ce58b7eeb..69e9c442cc 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2034,6 +2034,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2248,6 +2249,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 938f213777..a15f1f2d41 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2029,6 +2029,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2242,6 +2243,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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/mtx_timedlock.c b/sysdeps/unix/sysv/linux/mtx_timedlock.c
> index e39735691f..7715ebb315 100644
> --- a/sysdeps/unix/sysv/linux/mtx_timedlock.c
> +++ b/sysdeps/unix/sysv/linux/mtx_timedlock.c
> @@ -17,27 +17,34 @@
>     <https://www.gnu.org/licenses/>.  */
>  
>  #include <time.h>
> +#include <shlib-compat.h>
>  #include "thrd_priv.h"
>  
>  int
> -__mtx_timedlock64 (mtx_t *restrict mutex,
> -                   const struct __timespec64 *restrict time_point)
> +___mtx_timedlock64 (mtx_t *restrict mutex,
> +                    const struct __timespec64 *restrict time_point)
>  {
>    int err_code = __pthread_mutex_timedlock64 ((pthread_mutex_t *)mutex,
>                                                time_point);
>    return thrd_err_map (err_code);
>  }
>  
> -#if __TIMESIZE != 64
> -libpthread_hidden_def (__mtx_timedlock64)
> +#if __TIMESIZE == 64
> +strong_alias (___mtx_timedlock64, ___mtx_timedlock)
> +#else
> +libc_hidden_ver (___mtx_timedlock64, __mtx_timedlock64)
>  
>  int
> -__mtx_timedlock (mtx_t *restrict mutex,
> -                 const struct timespec *restrict time_point)
> +___mtx_timedlock (mtx_t *restrict mutex,
> +                  const struct timespec *restrict time_point)
>  {
>    struct __timespec64 ts64 = valid_timespec_to_timespec64 (*time_point);
>  
>    return __mtx_timedlock64 (mutex, &ts64);
>  }
> +#endif /* __TIMESIZE == 64 */
> +versioned_symbol (libc, ___mtx_timedlock, mtx_timedlock, GLIBC_2_34);
> +
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_28, GLIBC_2_34)
> +compat_symbol (libpthread, ___mtx_timedlock, mtx_timedlock, GLIBC_2_28);
>  #endif
> -weak_alias (__mtx_timedlock, mtx_timedlock)
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 6b681b153a..48ecc4660d 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -2242,6 +2242,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2298,6 +2299,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 a3dabc6f7e..510b01ee59 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 6ea57ea5bd..6cdb97772f 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2062,6 +2062,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2306,6 +2307,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 f2da256ab7..a3b6705014 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 1f11006c06..22b9434fa8 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2066,6 +2066,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2339,6 +2340,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 c3759018e7..a04c5d68af 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -130,6 +130,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2160,6 +2161,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 92bfaa5cc3..14c965f483 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index e6d06cda29..65df332c12 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -2299,6 +2299,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2461,6 +2462,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 37fc95b6ad..384647abf4 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index dbbaeb78af..ff4b837049 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1268,6 +1268,7 @@ GLIBC_2.33 mtrace F
>  GLIBC_2.33 mtx_destroy F
>  GLIBC_2.33 mtx_init F
>  GLIBC_2.33 mtx_lock F
> +GLIBC_2.33 mtx_timedlock F
>  GLIBC_2.33 munlock F
>  GLIBC_2.33 munlockall F
>  GLIBC_2.33 munmap F
> @@ -2026,6 +2027,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 948d829b70..457807ca74 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -13,7 +13,6 @@ GLIBC_2.33 __pthread_unregister_cancel_restore F
>  GLIBC_2.33 flockfile F
>  GLIBC_2.33 ftrylockfile F
>  GLIBC_2.33 funlockfile F
> -GLIBC_2.33 mtx_timedlock F
>  GLIBC_2.33 mtx_trylock F
>  GLIBC_2.33 mtx_unlock F
>  GLIBC_2.33 pthread_attr_getaffinity_np F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 6e41d4de6b..0600635ee4 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -2170,6 +2170,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2226,6 +2227,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 b74bc965f6..3071f817cd 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index c6f5a2ea73..95448b3461 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2071,6 +2071,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2304,6 +2305,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 4fc99bac9a..ebe96305f7 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index c38f44f2a8..6da442b4c6 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1968,6 +1968,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2197,6 +2198,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 45cdd07296..3825650334 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 55c198f738..b446e56e92 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1945,6 +1945,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2166,6 +2167,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 19e4676872..1e022d872c 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index b71bc1135e..1cfdb2f2d3 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1945,6 +1945,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2163,6 +2164,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 19e4676872..1e022d872c 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index d8b0a9be83..592aeb1fb1 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2065,6 +2065,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2295,6 +2296,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 97c50454fe..03148f24c6 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 2667408f2a..b49e975295 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1998,6 +1998,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2214,6 +2215,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 33bd97a499..b6630b5e7b 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/thrd_priv.h b/sysdeps/unix/sysv/linux/thrd_priv.h
> index 81dacdc3ea..181a628a8c 100644
> --- a/sysdeps/unix/sysv/linux/thrd_priv.h
> +++ b/sysdeps/unix/sysv/linux/thrd_priv.h
> @@ -28,7 +28,7 @@ extern int __cnd_timedwait64 (cnd_t *restrict cond, mtx_t *restrict mutex,
>  libc_hidden_proto (__cnd_timedwait64)
>  extern int __mtx_timedlock64 (mtx_t *restrict mutex,
>                                const struct __timespec64 *restrict time_point);
> -libpthread_hidden_proto (__mtx_timedlock64)
> +libc_hidden_proto (__mtx_timedlock64)
>  extern int __thrd_sleep64 (const struct __timespec64 *time_point,
>                             struct __timespec64 *remaining);
>  libc_hidden_proto (__thrd_sleep64)
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index a59a3b1c9a..6b05f0cf23 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1957,6 +1957,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2175,6 +2176,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 9174074f26..991e108444 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index c1e33cb829..843fd504e4 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -2222,6 +2222,7 @@ GLIBC_2.28 fcntl64 F
>  GLIBC_2.28 mtx_destroy F
>  GLIBC_2.28 mtx_init F
>  GLIBC_2.28 mtx_lock F
> +GLIBC_2.28 mtx_timedlock F
>  GLIBC_2.28 renameat2 F
>  GLIBC_2.28 statx F
>  GLIBC_2.28 thrd_current F
> @@ -2280,6 +2281,7 @@ GLIBC_2.34 cnd_wait F
>  GLIBC_2.34 mtx_destroy F
>  GLIBC_2.34 mtx_init F
>  GLIBC_2.34 mtx_lock F
> +GLIBC_2.34 mtx_timedlock 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 337c23fbf2..d3e0486a35 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 mtx_timedlock F
>  GLIBC_2.28 mtx_trylock F
>  GLIBC_2.28 mtx_unlock F
>  GLIBC_2.28 thrd_create F
> 


-- 
Cheers,
Carlos.


  reply	other threads:[~2021-05-02 20:47 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-26 16:59 [PATCH 00/19] nptl: Move most C11 symbols into libc Florian Weimer via Libc-alpha
2021-04-26 17:00 ` [PATCH 01/19] Add pthread-in-libc, libpthread-routines-var, librt-routines-var Florian Weimer via Libc-alpha
2021-05-02 20:46   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:00 ` [PATCH 02/19] nptl: Move call_once into libc Florian Weimer via Libc-alpha
2021-05-02 20:46   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:00 ` [PATCH 03/19] nptl: Move cnd_broadcast " Florian Weimer via Libc-alpha
2021-05-02 20:48   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:00 ` [PATCH 04/19] nptl: Move cnd_destroy " Florian Weimer via Libc-alpha
2021-05-02 20:48   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:00 ` [PATCH 05/19] nptl: Move cnd_init " Florian Weimer via Libc-alpha
2021-05-02 20:46   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:00 ` [PATCH 06/19] nptl: Move cnd_signal " Florian Weimer via Libc-alpha
2021-05-02 20:46   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:00 ` [PATCH 07/19] nptl: Move cnd_timedwait " Florian Weimer via Libc-alpha
2021-05-02 20:46   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:01 ` [PATCH 08/19] nptl: Move cnd_wait " Florian Weimer via Libc-alpha
2021-05-02 20:46   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:01 ` [PATCH 09/19] nptl: Move mtx_destroy " Florian Weimer via Libc-alpha
2021-05-02 20:47   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:02 ` [PATCH 10/19] nptl: Move mtx_init " Florian Weimer via Libc-alpha
2021-05-02 20:47   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:02 ` [PATCH 11/19] nptl: Move mtx_lock " Florian Weimer via Libc-alpha
2021-05-02 20:46   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:02 ` [PATCH 12/19] nptl: Move mtx_timedlock " Florian Weimer via Libc-alpha
2021-05-02 20:46   ` Carlos O'Donell via Libc-alpha [this message]
2021-04-26 17:02 ` [PATCH 13/19] nptl: Move mtx_trylock " Florian Weimer via Libc-alpha
2021-05-02 20:46   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:02 ` [PATCH 14/19] nptl: Move mtx_unlock " Florian Weimer via Libc-alpha
2021-05-02 20:46   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:11 ` [PATCH 15/19] nptl: Move thrd_exit " Florian Weimer via Libc-alpha
2021-05-02 20:47   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:11 ` [PATCH 16/19] nptl: Move tss_create " Florian Weimer via Libc-alpha
2021-05-02 20:47   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:11 ` [PATCH 17/19] nptl: Move tss_delete " Florian Weimer via Libc-alpha
2021-05-02 20:46   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:11 ` [PATCH 18/19] nptl: Move tss_get " Florian Weimer via Libc-alpha
2021-05-02 20:46   ` Carlos O'Donell via Libc-alpha
2021-04-26 17:12 ` [PATCH 19/19] nptl: Move tss_set " Florian Weimer via Libc-alpha
2021-05-02 20:46   ` Carlos O'Donell via Libc-alpha
2021-05-02 20:46 ` [PATCH 00/19] nptl: Move most C11 symbols " Carlos O'Donell via Libc-alpha

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/libc/involved.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b6c3004e-26bf-68bb-56c7-f44597ae0bab@redhat.com \
    --to=libc-alpha@sourceware.org \
    --cc=carlos@redhat.com \
    --cc=fweimer@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).