[10/19] nptl: Move mtx_init into libc
Commit Message
The symbol was moved using scripts/move-symbol-to-libc.py.
The calls to __pthread_mutex_init, __pthread_mutexattr_init,
__pthread_mutexattr_settype are now private and no longer need
to be exported. This allows the removal of the newly added
GLIBC_2.34 symbol versions for those functions.
Also clean up some weak declarations in <libc-lockP.h> for
these functions. They are not needed and potentially incorrect
for static linking of mtx_init.
---
nptl/Versions | 6 ++----
nptl/pthreadP.h | 2 ++
nptl/pthread_mutex_init.c | 8 +++++---
nptl/pthread_mutexattr_init.c | 6 ++++--
nptl/pthread_mutexattr_settype.c | 6 ++++--
sysdeps/nptl/libc-lockP.h | 8 --------
sysdeps/pthread/Makefile | 3 ++-
sysdeps/pthread/mtx_init.c | 11 ++++++++++-
sysdeps/unix/sysv/linux/aarch64/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/aarch64/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/alpha/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/alpha/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/arc/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/arc/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/arm/be/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/arm/be/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/arm/le/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/arm/le/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/csky/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/csky/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/hppa/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/hppa/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/i386/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/i386/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/ia64/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/ia64/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist | 5 ++---
.../unix/sysv/linux/m68k/coldfire/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist | 5 ++---
.../unix/sysv/linux/m68k/m680x0/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/microblaze/be/libc.abilist | 5 ++---
.../unix/sysv/linux/microblaze/be/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/microblaze/le/libc.abilist | 5 ++---
.../unix/sysv/linux/microblaze/le/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist | 5 ++---
.../unix/sysv/linux/mips/mips32/libpthread.abilist | 1 -
.../unix/sysv/linux/mips/mips32/nofpu/libc.abilist | 5 ++---
.../unix/sysv/linux/mips/mips64/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/nios2/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/nios2/libpthread.abilist | 1 -
.../sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 5 ++---
.../sysv/linux/powerpc/powerpc32/libpthread.abilist | 1 -
.../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist | 5 ++---
.../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist | 5 ++---
.../linux/powerpc/powerpc64/be/libpthread.abilist | 1 -
.../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist | 5 ++---
.../linux/powerpc/powerpc64/le/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist | 5 ++---
.../unix/sysv/linux/s390/s390-32/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist | 5 ++---
.../unix/sysv/linux/s390/s390-64/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/sh/be/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/sh/be/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/sh/le/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/sh/le/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist | 5 ++---
.../unix/sysv/linux/sparc/sparc32/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist | 5 ++---
.../unix/sysv/linux/sparc/sparc64/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist | 1 -
sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 5 ++---
sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist | 1 -
69 files changed, 93 insertions(+), 146 deletions(-)
Comments
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 calls to __pthread_mutex_init, __pthread_mutexattr_init,
> __pthread_mutexattr_settype are now private and no longer need
> to be exported. This allows the removal of the newly added
> GLIBC_2.34 symbol versions for those functions.
OK.
> Also clean up some weak declarations in <libc-lockP.h> for
> these functions. They are not needed and potentially incorrect
> for static linking of mtx_init.
Agreed.
> ---
> nptl/Versions | 6 ++----
> nptl/pthreadP.h | 2 ++
> nptl/pthread_mutex_init.c | 8 +++++---
> nptl/pthread_mutexattr_init.c | 6 ++++--
> nptl/pthread_mutexattr_settype.c | 6 ++++--
> sysdeps/nptl/libc-lockP.h | 8 --------
> sysdeps/pthread/Makefile | 3 ++-
> sysdeps/pthread/mtx_init.c | 11 ++++++++++-
> sysdeps/unix/sysv/linux/aarch64/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/aarch64/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/alpha/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/alpha/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/arc/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/arc/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/arm/be/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/arm/be/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/arm/le/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/arm/le/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/csky/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/csky/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/hppa/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/hppa/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/i386/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/i386/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/ia64/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/ia64/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist | 5 ++---
> .../unix/sysv/linux/m68k/coldfire/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist | 5 ++---
> .../unix/sysv/linux/m68k/m680x0/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/microblaze/be/libc.abilist | 5 ++---
> .../unix/sysv/linux/microblaze/be/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/microblaze/le/libc.abilist | 5 ++---
> .../unix/sysv/linux/microblaze/le/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist | 5 ++---
> .../unix/sysv/linux/mips/mips32/libpthread.abilist | 1 -
> .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist | 5 ++---
> .../unix/sysv/linux/mips/mips64/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/nios2/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/nios2/libpthread.abilist | 1 -
> .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 5 ++---
> .../sysv/linux/powerpc/powerpc32/libpthread.abilist | 1 -
> .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist | 5 ++---
> .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist | 5 ++---
> .../linux/powerpc/powerpc64/be/libpthread.abilist | 1 -
> .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist | 5 ++---
> .../linux/powerpc/powerpc64/le/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist | 5 ++---
> .../unix/sysv/linux/s390/s390-32/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist | 5 ++---
> .../unix/sysv/linux/s390/s390-64/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/sh/be/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/sh/be/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/sh/le/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/sh/le/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist | 5 ++---
> .../unix/sysv/linux/sparc/sparc32/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist | 5 ++---
> .../unix/sysv/linux/sparc/sparc64/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist | 1 -
> sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 5 ++---
> sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist | 1 -
> 69 files changed, 93 insertions(+), 146 deletions(-)
>
> diff --git a/nptl/Versions b/nptl/Versions
> index 939bed94e9..ccba2ba980 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -134,6 +134,7 @@ libc {
> cnd_timedwait;
> cnd_wait;
> mtx_destroy;
> + mtx_init;
> thrd_current;
> thrd_equal;
> thrd_sleep;
> @@ -155,11 +156,8 @@ libc {
> __pthread_cleanup_routine;
> __pthread_getspecific;
> __pthread_key_create;
> - __pthread_mutex_init;
> __pthread_mutex_lock;
> __pthread_mutex_unlock;
> - __pthread_mutexattr_init;
> - __pthread_mutexattr_settype;
> __pthread_setspecific;
> call_once;
> cnd_broadcast;
> @@ -169,6 +167,7 @@ libc {
> cnd_timedwait;
> cnd_wait;
> mtx_destroy;
> + mtx_init;
> pthread_cond_clockwait;
> pthread_condattr_getclock;
> pthread_condattr_getpshared;
> @@ -381,7 +380,6 @@ libpthread {
>
> # C11 thread symbols.
> GLIBC_2.28 {
> - mtx_init;
> mtx_lock;
> mtx_timedlock;
> mtx_trylock;
> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
> index db8983c711..3b070ee10d 100644
> --- a/nptl/pthreadP.h
> +++ b/nptl/pthreadP.h
> @@ -411,8 +411,10 @@ extern int __pthread_mutex_unlock_usercnt (pthread_mutex_t *__mutex,
> int __decr);
> libc_hidden_proto (__pthread_mutex_unlock_usercnt)
> extern int __pthread_mutexattr_init (pthread_mutexattr_t *attr);
> +libc_hidden_proto (__pthread_mutexattr_init)
> extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *attr);
> extern int __pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind);
> +libc_hidden_proto (__pthread_mutexattr_settype)
> extern int __pthread_attr_destroy (pthread_attr_t *attr);
> libc_hidden_proto (__pthread_attr_destroy)
> extern int __pthread_attr_getdetachstate (const pthread_attr_t *attr,
> diff --git a/nptl/pthread_mutex_init.c b/nptl/pthread_mutex_init.c
> index 328f7b08a7..d9d7523ea4 100644
> --- a/nptl/pthread_mutex_init.c
> +++ b/nptl/pthread_mutex_init.c
> @@ -151,11 +151,13 @@ ___pthread_mutex_init (pthread_mutex_t *mutex,
>
> return 0;
> }
> -versioned_symbol (libpthread, ___pthread_mutex_init, __pthread_mutex_init,
> - GLIBC_2_34);
> -libc_hidden_ver (___pthread_mutex_init, __pthread_mutex_init)
> versioned_symbol (libpthread, ___pthread_mutex_init, pthread_mutex_init,
> GLIBC_2_0);
> +libc_hidden_ver (___pthread_mutex_init, __pthread_mutex_init)
> +#ifndef SHARED
> +strong_alias (___pthread_mutex_init, __pthread_mutex_init)
> +#endif
> +
> #if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
> compat_symbol (libpthread, ___pthread_mutex_init, __pthread_mutex_init,
> GLIBC_2_0);
> diff --git a/nptl/pthread_mutexattr_init.c b/nptl/pthread_mutexattr_init.c
> index ca0c5e94dd..bb41fa169c 100644
> --- a/nptl/pthread_mutexattr_init.c
> +++ b/nptl/pthread_mutexattr_init.c
> @@ -39,8 +39,10 @@ ___pthread_mutexattr_init (pthread_mutexattr_t *attr)
> }
> versioned_symbol (libc, ___pthread_mutexattr_init,
> pthread_mutexattr_init, GLIBC_2_34);
> -versioned_symbol (libc, ___pthread_mutexattr_init,
> - __pthread_mutexattr_init, GLIBC_2_34);
> +libc_hidden_ver (___pthread_mutexattr_init, __pthread_mutexattr_init)
> +#ifndef SHARED
> +strong_alias (___pthread_mutexattr_init, __pthread_mutexattr_init)
> +#endif
>
> #if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
> compat_symbol (libpthread, ___pthread_mutexattr_init,
> diff --git a/nptl/pthread_mutexattr_settype.c b/nptl/pthread_mutexattr_settype.c
> index df03def8bd..fb8d66c5ea 100644
> --- a/nptl/pthread_mutexattr_settype.c
> +++ b/nptl/pthread_mutexattr_settype.c
> @@ -41,8 +41,10 @@ ___pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind)
> }
> versioned_symbol (libc, ___pthread_mutexattr_settype,
> pthread_mutexattr_settype, GLIBC_2_34);
> -versioned_symbol (libc, ___pthread_mutexattr_settype,
> - __pthread_mutexattr_settype, GLIBC_2_34);
> +libc_hidden_ver (___pthread_mutexattr_settype, __pthread_mutexattr_settype)
> +#ifndef SHARED
> +strong_alias (___pthread_mutexattr_settype, __pthread_mutexattr_settype)
> +#endif
>
> #if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
> compat_symbol (libpthread, ___pthread_mutexattr_settype,
> diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
> index aad9c9778c..239bd5ed86 100644
> --- a/sysdeps/nptl/libc-lockP.h
> +++ b/sysdeps/nptl/libc-lockP.h
> @@ -269,13 +269,9 @@ extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);
> libc_hidden_proto (__pthread_mutex_lock)
> extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex);
> libc_hidden_proto (__pthread_mutex_unlock)
> -extern int __pthread_mutexattr_init (pthread_mutexattr_t *__attr);
>
> extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *__attr);
>
> -extern int __pthread_mutexattr_settype (pthread_mutexattr_t *__attr,
> - int __kind);
> -
> extern int __pthread_rwlock_init (pthread_rwlock_t *__rwlock,
> const pthread_rwlockattr_t *__attr);
>
> @@ -307,9 +303,7 @@ libc_hidden_proto (__pthread_setcancelstate)
> #ifndef __NO_WEAK_PTHREAD_ALIASES
> # ifdef weak_extern
> weak_extern (__pthread_mutex_trylock)
> -weak_extern (__pthread_mutexattr_init)
> weak_extern (__pthread_mutexattr_destroy)
> -weak_extern (__pthread_mutexattr_settype)
> weak_extern (__pthread_rwlock_init)
> weak_extern (__pthread_rwlock_destroy)
> weak_extern (__pthread_rwlock_tryrdlock)
> @@ -318,9 +312,7 @@ weak_extern (__pthread_initialize)
> weak_extern (__pthread_atfork)
> # else
> # pragma weak __pthread_mutex_trylock
> -# pragma weak __pthread_mutexattr_init
> # pragma weak __pthread_mutexattr_destroy
> -# pragma weak __pthread_mutexattr_settype
> # pragma weak __pthread_rwlock_destroy
> # pragma weak __pthread_rwlock_tryrdlock
> # pragma weak __pthread_rwlock_trywrlock
> diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile
> index 591722460a..bf42b6aa71 100644
> --- a/sysdeps/pthread/Makefile
> +++ b/sysdeps/pthread/Makefile
> @@ -32,7 +32,7 @@ headers += threads.h
> routines += thrd_current thrd_equal thrd_sleep thrd_yield
>
> libpthread-routines += thrd_create thrd_detach thrd_exit thrd_join \
> - mtx_init mtx_lock mtx_timedlock \
> + mtx_lock mtx_timedlock \
> mtx_trylock mtx_unlock \
> tss_create tss_delete tss_get tss_set
>
> @@ -45,6 +45,7 @@ $(libpthread-routines-var) += \
> cnd_timedwait \
> cnd_wait \
> mtx_destroy \
> + mtx_init \
>
> tests += tst-cnd-basic tst-mtx-trylock tst-cnd-broadcast \
> tst-cnd-timedwait tst-thrd-detach tst-mtx-basic tst-thrd-sleep \
> diff --git a/sysdeps/pthread/mtx_init.c b/sysdeps/pthread/mtx_init.c
> index 8d5f194e99..e99258bd4d 100644
> --- a/sysdeps/pthread/mtx_init.c
> +++ b/sysdeps/pthread/mtx_init.c
> @@ -17,11 +17,12 @@
> <https://www.gnu.org/licenses/>. */
>
> #include <stdalign.h>
> +#include <shlib-compat.h>
>
> #include "thrd_priv.h"
>
> int
> -mtx_init (mtx_t *mutex, int type)
> +__mtx_init (mtx_t *mutex, int type)
> {
> _Static_assert (sizeof (mtx_t) == sizeof (pthread_mutex_t),
> "sizeof (mtx_t) != sizeof (pthread_mutex_t)");
> @@ -51,3 +52,11 @@ mtx_init (mtx_t *mutex, int type)
> /* pthread_mutexattr_destroy implementation is a noop. */
> return thrd_err_map (err_code);
> }
> +#if PTHREAD_IN_LIBC
> +versioned_symbol (libc, __mtx_init, mtx_init, GLIBC_2_34);
> +# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_28, GLIBC_2_34)
> +compat_symbol (libpthread, __mtx_init, mtx_init, GLIBC_2_28);
> +# endif
> +#else /* !PTHREAD_IN_LIBC */
> +strong_alias (__mtx_init, mtx_init)
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 0342b37e0b..b586a95b8b 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -2207,6 +2207,7 @@ GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2248,12 +2249,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2264,6 +2262,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 040566dd8d..d70d7eff42 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index ef9839121c..e91bd03efd 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2100,6 +2100,7 @@ GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2329,12 +2330,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2345,6 +2343,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index a559c85f49..421e6820f1 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index f27db10a34..cd2aa56a6a 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1264,6 +1264,7 @@ GLIBC_2.32 msgsnd F
> GLIBC_2.32 msync F
> GLIBC_2.32 mtrace F
> GLIBC_2.32 mtx_destroy F
> +GLIBC_2.32 mtx_init F
> GLIBC_2.32 munlock F
> GLIBC_2.32 munlockall F
> GLIBC_2.32 munmap F
> @@ -2007,12 +2008,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2023,6 +2021,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index 10529e4718..e7acbb17a4 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_init F
> GLIBC_2.32 mtx_lock F
> GLIBC_2.32 mtx_timedlock F
> GLIBC_2.32 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 4e9841bdcb..0f55a8191a 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -128,6 +128,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -172,12 +173,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -188,6 +186,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index ce54e903a4..4fc51e55c5 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index eb566e2cc9..750ab71348 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -128,6 +128,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -169,12 +170,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -185,6 +183,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index ce54e903a4..4fc51e55c5 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 6c47ea41f8..bf5bdb2649 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1319,6 +1319,7 @@ GLIBC_2.29 msgsnd F
> GLIBC_2.29 msync F
> GLIBC_2.29 mtrace F
> GLIBC_2.29 mtx_destroy F
> +GLIBC_2.29 mtx_init F
> GLIBC_2.29 munlock F
> GLIBC_2.29 munlockall F
> GLIBC_2.29 munmap F
> @@ -2191,12 +2192,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2207,6 +2205,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 4e57ff71c3..7cd0a9c455 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_init F
> GLIBC_2.29 mtx_lock F
> GLIBC_2.29 mtx_timedlock F
> GLIBC_2.29 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index c36fdc53af..e962e5e076 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1939,6 +1939,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2142,12 +2143,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2158,6 +2156,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index f0950eec65..4914741631 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 94a86ebc85..831c5cbe3d 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2113,6 +2113,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2319,12 +2320,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2335,6 +2333,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 54e0db13d2..2861f052b0 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 6fda5d312c..c27cc55934 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1974,6 +1974,7 @@ GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2176,12 +2177,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2192,6 +2190,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 850b74f26a..66c8d26ca9 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 00f92af83c..80ab210444 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -129,6 +129,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -173,12 +174,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -189,6 +187,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index ce54e903a4..4fc51e55c5 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 6c0537be6e..80eacfcd27 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2056,6 +2056,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2262,12 +2263,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2278,6 +2276,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 54e0db13d2..2861f052b0 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 53130e8b64..176324a57f 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -2198,6 +2198,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2242,12 +2243,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2258,6 +2256,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index bf2b06603d..aef0f9ec38 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index cbb3c523b8..1d33c78491 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -2198,6 +2198,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2239,12 +2240,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2255,6 +2253,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index bf2b06603d..aef0f9ec38 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index 93b13a4032..9fb953d54a 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2026,6 +2026,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2225,12 +2226,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2241,6 +2239,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index e159d47826..bd6af822ef 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index e923ba0743..12fc2cc399 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2024,6 +2024,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2223,12 +2224,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2239,6 +2237,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index e159d47826..bd6af822ef 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 331772354f..b98bfd1579 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2032,6 +2032,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2231,12 +2232,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2247,6 +2245,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 813a3e7347..a2d4ba5302 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2027,6 +2027,7 @@ GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2225,12 +2226,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2241,6 +2239,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 2dad49c10c..a51b84aabd 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -2240,6 +2240,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2281,12 +2282,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2297,6 +2295,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 747161ee6b..6be2396f36 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 4081092566..d43d935915 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2060,6 +2060,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2289,12 +2290,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2305,6 +2303,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 864364b0bb..becc6afeca 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 72aa073e62..e530238266 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2064,6 +2064,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2322,12 +2323,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2338,6 +2336,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 2faa943f05..d943ad39a7 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -128,6 +128,7 @@ GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2143,12 +2144,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2159,6 +2157,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 6691151b2e..2dd6e41ab2 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 7d2d64b9b7..345ceae778 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -2297,6 +2297,7 @@ GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2444,12 +2445,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2460,6 +2458,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 040566dd8d..d70d7eff42 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 0bcd294c6d..b5b6bea53b 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1266,6 +1266,7 @@ GLIBC_2.33 msgsnd F
> GLIBC_2.33 msync F
> GLIBC_2.33 mtrace F
> GLIBC_2.33 mtx_destroy F
> +GLIBC_2.33 mtx_init F
> GLIBC_2.33 munlock F
> GLIBC_2.33 munlockall F
> GLIBC_2.33 munmap F
> @@ -2009,12 +2010,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2025,6 +2023,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 899cdd8dac..e8fbf99ba0 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_init F
> GLIBC_2.33 mtx_lock F
> GLIBC_2.33 mtx_timedlock F
> GLIBC_2.33 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index c03a324ab9..da0a49ebb8 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -2168,6 +2168,7 @@ GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2209,12 +2210,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2225,6 +2223,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 0f611f2217..880a5ca8a6 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index ec70b32df0..e913f0c616 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2069,6 +2069,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2287,12 +2288,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2303,6 +2301,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 06bc637dc4..c62aa60dae 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index aa1b2b3fab..ee4ac1a8db 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1966,6 +1966,7 @@ GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2180,12 +2181,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2196,6 +2194,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 2a776f1a4f..3e5b1677d1 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 7ee127eee5..9827e4dcc7 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1943,6 +1943,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2149,12 +2150,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2165,6 +2163,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index f0950eec65..4914741631 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index bf24941a78..20941d1325 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1943,6 +1943,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2146,12 +2147,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2162,6 +2160,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index f0950eec65..4914741631 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 77e3b83ffb..b9be2c2c6d 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2063,6 +2063,7 @@ GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2278,12 +2279,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2294,6 +2292,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index a559c85f49..421e6820f1 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index bc5217167f..09035cac1b 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1996,6 +1996,7 @@ GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2197,12 +2198,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2213,6 +2211,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 850b74f26a..66c8d26ca9 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index 1c3ac87113..c8b0e2cced 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1955,6 +1955,7 @@ GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2158,12 +2159,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2174,6 +2172,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 92ca4a4d3f..c4a641ddc0 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 210cd24093..7303bebc08 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -2220,6 +2220,7 @@ GLIBC_2.28 cnd_timedwait F
> GLIBC_2.28 cnd_wait F
> GLIBC_2.28 fcntl64 F
> GLIBC_2.28 mtx_destroy F
> +GLIBC_2.28 mtx_init F
> GLIBC_2.28 renameat2 F
> GLIBC_2.28 statx F
> GLIBC_2.28 thrd_current F
> @@ -2263,12 +2264,9 @@ GLIBC_2.34 __libc_start_main F
> GLIBC_2.34 __pthread_cleanup_routine F
> GLIBC_2.34 __pthread_getspecific F
> GLIBC_2.34 __pthread_key_create F
> -GLIBC_2.34 __pthread_mutex_init F
> GLIBC_2.34 __pthread_mutex_lock F
> GLIBC_2.34 __pthread_mutex_trylock F
> GLIBC_2.34 __pthread_mutex_unlock F
> -GLIBC_2.34 __pthread_mutexattr_init F
> -GLIBC_2.34 __pthread_mutexattr_settype F
> GLIBC_2.34 __pthread_setspecific F
> GLIBC_2.34 __pthread_unwind_next F
> GLIBC_2.34 call_once F
> @@ -2279,6 +2277,7 @@ GLIBC_2.34 cnd_signal F
> GLIBC_2.34 cnd_timedwait F
> GLIBC_2.34 cnd_wait F
> GLIBC_2.34 mtx_destroy F
> +GLIBC_2.34 mtx_init F
> GLIBC_2.34 pthread_cond_clockwait F
> GLIBC_2.34 pthread_condattr_getclock F
> GLIBC_2.34 pthread_condattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 5e221da268..7a75151bc3 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_init F
> GLIBC_2.28 mtx_lock F
> GLIBC_2.28 mtx_timedlock F
> GLIBC_2.28 mtx_trylock F
>
@@ -134,6 +134,7 @@ libc {
cnd_timedwait;
cnd_wait;
mtx_destroy;
+ mtx_init;
thrd_current;
thrd_equal;
thrd_sleep;
@@ -155,11 +156,8 @@ libc {
__pthread_cleanup_routine;
__pthread_getspecific;
__pthread_key_create;
- __pthread_mutex_init;
__pthread_mutex_lock;
__pthread_mutex_unlock;
- __pthread_mutexattr_init;
- __pthread_mutexattr_settype;
__pthread_setspecific;
call_once;
cnd_broadcast;
@@ -169,6 +167,7 @@ libc {
cnd_timedwait;
cnd_wait;
mtx_destroy;
+ mtx_init;
pthread_cond_clockwait;
pthread_condattr_getclock;
pthread_condattr_getpshared;
@@ -381,7 +380,6 @@ libpthread {
# C11 thread symbols.
GLIBC_2.28 {
- mtx_init;
mtx_lock;
mtx_timedlock;
mtx_trylock;
@@ -411,8 +411,10 @@ extern int __pthread_mutex_unlock_usercnt (pthread_mutex_t *__mutex,
int __decr);
libc_hidden_proto (__pthread_mutex_unlock_usercnt)
extern int __pthread_mutexattr_init (pthread_mutexattr_t *attr);
+libc_hidden_proto (__pthread_mutexattr_init)
extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *attr);
extern int __pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind);
+libc_hidden_proto (__pthread_mutexattr_settype)
extern int __pthread_attr_destroy (pthread_attr_t *attr);
libc_hidden_proto (__pthread_attr_destroy)
extern int __pthread_attr_getdetachstate (const pthread_attr_t *attr,
@@ -151,11 +151,13 @@ ___pthread_mutex_init (pthread_mutex_t *mutex,
return 0;
}
-versioned_symbol (libpthread, ___pthread_mutex_init, __pthread_mutex_init,
- GLIBC_2_34);
-libc_hidden_ver (___pthread_mutex_init, __pthread_mutex_init)
versioned_symbol (libpthread, ___pthread_mutex_init, pthread_mutex_init,
GLIBC_2_0);
+libc_hidden_ver (___pthread_mutex_init, __pthread_mutex_init)
+#ifndef SHARED
+strong_alias (___pthread_mutex_init, __pthread_mutex_init)
+#endif
+
#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
compat_symbol (libpthread, ___pthread_mutex_init, __pthread_mutex_init,
GLIBC_2_0);
@@ -39,8 +39,10 @@ ___pthread_mutexattr_init (pthread_mutexattr_t *attr)
}
versioned_symbol (libc, ___pthread_mutexattr_init,
pthread_mutexattr_init, GLIBC_2_34);
-versioned_symbol (libc, ___pthread_mutexattr_init,
- __pthread_mutexattr_init, GLIBC_2_34);
+libc_hidden_ver (___pthread_mutexattr_init, __pthread_mutexattr_init)
+#ifndef SHARED
+strong_alias (___pthread_mutexattr_init, __pthread_mutexattr_init)
+#endif
#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
compat_symbol (libpthread, ___pthread_mutexattr_init,
@@ -41,8 +41,10 @@ ___pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind)
}
versioned_symbol (libc, ___pthread_mutexattr_settype,
pthread_mutexattr_settype, GLIBC_2_34);
-versioned_symbol (libc, ___pthread_mutexattr_settype,
- __pthread_mutexattr_settype, GLIBC_2_34);
+libc_hidden_ver (___pthread_mutexattr_settype, __pthread_mutexattr_settype)
+#ifndef SHARED
+strong_alias (___pthread_mutexattr_settype, __pthread_mutexattr_settype)
+#endif
#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
compat_symbol (libpthread, ___pthread_mutexattr_settype,
@@ -269,13 +269,9 @@ extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);
libc_hidden_proto (__pthread_mutex_lock)
extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex);
libc_hidden_proto (__pthread_mutex_unlock)
-extern int __pthread_mutexattr_init (pthread_mutexattr_t *__attr);
extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *__attr);
-extern int __pthread_mutexattr_settype (pthread_mutexattr_t *__attr,
- int __kind);
-
extern int __pthread_rwlock_init (pthread_rwlock_t *__rwlock,
const pthread_rwlockattr_t *__attr);
@@ -307,9 +303,7 @@ libc_hidden_proto (__pthread_setcancelstate)
#ifndef __NO_WEAK_PTHREAD_ALIASES
# ifdef weak_extern
weak_extern (__pthread_mutex_trylock)
-weak_extern (__pthread_mutexattr_init)
weak_extern (__pthread_mutexattr_destroy)
-weak_extern (__pthread_mutexattr_settype)
weak_extern (__pthread_rwlock_init)
weak_extern (__pthread_rwlock_destroy)
weak_extern (__pthread_rwlock_tryrdlock)
@@ -318,9 +312,7 @@ weak_extern (__pthread_initialize)
weak_extern (__pthread_atfork)
# else
# pragma weak __pthread_mutex_trylock
-# pragma weak __pthread_mutexattr_init
# pragma weak __pthread_mutexattr_destroy
-# pragma weak __pthread_mutexattr_settype
# pragma weak __pthread_rwlock_destroy
# pragma weak __pthread_rwlock_tryrdlock
# pragma weak __pthread_rwlock_trywrlock
@@ -32,7 +32,7 @@ headers += threads.h
routines += thrd_current thrd_equal thrd_sleep thrd_yield
libpthread-routines += thrd_create thrd_detach thrd_exit thrd_join \
- mtx_init mtx_lock mtx_timedlock \
+ mtx_lock mtx_timedlock \
mtx_trylock mtx_unlock \
tss_create tss_delete tss_get tss_set
@@ -45,6 +45,7 @@ $(libpthread-routines-var) += \
cnd_timedwait \
cnd_wait \
mtx_destroy \
+ mtx_init \
tests += tst-cnd-basic tst-mtx-trylock tst-cnd-broadcast \
tst-cnd-timedwait tst-thrd-detach tst-mtx-basic tst-thrd-sleep \
@@ -17,11 +17,12 @@
<https://www.gnu.org/licenses/>. */
#include <stdalign.h>
+#include <shlib-compat.h>
#include "thrd_priv.h"
int
-mtx_init (mtx_t *mutex, int type)
+__mtx_init (mtx_t *mutex, int type)
{
_Static_assert (sizeof (mtx_t) == sizeof (pthread_mutex_t),
"sizeof (mtx_t) != sizeof (pthread_mutex_t)");
@@ -51,3 +52,11 @@ mtx_init (mtx_t *mutex, int type)
/* pthread_mutexattr_destroy implementation is a noop. */
return thrd_err_map (err_code);
}
+#if PTHREAD_IN_LIBC
+versioned_symbol (libc, __mtx_init, mtx_init, GLIBC_2_34);
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_28, GLIBC_2_34)
+compat_symbol (libpthread, __mtx_init, mtx_init, GLIBC_2_28);
+# endif
+#else /* !PTHREAD_IN_LIBC */
+strong_alias (__mtx_init, mtx_init)
+#endif
@@ -2207,6 +2207,7 @@ GLIBC_2.28 cnd_timedwait F
GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2248,12 +2249,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2264,6 +2262,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -2100,6 +2100,7 @@ GLIBC_2.28 cnd_timedwait F
GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2329,12 +2330,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2345,6 +2343,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -1264,6 +1264,7 @@ GLIBC_2.32 msgsnd F
GLIBC_2.32 msync F
GLIBC_2.32 mtrace F
GLIBC_2.32 mtx_destroy F
+GLIBC_2.32 mtx_init F
GLIBC_2.32 munlock F
GLIBC_2.32 munlockall F
GLIBC_2.32 munmap F
@@ -2007,12 +2008,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2023,6 +2021,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.32 mtx_lock F
GLIBC_2.32 mtx_timedlock F
GLIBC_2.32 mtx_trylock F
@@ -128,6 +128,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -172,12 +173,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -188,6 +186,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -128,6 +128,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -169,12 +170,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -185,6 +183,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -1319,6 +1319,7 @@ GLIBC_2.29 msgsnd F
GLIBC_2.29 msync F
GLIBC_2.29 mtrace F
GLIBC_2.29 mtx_destroy F
+GLIBC_2.29 mtx_init F
GLIBC_2.29 munlock F
GLIBC_2.29 munlockall F
GLIBC_2.29 munmap F
@@ -2191,12 +2192,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2207,6 +2205,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.29 mtx_lock F
GLIBC_2.29 mtx_timedlock F
GLIBC_2.29 mtx_trylock F
@@ -1939,6 +1939,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2142,12 +2143,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2158,6 +2156,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -2113,6 +2113,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2319,12 +2320,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2335,6 +2333,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -1974,6 +1974,7 @@ GLIBC_2.28 cnd_timedwait F
GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2176,12 +2177,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2192,6 +2190,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -129,6 +129,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -173,12 +174,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -189,6 +187,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -2056,6 +2056,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2262,12 +2263,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2278,6 +2276,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -2198,6 +2198,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2242,12 +2243,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2258,6 +2256,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -2198,6 +2198,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2239,12 +2240,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2255,6 +2253,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -2026,6 +2026,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2225,12 +2226,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2241,6 +2239,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -2024,6 +2024,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2223,12 +2224,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2239,6 +2237,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -2032,6 +2032,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2231,12 +2232,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2247,6 +2245,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -2027,6 +2027,7 @@ GLIBC_2.28 cnd_timedwait F
GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2225,12 +2226,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2241,6 +2239,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -2240,6 +2240,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2281,12 +2282,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2297,6 +2295,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -2060,6 +2060,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2289,12 +2290,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2305,6 +2303,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -2064,6 +2064,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2322,12 +2323,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2338,6 +2336,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -128,6 +128,7 @@ GLIBC_2.28 cnd_timedwait F
GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2143,12 +2144,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2159,6 +2157,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -2297,6 +2297,7 @@ GLIBC_2.28 cnd_timedwait F
GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2444,12 +2445,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2460,6 +2458,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -1266,6 +1266,7 @@ GLIBC_2.33 msgsnd F
GLIBC_2.33 msync F
GLIBC_2.33 mtrace F
GLIBC_2.33 mtx_destroy F
+GLIBC_2.33 mtx_init F
GLIBC_2.33 munlock F
GLIBC_2.33 munlockall F
GLIBC_2.33 munmap F
@@ -2009,12 +2010,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2025,6 +2023,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.33 mtx_lock F
GLIBC_2.33 mtx_timedlock F
GLIBC_2.33 mtx_trylock F
@@ -2168,6 +2168,7 @@ GLIBC_2.28 cnd_timedwait F
GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2209,12 +2210,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2225,6 +2223,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -2069,6 +2069,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2287,12 +2288,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2303,6 +2301,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -1966,6 +1966,7 @@ GLIBC_2.28 cnd_timedwait F
GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2180,12 +2181,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2196,6 +2194,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -1943,6 +1943,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2149,12 +2150,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2165,6 +2163,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -1943,6 +1943,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2146,12 +2147,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2162,6 +2160,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -2063,6 +2063,7 @@ GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2278,12 +2279,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2294,6 +2292,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -1996,6 +1996,7 @@ GLIBC_2.28 cnd_timedwait F
GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2197,12 +2198,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2213,6 +2211,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -1955,6 +1955,7 @@ GLIBC_2.28 cnd_timedwait F
GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2158,12 +2159,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2174,6 +2172,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F
@@ -2220,6 +2220,7 @@ GLIBC_2.28 cnd_timedwait F
GLIBC_2.28 cnd_wait F
GLIBC_2.28 fcntl64 F
GLIBC_2.28 mtx_destroy F
+GLIBC_2.28 mtx_init F
GLIBC_2.28 renameat2 F
GLIBC_2.28 statx F
GLIBC_2.28 thrd_current F
@@ -2263,12 +2264,9 @@ GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_getspecific F
GLIBC_2.34 __pthread_key_create F
-GLIBC_2.34 __pthread_mutex_init F
GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_trylock F
GLIBC_2.34 __pthread_mutex_unlock F
-GLIBC_2.34 __pthread_mutexattr_init F
-GLIBC_2.34 __pthread_mutexattr_settype F
GLIBC_2.34 __pthread_setspecific F
GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 call_once F
@@ -2279,6 +2277,7 @@ GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
GLIBC_2.34 mtx_destroy F
+GLIBC_2.34 mtx_init F
GLIBC_2.34 pthread_cond_clockwait F
GLIBC_2.34 pthread_condattr_getclock F
GLIBC_2.34 pthread_condattr_getpshared F
@@ -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_init F
GLIBC_2.28 mtx_lock F
GLIBC_2.28 mtx_timedlock F
GLIBC_2.28 mtx_trylock F