[v3,34/37] nptl: Move core mutex functions into libc
Commit Message
This is complicated because of a second compilation of
nptl/pthread_mutex_lock.c via nptl/pthread_mutex_cond_lock.c.
PTHREAD_MUTEX_VERSIONS is introduced to suppress symbol versions
in that case.
The symbols __pthread_mutex_lock, __pthread_mutex_unlock,
__pthread_mutex_init, __pthread_mutex_destroy, pthread_mutex_lock,
pthread_mutex_unlock, pthread_mutex_init, pthread_mutex_destroy
have beeb moved using scripts/move-symbol-to-libc.py.
---
nptl/Makefile | 8 ++---
nptl/Versions | 17 +++++-----
nptl/forward.c | 11 -------
nptl/nptl-init.c | 4 ---
nptl/pthreadP.h | 11 ++++---
nptl/pthread_mutex_cond_lock.c | 3 +-
nptl/pthread_mutex_destroy.c | 18 ++++++++---
nptl/pthread_mutex_init.c | 16 ++++++++--
nptl/pthread_mutex_lock.c | 22 ++++++++++---
nptl/pthread_mutex_unlock.c | 19 ++++++++---
sysdeps/nptl/libc-lockP.h | 32 ++++++-------------
sysdeps/nptl/pthread-functions.h | 5 ---
sysdeps/unix/sysv/linux/aarch64/libc.abilist | 8 +++++
.../sysv/linux/aarch64/libpthread.abilist | 8 -----
sysdeps/unix/sysv/linux/alpha/libc.abilist | 8 +++++
.../unix/sysv/linux/alpha/libpthread.abilist | 8 -----
sysdeps/unix/sysv/linux/arc/libc.abilist | 8 +++++
.../unix/sysv/linux/arc/libpthread.abilist | 8 -----
sysdeps/unix/sysv/linux/arm/be/libc.abilist | 8 +++++
.../unix/sysv/linux/arm/be/libpthread.abilist | 8 -----
sysdeps/unix/sysv/linux/arm/le/libc.abilist | 8 +++++
.../unix/sysv/linux/arm/le/libpthread.abilist | 8 -----
sysdeps/unix/sysv/linux/csky/libc.abilist | 8 +++++
.../unix/sysv/linux/csky/libpthread.abilist | 8 -----
sysdeps/unix/sysv/linux/hppa/libc.abilist | 8 +++++
.../unix/sysv/linux/hppa/libpthread.abilist | 8 -----
sysdeps/unix/sysv/linux/i386/libc.abilist | 8 +++++
.../unix/sysv/linux/i386/libpthread.abilist | 8 -----
sysdeps/unix/sysv/linux/ia64/libc.abilist | 8 +++++
.../unix/sysv/linux/ia64/libpthread.abilist | 8 -----
.../sysv/linux/m68k/coldfire/libc.abilist | 8 +++++
.../linux/m68k/coldfire/libpthread.abilist | 8 -----
.../unix/sysv/linux/m68k/m680x0/libc.abilist | 8 +++++
.../sysv/linux/m68k/m680x0/libpthread.abilist | 8 -----
.../sysv/linux/microblaze/be/libc.abilist | 8 +++++
.../linux/microblaze/be/libpthread.abilist | 8 -----
.../sysv/linux/microblaze/le/libc.abilist | 8 +++++
.../linux/microblaze/le/libpthread.abilist | 8 -----
.../sysv/linux/mips/mips32/fpu/libc.abilist | 8 +++++
.../sysv/linux/mips/mips32/libpthread.abilist | 8 -----
.../sysv/linux/mips/mips32/nofpu/libc.abilist | 8 +++++
.../sysv/linux/mips/mips64/libpthread.abilist | 8 -----
.../sysv/linux/mips/mips64/n32/libc.abilist | 8 +++++
.../sysv/linux/mips/mips64/n64/libc.abilist | 8 +++++
sysdeps/unix/sysv/linux/nios2/libc.abilist | 8 +++++
.../unix/sysv/linux/nios2/libpthread.abilist | 8 -----
.../linux/powerpc/powerpc32/fpu/libc.abilist | 8 +++++
.../powerpc/powerpc32/libpthread.abilist | 8 -----
.../powerpc/powerpc32/nofpu/libc.abilist | 8 +++++
.../linux/powerpc/powerpc64/be/libc.abilist | 8 +++++
.../powerpc/powerpc64/be/libpthread.abilist | 8 -----
.../linux/powerpc/powerpc64/le/libc.abilist | 8 +++++
.../powerpc/powerpc64/le/libpthread.abilist | 8 -----
.../unix/sysv/linux/riscv/rv32/libc.abilist | 8 +++++
.../sysv/linux/riscv/rv32/libpthread.abilist | 8 -----
.../unix/sysv/linux/riscv/rv64/libc.abilist | 8 +++++
.../sysv/linux/riscv/rv64/libpthread.abilist | 8 -----
.../unix/sysv/linux/s390/s390-32/libc.abilist | 8 +++++
.../linux/s390/s390-32/libpthread.abilist | 8 -----
.../unix/sysv/linux/s390/s390-64/libc.abilist | 8 +++++
.../linux/s390/s390-64/libpthread.abilist | 8 -----
sysdeps/unix/sysv/linux/sh/be/libc.abilist | 8 +++++
.../unix/sysv/linux/sh/be/libpthread.abilist | 8 -----
sysdeps/unix/sysv/linux/sh/le/libc.abilist | 8 +++++
.../unix/sysv/linux/sh/le/libpthread.abilist | 8 -----
.../sysv/linux/sparc/sparc32/libc.abilist | 8 +++++
.../linux/sparc/sparc32/libpthread.abilist | 8 -----
.../sysv/linux/sparc/sparc64/libc.abilist | 8 +++++
.../linux/sparc/sparc64/libpthread.abilist | 8 -----
.../unix/sysv/linux/x86_64/64/libc.abilist | 8 +++++
.../sysv/linux/x86_64/64/libpthread.abilist | 8 -----
.../unix/sysv/linux/x86_64/x32/libc.abilist | 8 +++++
.../sysv/linux/x86_64/x32/libpthread.abilist | 8 -----
73 files changed, 346 insertions(+), 308 deletions(-)
Comments
On 16/03/2021 14:31, Florian Weimer via Libc-alpha wrote:
> This is complicated because of a second compilation of
> nptl/pthread_mutex_lock.c via nptl/pthread_mutex_cond_lock.c.
> PTHREAD_MUTEX_VERSIONS is introduced to suppress symbol versions
> in that case.
I am wondering if it would worth a refactor to make the cond wait
code to just enable/disable lock elision and call the default
symbol instead of providing an specific implementation.
>
> The symbols __pthread_mutex_lock, __pthread_mutex_unlock,
> __pthread_mutex_init, __pthread_mutex_destroy, pthread_mutex_lock,
> pthread_mutex_unlock, pthread_mutex_init, pthread_mutex_destroy
> have beeb moved using scripts/move-symbol-to-libc.py.
s/beeb/been.
LGTM, thanks.
(Same comment regarding compat_symbol with multiple references
as before).
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> ---
> nptl/Makefile | 8 ++---
> nptl/Versions | 17 +++++-----
> nptl/forward.c | 11 -------
> nptl/nptl-init.c | 4 ---
> nptl/pthreadP.h | 11 ++++---
> nptl/pthread_mutex_cond_lock.c | 3 +-
> nptl/pthread_mutex_destroy.c | 18 ++++++++---
> nptl/pthread_mutex_init.c | 16 ++++++++--
> nptl/pthread_mutex_lock.c | 22 ++++++++++---
> nptl/pthread_mutex_unlock.c | 19 ++++++++---
> sysdeps/nptl/libc-lockP.h | 32 ++++++-------------
> sysdeps/nptl/pthread-functions.h | 5 ---
> sysdeps/unix/sysv/linux/aarch64/libc.abilist | 8 +++++
> .../sysv/linux/aarch64/libpthread.abilist | 8 -----
> sysdeps/unix/sysv/linux/alpha/libc.abilist | 8 +++++
> .../unix/sysv/linux/alpha/libpthread.abilist | 8 -----
> sysdeps/unix/sysv/linux/arc/libc.abilist | 8 +++++
> .../unix/sysv/linux/arc/libpthread.abilist | 8 -----
> sysdeps/unix/sysv/linux/arm/be/libc.abilist | 8 +++++
> .../unix/sysv/linux/arm/be/libpthread.abilist | 8 -----
> sysdeps/unix/sysv/linux/arm/le/libc.abilist | 8 +++++
> .../unix/sysv/linux/arm/le/libpthread.abilist | 8 -----
> sysdeps/unix/sysv/linux/csky/libc.abilist | 8 +++++
> .../unix/sysv/linux/csky/libpthread.abilist | 8 -----
> sysdeps/unix/sysv/linux/hppa/libc.abilist | 8 +++++
> .../unix/sysv/linux/hppa/libpthread.abilist | 8 -----
> sysdeps/unix/sysv/linux/i386/libc.abilist | 8 +++++
> .../unix/sysv/linux/i386/libpthread.abilist | 8 -----
> sysdeps/unix/sysv/linux/ia64/libc.abilist | 8 +++++
> .../unix/sysv/linux/ia64/libpthread.abilist | 8 -----
> .../sysv/linux/m68k/coldfire/libc.abilist | 8 +++++
> .../linux/m68k/coldfire/libpthread.abilist | 8 -----
> .../unix/sysv/linux/m68k/m680x0/libc.abilist | 8 +++++
> .../sysv/linux/m68k/m680x0/libpthread.abilist | 8 -----
> .../sysv/linux/microblaze/be/libc.abilist | 8 +++++
> .../linux/microblaze/be/libpthread.abilist | 8 -----
> .../sysv/linux/microblaze/le/libc.abilist | 8 +++++
> .../linux/microblaze/le/libpthread.abilist | 8 -----
> .../sysv/linux/mips/mips32/fpu/libc.abilist | 8 +++++
> .../sysv/linux/mips/mips32/libpthread.abilist | 8 -----
> .../sysv/linux/mips/mips32/nofpu/libc.abilist | 8 +++++
> .../sysv/linux/mips/mips64/libpthread.abilist | 8 -----
> .../sysv/linux/mips/mips64/n32/libc.abilist | 8 +++++
> .../sysv/linux/mips/mips64/n64/libc.abilist | 8 +++++
> sysdeps/unix/sysv/linux/nios2/libc.abilist | 8 +++++
> .../unix/sysv/linux/nios2/libpthread.abilist | 8 -----
> .../linux/powerpc/powerpc32/fpu/libc.abilist | 8 +++++
> .../powerpc/powerpc32/libpthread.abilist | 8 -----
> .../powerpc/powerpc32/nofpu/libc.abilist | 8 +++++
> .../linux/powerpc/powerpc64/be/libc.abilist | 8 +++++
> .../powerpc/powerpc64/be/libpthread.abilist | 8 -----
> .../linux/powerpc/powerpc64/le/libc.abilist | 8 +++++
> .../powerpc/powerpc64/le/libpthread.abilist | 8 -----
> .../unix/sysv/linux/riscv/rv32/libc.abilist | 8 +++++
> .../sysv/linux/riscv/rv32/libpthread.abilist | 8 -----
> .../unix/sysv/linux/riscv/rv64/libc.abilist | 8 +++++
> .../sysv/linux/riscv/rv64/libpthread.abilist | 8 -----
> .../unix/sysv/linux/s390/s390-32/libc.abilist | 8 +++++
> .../linux/s390/s390-32/libpthread.abilist | 8 -----
> .../unix/sysv/linux/s390/s390-64/libc.abilist | 8 +++++
> .../linux/s390/s390-64/libpthread.abilist | 8 -----
> sysdeps/unix/sysv/linux/sh/be/libc.abilist | 8 +++++
> .../unix/sysv/linux/sh/be/libpthread.abilist | 8 -----
> sysdeps/unix/sysv/linux/sh/le/libc.abilist | 8 +++++
> .../unix/sysv/linux/sh/le/libpthread.abilist | 8 -----
> .../sysv/linux/sparc/sparc32/libc.abilist | 8 +++++
> .../linux/sparc/sparc32/libpthread.abilist | 8 -----
> .../sysv/linux/sparc/sparc64/libc.abilist | 8 +++++
> .../linux/sparc/sparc64/libpthread.abilist | 8 -----
> .../unix/sysv/linux/x86_64/64/libc.abilist | 8 +++++
> .../sysv/linux/x86_64/64/libpthread.abilist | 8 -----
> .../unix/sysv/linux/x86_64/x32/libc.abilist | 8 +++++
> .../sysv/linux/x86_64/x32/libpthread.abilist | 8 -----
> 73 files changed, 346 insertions(+), 308 deletions(-)
>
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 3ae0e1e8c8..e0ba8bea13 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -84,6 +84,10 @@ routines = \
> pthread_keys \
> pthread_mutex_conf \
> pthread_mutex_consistent \
> + pthread_mutex_destroy \
> + pthread_mutex_init \
> + pthread_mutex_lock \
> + pthread_mutex_unlock \
> pthread_once \
> pthread_rwlock_rdlock \
> pthread_rwlock_unlock \
> @@ -171,14 +175,10 @@ libpthread-routines = \
> pthread_kill \
> pthread_kill_other_threads \
> pthread_mutex_cond_lock \
> - pthread_mutex_destroy \
> pthread_mutex_getprioceiling \
> - pthread_mutex_init \
> - pthread_mutex_lock \
> pthread_mutex_setprioceiling \
> pthread_mutex_timedlock \
> pthread_mutex_trylock \
> - pthread_mutex_unlock \
> pthread_mutexattr_destroy \
> pthread_mutexattr_getprioceiling \
> pthread_mutexattr_getprotocol \
Ok.
> diff --git a/nptl/Versions b/nptl/Versions
> index 2b9508bd6f..2352b74c7e 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -2,6 +2,10 @@ libc {
> GLIBC_2.0 {
> __pthread_getspecific;
> __pthread_key_create;
> + __pthread_mutex_destroy;
> + __pthread_mutex_init;
> + __pthread_mutex_lock;
> + __pthread_mutex_unlock;
> __pthread_once;
> __pthread_setspecific;
> _pthread_cleanup_pop;
> @@ -103,6 +107,10 @@ libc {
> __pthread_cleanup_routine;
> __pthread_getspecific;
> __pthread_key_create;
> + __pthread_mutex_destroy;
> + __pthread_mutex_init;
> + __pthread_mutex_lock;
> + __pthread_mutex_unlock;
> __pthread_once;
> __pthread_rwlock_rdlock;
> __pthread_rwlock_unlock;
> @@ -155,6 +163,7 @@ libc {
> __pthread_getattr_default_np;
> __pthread_key_delete;
> __pthread_keys;
> + __pthread_mutex_unlock_usercnt;
> __pthread_setcancelstate;
> __pthread_tpp_change_priority;
> __pthread_unwind;
> @@ -177,11 +186,7 @@ libpthread {
> __lseek;
> __open;
> __pthread_atfork;
> - __pthread_mutex_destroy;
> - __pthread_mutex_init;
> - __pthread_mutex_lock;
> __pthread_mutex_trylock;
> - __pthread_mutex_unlock;
> __pthread_mutexattr_destroy;
> __pthread_mutexattr_init;
> __pthread_mutexattr_settype;
> @@ -213,11 +218,7 @@ libpthread {
> pthread_join;
> pthread_kill;
> pthread_kill_other_threads_np;
> - pthread_mutex_destroy;
> - pthread_mutex_init;
> - pthread_mutex_lock;
> pthread_mutex_trylock;
> - pthread_mutex_unlock;
> pthread_mutexattr_destroy;
> pthread_mutexattr_getkind_np;
> pthread_mutexattr_init;
Ok.
> diff --git a/nptl/forward.c b/nptl/forward.c
> index de4e9cd6ab..c914baec4f 100644
> --- a/nptl/forward.c
> +++ b/nptl/forward.c
> @@ -90,14 +90,3 @@ FORWARD (__pthread_cond_timedwait,
> const struct timespec *abstime), (cond, mutex, abstime), 0)
> versioned_symbol (libc, __pthread_cond_timedwait, pthread_cond_timedwait,
> GLIBC_2_3_2);
> -
> -
> -FORWARD (pthread_mutex_destroy, (pthread_mutex_t *mutex), (mutex), 0)
> -
> -FORWARD (pthread_mutex_init,
> - (pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr),
> - (mutex, mutexattr), 0)
> -
> -FORWARD (pthread_mutex_lock, (pthread_mutex_t *mutex), (mutex), 0)
> -
> -FORWARD (pthread_mutex_unlock, (pthread_mutex_t *mutex), (mutex), 0)
Ok.
> diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
> index 5c85f75cc1..cbc9430ecb 100644
> --- a/nptl/nptl-init.c
> +++ b/nptl/nptl-init.c
> @@ -63,10 +63,6 @@ static const struct pthread_functions pthread_functions =
> .ptr___pthread_cond_wait_2_0 = __pthread_cond_wait_2_0,
> .ptr___pthread_cond_timedwait_2_0 = __pthread_cond_timedwait_2_0,
> # endif
> - .ptr_pthread_mutex_destroy = __pthread_mutex_destroy,
> - .ptr_pthread_mutex_init = __pthread_mutex_init,
> - .ptr_pthread_mutex_lock = __pthread_mutex_lock,
> - .ptr_pthread_mutex_unlock = __pthread_mutex_unlock,
> .ptr__nptl_setxid = __nptl_setxid,
> };
> # define ptr_pthread_functions &pthread_functions
Ok.
> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
> index 7fd290e004..4feebdf09e 100644
> --- a/nptl/pthreadP.h
> +++ b/nptl/pthreadP.h
> @@ -389,9 +389,12 @@ extern int __pthread_setschedparam (pthread_t thread_id, int policy,
> const struct sched_param *param);
> extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
> const pthread_mutexattr_t *__mutexattr);
> +libc_hidden_proto (__pthread_mutex_init)
> extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex);
> +libc_hidden_proto (__pthread_mutex_destroy)
> extern int __pthread_mutex_trylock (pthread_mutex_t *_mutex);
> extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);
> +libc_hidden_proto (__pthread_mutex_lock)
> extern int __pthread_mutex_timedlock (pthread_mutex_t *__mutex,
> const struct timespec *__abstime);
> extern int __pthread_mutex_cond_lock (pthread_mutex_t *__mutex)
> @@ -399,8 +402,10 @@ extern int __pthread_mutex_cond_lock (pthread_mutex_t *__mutex)
> extern void __pthread_mutex_cond_lock_adjust (pthread_mutex_t *__mutex)
> attribute_hidden;
> extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex);
> +libc_hidden_proto (__pthread_mutex_unlock)
> extern int __pthread_mutex_unlock_usercnt (pthread_mutex_t *__mutex,
> - int __decr) attribute_hidden;
> + int __decr);
> +libc_hidden_proto (__pthread_mutex_unlock_usercnt)
> 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);
> @@ -554,11 +559,7 @@ libc_hidden_proto (__pthread_sigmask);
>
>
> #if IS_IN (libpthread)
> -hidden_proto (__pthread_mutex_init)
> -hidden_proto (__pthread_mutex_destroy)
> -hidden_proto (__pthread_mutex_lock)
> hidden_proto (__pthread_mutex_trylock)
> -hidden_proto (__pthread_mutex_unlock)
> hidden_proto (__pthread_rwlock_unlock)
> hidden_proto (__pthread_testcancel)
> hidden_proto (__pthread_mutexattr_init)
Ok.
> diff --git a/nptl/pthread_mutex_cond_lock.c b/nptl/pthread_mutex_cond_lock.c
> index 3386bd689b..f3af514305 100644
> --- a/nptl/pthread_mutex_cond_lock.c
> +++ b/nptl/pthread_mutex_cond_lock.c
> @@ -15,8 +15,9 @@
> /* We need to assume that there are other threads blocked on the futex.
> See __pthread_mutex_lock_full for further details. */
> #define LLL_ROBUST_MUTEX_LOCK_MODIFIER FUTEX_WAITERS
> -#define __pthread_mutex_lock __pthread_mutex_cond_lock
> +#define PTHREAD_MUTEX_LOCK __pthread_mutex_cond_lock
> #define __pthread_mutex_lock_full __pthread_mutex_cond_lock_full
> #define NO_INCR
> +#define PTHREAD_MUTEX_VERSIONS 0
>
> #include <nptl/pthread_mutex_lock.c>
Ok.
> diff --git a/nptl/pthread_mutex_destroy.c b/nptl/pthread_mutex_destroy.c
> index d2fb816e11..98da991a9d 100644
> --- a/nptl/pthread_mutex_destroy.c
> +++ b/nptl/pthread_mutex_destroy.c
> @@ -18,12 +18,12 @@
>
> #include <errno.h>
> #include "pthreadP.h"
> -
> +#include <shlib-compat.h>
> #include <stap-probe.h>
>
>
> int
> -__pthread_mutex_destroy (pthread_mutex_t *mutex)
> +__pthread_mutex_destroy_1 (pthread_mutex_t *mutex)
> {
> LIBC_PROBE (mutex_destroy, 1, mutex);
>
> @@ -41,5 +41,15 @@ __pthread_mutex_destroy (pthread_mutex_t *mutex)
>
> return 0;
> }
> -weak_alias (__pthread_mutex_destroy, pthread_mutex_destroy)
> -hidden_def (__pthread_mutex_destroy)
> +versioned_symbol (libc, __pthread_mutex_destroy_1, __pthread_mutex_destroy,
> + GLIBC_2_34);
> +libc_hidden_ver (__pthread_mutex_destroy_1, __pthread_mutex_destroy)
> +strong_alias (__pthread_mutex_destroy_1, __pthread_mutex_destroy_2)
> +versioned_symbol (libc, __pthread_mutex_destroy_2, pthread_mutex_destroy,
> + GLIBC_2_0);
> +
> +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
> +strong_alias (__pthread_mutex_destroy_1, __pthread_mutex_destroy_3)
> +compat_symbol (libc, __pthread_mutex_destroy_3, __pthread_mutex_destroy,
> + GLIBC_2_0);
> +#endif
Ok.
> diff --git a/nptl/pthread_mutex_init.c b/nptl/pthread_mutex_init.c
> index f5c3a4b464..b3af7fcd48 100644
> --- a/nptl/pthread_mutex_init.c
> +++ b/nptl/pthread_mutex_init.c
> @@ -25,6 +25,7 @@
> #include <atomic.h>
> #include <pthread-offsets.h>
> #include <futex-internal.h>
> +#include <shlib-compat.h>
>
> #include <stap-probe.h>
>
> @@ -48,7 +49,7 @@ prio_inherit_missing (void)
> }
>
> int
> -__pthread_mutex_init (pthread_mutex_t *mutex,
> +__pthread_mutex_init_1 (pthread_mutex_t *mutex,
> const pthread_mutexattr_t *mutexattr)
> {
> const struct pthread_mutexattr *imutexattr;
> @@ -150,5 +151,14 @@ __pthread_mutex_init (pthread_mutex_t *mutex,
>
> return 0;
> }
> -weak_alias (__pthread_mutex_init, pthread_mutex_init)
> -hidden_def (__pthread_mutex_init)
> +versioned_symbol (libc, __pthread_mutex_init_1, __pthread_mutex_init,
> + GLIBC_2_34);
> +libc_hidden_ver (__pthread_mutex_init_1, __pthread_mutex_init)
> +strong_alias (__pthread_mutex_init_1, __pthread_mutex_init_2)
> +versioned_symbol (libc, __pthread_mutex_init_2, pthread_mutex_init,
> + GLIBC_2_0);
> +# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
> +strong_alias (__pthread_mutex_init_1, __pthread_mutex_init_3)
> +compat_symbol (libc, __pthread_mutex_init_3, __pthread_mutex_init,
> + GLIBC_2_0);
> +#endif
Ok.
> diff --git a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c
> index 8649a92ffb..261cd5a72d 100644
> --- a/nptl/pthread_mutex_lock.c
> +++ b/nptl/pthread_mutex_lock.c
> @@ -26,6 +26,7 @@
> #include <atomic.h>
> #include <futex-internal.h>
> #include <stap-probe.h>
> +#include <shlib-compat.h>
>
> /* Some of the following definitions differ when pthread_mutex_cond_lock.c
> includes this file. */
> @@ -60,13 +61,15 @@ lll_mutex_lock_optimized (pthread_mutex_t *mutex)
> # define LLL_MUTEX_TRYLOCK_ELISION(mutex) \
> lll_trylock_elision((mutex)->__data.__lock, (mutex)->__data.__elision, \
> PTHREAD_MUTEX_PSHARED (mutex))
> +# define PTHREAD_MUTEX_LOCK __pthread_mutex_lock_1
> +# define PTHREAD_MUTEX_VERSIONS 1
> #endif
>
> static int __pthread_mutex_lock_full (pthread_mutex_t *mutex)
> __attribute_noinline__;
>
> int
> -__pthread_mutex_lock (pthread_mutex_t *mutex)
> +PTHREAD_MUTEX_LOCK (pthread_mutex_t *mutex)
> {
> /* See concurrency notes regarding mutex type which is loaded from __kind
> in struct __pthread_mutex_s in sysdeps/nptl/bits/thread-shared-types.h. */
> @@ -604,10 +607,19 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex)
>
> return 0;
> }
> -#ifndef __pthread_mutex_lock
> -weak_alias (__pthread_mutex_lock, pthread_mutex_lock)
> -hidden_def (__pthread_mutex_lock)
> -#endif
> +
> +#if PTHREAD_MUTEX_VERSIONS
> +versioned_symbol (libc, __pthread_mutex_lock_1, __pthread_mutex_lock,
> + GLIBC_2_34);
> +libc_hidden_ver (__pthread_mutex_lock_1, __pthread_mutex_lock)
> +strong_alias (__pthread_mutex_lock_1, __pthread_mutex_lock_2)
> +versioned_symbol (libc, __pthread_mutex_lock_2, pthread_mutex_lock, GLIBC_2_0);
> +
> +# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
> +strong_alias (__pthread_mutex_lock_1, __pthread_mutex_lock_3)
> +compat_symbol (libc, __pthread_mutex_lock_3, __pthread_mutex_lock, GLIBC_2_0);
> +# endif
> +#endif /* PTHREAD_MUTEX_VERSIONS */
>
>
> #ifdef NO_INCR
Ok.
> diff --git a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c
> index 655093ee9a..159720198c 100644
> --- a/nptl/pthread_mutex_unlock.c
> +++ b/nptl/pthread_mutex_unlock.c
> @@ -23,6 +23,7 @@
> #include <lowlevellock.h>
> #include <stap-probe.h>
> #include <futex-internal.h>
> +#include <shlib-compat.h>
>
> static int
> __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)
> @@ -44,7 +45,6 @@ lll_mutex_unlock_optimized (pthread_mutex_t *mutex)
> }
>
> int
> -attribute_hidden
> __pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr)
> {
> /* See concurrency notes regarding mutex type which is loaded from __kind
> @@ -103,6 +103,7 @@ __pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr)
> goto normal;
> }
> }
> +libc_hidden_def (__pthread_mutex_unlock_usercnt)
>
>
> static int
> @@ -363,9 +364,19 @@ __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)
>
>
> int
> -__pthread_mutex_unlock (pthread_mutex_t *mutex)
> +__pthread_mutex_unlock_1 (pthread_mutex_t *mutex)
> {
> return __pthread_mutex_unlock_usercnt (mutex, 1);
> }
> -weak_alias (__pthread_mutex_unlock, pthread_mutex_unlock)
> -hidden_def (__pthread_mutex_unlock)
> +versioned_symbol (libc, __pthread_mutex_unlock_1, __pthread_mutex_unlock,
> + GLIBC_2_34);
> +libc_hidden_ver (__pthread_mutex_unlock_1, __pthread_mutex_unlock)
> +strong_alias (__pthread_mutex_unlock_1, __pthread_mutex_unlock_2)
> +versioned_symbol (libc, __pthread_mutex_unlock_2, pthread_mutex_unlock,
> + GLIBC_2_0);
> +
> +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
> +strong_alias (__pthread_mutex_unlock_1, __pthread_mutex_unlock_3)
> +compat_symbol (libc, __pthread_mutex_unlock_3, __pthread_mutex_unlock,
> + GLIBC_2_0);
> +#endif
Ok.
> diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
> index 89910560fa..0dd2ea1147 100644
> --- a/sysdeps/nptl/libc-lockP.h
> +++ b/sysdeps/nptl/libc-lockP.h
> @@ -128,8 +128,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
> # define __libc_lock_init(NAME) \
> ((void) ((NAME) = LLL_LOCK_INITIALIZER))
> #else
> -# define __libc_lock_init(NAME) \
> - __libc_maybe_call (__pthread_mutex_init, (&(NAME), NULL), 0)
> +# define __libc_lock_init(NAME) __pthread_mutex_init (&(NAME))
> #endif
> #if defined SHARED && IS_IN (libc)
> /* ((NAME) = (__libc_rwlock_t) PTHREAD_RWLOCK_INITIALIZER) is inefficient. */
Ok.
> @@ -146,8 +145,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
> #if IS_IN (libc) || IS_IN (libpthread)
> # define __libc_lock_fini(NAME) ((void) 0)
> #else
> -# define __libc_lock_fini(NAME) \
> - __libc_maybe_call (__pthread_mutex_destroy, (&(NAME)), 0)
> +# define __libc_lock_fini(NAME) __pthread_mutex_destroy (&(NAME))
> #endif
> #if defined SHARED && IS_IN (libc)
> # define __libc_rwlock_fini(NAME) ((void) 0)
Ok.
> @@ -164,8 +162,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
> # endif
> #else
> # undef __libc_lock_lock
> -# define __libc_lock_lock(NAME) \
> - __libc_maybe_call (__pthread_mutex_lock, (&(NAME)), 0)
> +# define __libc_lock_lock(NAME) __pthread_mutex_lock (&(NAME))
> #endif
> #define __libc_rwlock_rdlock(NAME) __pthread_rwlock_rdlock (&(NAME))
> #define __libc_rwlock_wrlock(NAME) __pthread_rwlock_wrlock (&(NAME))
Ok.
> @@ -194,8 +191,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
> # define __libc_lock_unlock(NAME) \
> lll_unlock (NAME, LLL_PRIVATE)
> #else
> -# define __libc_lock_unlock(NAME) \
> - __libc_maybe_call (__pthread_mutex_unlock, (&(NAME)), 0)
> +# define __libc_lock_unlock(NAME) __pthread_mutex_unlock (&(NAME))
> #endif
> #define __libc_rwlock_unlock(NAME) __pthread_rwlock_unlock (&(NAME))
>
Ok.
> @@ -213,10 +209,10 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
> GL(dl_rtld_unlock_recursive) (&(NAME).mutex)
> #else
> # define __rtld_lock_lock_recursive(NAME) \
> - __libc_maybe_call (__pthread_mutex_lock, (&(NAME).mutex), 0)
> + __pthread_mutex_lock (&(NAME).mutex)
>
> # define __rtld_lock_unlock_recursive(NAME) \
> - __libc_maybe_call (__pthread_mutex_unlock, (&(NAME).mutex), 0)
> + __pthread_mutex_unlock (&(NAME).mutex)
> #endif
>
> /* Define once control variable. */
Ok.
> @@ -274,15 +270,15 @@ extern int __register_atfork (void (*__prepare) (void),
>
> extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
> const pthread_mutexattr_t *__mutex_attr);
> -
> +libc_hidden_proto (__pthread_mutex_init)
> extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex);
> -
> +libc_hidden_proto (__pthread_mutex_destroy)
> extern int __pthread_mutex_trylock (pthread_mutex_t *__mutex);
>
> 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);
Ok.
> @@ -320,11 +316,7 @@ libc_hidden_proto (__pthread_setcancelstate)
> single-threaded processes. */
> #ifndef __NO_WEAK_PTHREAD_ALIASES
> # ifdef weak_extern
> -weak_extern (__pthread_mutex_init)
> -weak_extern (__pthread_mutex_destroy)
> -weak_extern (__pthread_mutex_lock)
> weak_extern (__pthread_mutex_trylock)
> -weak_extern (__pthread_mutex_unlock)
> weak_extern (__pthread_mutexattr_init)
> weak_extern (__pthread_mutexattr_destroy)
> weak_extern (__pthread_mutexattr_settype)
Ok.
> @@ -335,11 +327,7 @@ weak_extern (__pthread_rwlock_trywrlock)
> weak_extern (__pthread_initialize)
> weak_extern (__pthread_atfork)
> # else
> -# pragma weak __pthread_mutex_init
> -# pragma weak __pthread_mutex_destroy
> -# pragma weak __pthread_mutex_lock
> # pragma weak __pthread_mutex_trylock
> -# pragma weak __pthread_mutex_unlock
> # pragma weak __pthread_mutexattr_init
> # pragma weak __pthread_mutexattr_destroy
> # pragma weak __pthread_mutexattr_settype
Ok.
> diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h
> index 8535e142d5..dab5a2831e 100644
> --- a/sysdeps/nptl/pthread-functions.h
> +++ b/sysdeps/nptl/pthread-functions.h
> @@ -41,11 +41,6 @@ struct pthread_functions
> int (*ptr___pthread_cond_timedwait_2_0) (pthread_cond_2_0_t *,
> pthread_mutex_t *,
> const struct timespec *);
> - int (*ptr_pthread_mutex_destroy) (pthread_mutex_t *);
> - int (*ptr_pthread_mutex_init) (pthread_mutex_t *,
> - const pthread_mutexattr_t *);
> - int (*ptr_pthread_mutex_lock) (pthread_mutex_t *);
> - int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *);
> int (*ptr__nptl_setxid) (struct xid_command *);
> };
>
Ok.
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 9191b2e760..381947232e 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -341,6 +341,10 @@ GLIBC_2.17 __progname_full D 0x8
> GLIBC_2.17 __pthread_cleanup_routine F
> GLIBC_2.17 __pthread_getspecific F
> GLIBC_2.17 __pthread_key_create F
> +GLIBC_2.17 __pthread_mutex_destroy F
> +GLIBC_2.17 __pthread_mutex_init F
> +GLIBC_2.17 __pthread_mutex_lock F
> +GLIBC_2.17 __pthread_mutex_unlock F
> GLIBC_2.17 __pthread_once F
> GLIBC_2.17 __pthread_rwlock_rdlock F
> GLIBC_2.17 __pthread_rwlock_unlock F
> @@ -2198,6 +2202,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index 9a24f796de..29a98fc2f4 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -13,11 +13,7 @@ GLIBC_2.17 __lseek F
> GLIBC_2.17 __open F
> GLIBC_2.17 __open64 F
> GLIBC_2.17 __pread64 F
> -GLIBC_2.17 __pthread_mutex_destroy F
> -GLIBC_2.17 __pthread_mutex_init F
> -GLIBC_2.17 __pthread_mutex_lock F
> GLIBC_2.17 __pthread_mutex_trylock F
> -GLIBC_2.17 __pthread_mutex_unlock F
> GLIBC_2.17 __pthread_mutexattr_destroy F
> GLIBC_2.17 __pthread_mutexattr_init F
> GLIBC_2.17 __pthread_mutexattr_settype F
> @@ -84,14 +80,10 @@ GLIBC_2.17 pthread_getname_np F
> GLIBC_2.17 pthread_join F
> GLIBC_2.17 pthread_kill F
> GLIBC_2.17 pthread_kill_other_threads_np F
> -GLIBC_2.17 pthread_mutex_destroy F
> GLIBC_2.17 pthread_mutex_getprioceiling F
> -GLIBC_2.17 pthread_mutex_init F
> -GLIBC_2.17 pthread_mutex_lock F
> GLIBC_2.17 pthread_mutex_setprioceiling F
> GLIBC_2.17 pthread_mutex_timedlock F
> GLIBC_2.17 pthread_mutex_trylock F
> -GLIBC_2.17 pthread_mutex_unlock F
> GLIBC_2.17 pthread_mutexattr_destroy F
> GLIBC_2.17 pthread_mutexattr_getkind_np F
> GLIBC_2.17 pthread_mutexattr_getprioceiling F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 71dd49d25c..7e314dd68b 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -190,6 +190,10 @@ GLIBC_2.0 __progname D 0x8
> GLIBC_2.0 __progname_full D 0x8
> GLIBC_2.0 __pthread_getspecific F
> GLIBC_2.0 __pthread_key_create F
> +GLIBC_2.0 __pthread_mutex_destroy F
> +GLIBC_2.0 __pthread_mutex_init F
> +GLIBC_2.0 __pthread_mutex_lock F
> +GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_once F
> GLIBC_2.0 __pthread_setspecific F
> GLIBC_2.0 __rcmd_errstr D 0x8
> @@ -2279,6 +2283,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index a7b3fd73ab..29cb6259a5 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
> GLIBC_2.0 __h_errno_location F
> GLIBC_2.0 __lseek F
> GLIBC_2.0 __open F
> -GLIBC_2.0 __pthread_mutex_destroy F
> -GLIBC_2.0 __pthread_mutex_init F
> -GLIBC_2.0 __pthread_mutex_lock F
> GLIBC_2.0 __pthread_mutex_trylock F
> -GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_mutexattr_destroy F
> GLIBC_2.0 __pthread_mutexattr_init F
> GLIBC_2.0 __pthread_mutexattr_settype F
> @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
> GLIBC_2.0 pthread_join F
> GLIBC_2.0 pthread_kill F
> GLIBC_2.0 pthread_kill_other_threads_np F
> -GLIBC_2.0 pthread_mutex_destroy F
> -GLIBC_2.0 pthread_mutex_init F
> -GLIBC_2.0 pthread_mutex_lock F
> GLIBC_2.0 pthread_mutex_trylock F
> -GLIBC_2.0 pthread_mutex_unlock F
> GLIBC_2.0 pthread_mutexattr_destroy F
> GLIBC_2.0 pthread_mutexattr_getkind_np F
> GLIBC_2.0 pthread_mutexattr_init F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 38764a6746..014b30c7bd 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -330,6 +330,10 @@ GLIBC_2.32 __progname_full D 0x4
> GLIBC_2.32 __pthread_cleanup_routine F
> GLIBC_2.32 __pthread_getspecific F
> GLIBC_2.32 __pthread_key_create F
> +GLIBC_2.32 __pthread_mutex_destroy F
> +GLIBC_2.32 __pthread_mutex_init F
> +GLIBC_2.32 __pthread_mutex_lock F
> +GLIBC_2.32 __pthread_mutex_unlock F
> GLIBC_2.32 __pthread_once F
> GLIBC_2.32 __pthread_rwlock_rdlock F
> GLIBC_2.32 __pthread_rwlock_unlock F
> @@ -1958,6 +1962,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index 0d8b928e6d..b926ef9dba 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -12,11 +12,7 @@ GLIBC_2.32 __lseek F
> GLIBC_2.32 __open F
> GLIBC_2.32 __open64 F
> GLIBC_2.32 __pread64 F
> -GLIBC_2.32 __pthread_mutex_destroy F
> -GLIBC_2.32 __pthread_mutex_init F
> -GLIBC_2.32 __pthread_mutex_lock F
> GLIBC_2.32 __pthread_mutex_trylock F
> -GLIBC_2.32 __pthread_mutex_unlock F
> GLIBC_2.32 __pthread_mutexattr_destroy F
> GLIBC_2.32 __pthread_mutexattr_init F
> GLIBC_2.32 __pthread_mutexattr_settype F
> @@ -99,14 +95,10 @@ GLIBC_2.32 pthread_join F
> GLIBC_2.32 pthread_kill F
> GLIBC_2.32 pthread_kill_other_threads_np F
> GLIBC_2.32 pthread_mutex_clocklock F
> -GLIBC_2.32 pthread_mutex_destroy F
> GLIBC_2.32 pthread_mutex_getprioceiling F
> -GLIBC_2.32 pthread_mutex_init F
> -GLIBC_2.32 pthread_mutex_lock F
> GLIBC_2.32 pthread_mutex_setprioceiling F
> GLIBC_2.32 pthread_mutex_timedlock F
> GLIBC_2.32 pthread_mutex_trylock F
> -GLIBC_2.32 pthread_mutex_unlock F
> GLIBC_2.32 pthread_mutexattr_destroy F
> GLIBC_2.32 pthread_mutexattr_getkind_np F
> GLIBC_2.32 pthread_mutexattr_getprioceiling F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 86d971e7d2..412eb541fc 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -160,6 +160,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> @@ -505,6 +509,10 @@ GLIBC_2.4 __progname_full D 0x4
> GLIBC_2.4 __pthread_cleanup_routine F
> GLIBC_2.4 __pthread_getspecific F
> GLIBC_2.4 __pthread_key_create F
> +GLIBC_2.4 __pthread_mutex_destroy F
> +GLIBC_2.4 __pthread_mutex_init F
> +GLIBC_2.4 __pthread_mutex_lock F
> +GLIBC_2.4 __pthread_mutex_unlock F
> GLIBC_2.4 __pthread_once F
> GLIBC_2.4 __pthread_rwlock_rdlock F
> GLIBC_2.4 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 833b53362d..8dd2c3f7a6 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -47,11 +47,7 @@ GLIBC_2.4 __lseek F
> GLIBC_2.4 __open F
> GLIBC_2.4 __open64 F
> GLIBC_2.4 __pread64 F
> -GLIBC_2.4 __pthread_mutex_destroy F
> -GLIBC_2.4 __pthread_mutex_init F
> -GLIBC_2.4 __pthread_mutex_lock F
> GLIBC_2.4 __pthread_mutex_trylock F
> -GLIBC_2.4 __pthread_mutex_unlock F
> GLIBC_2.4 __pthread_mutexattr_destroy F
> GLIBC_2.4 __pthread_mutexattr_init F
> GLIBC_2.4 __pthread_mutexattr_settype F
> @@ -117,14 +113,10 @@ GLIBC_2.4 pthread_getcpuclockid F
> GLIBC_2.4 pthread_join F
> GLIBC_2.4 pthread_kill F
> GLIBC_2.4 pthread_kill_other_threads_np F
> -GLIBC_2.4 pthread_mutex_destroy F
> GLIBC_2.4 pthread_mutex_getprioceiling F
> -GLIBC_2.4 pthread_mutex_init F
> -GLIBC_2.4 pthread_mutex_lock F
> GLIBC_2.4 pthread_mutex_setprioceiling F
> GLIBC_2.4 pthread_mutex_timedlock F
> GLIBC_2.4 pthread_mutex_trylock F
> -GLIBC_2.4 pthread_mutex_unlock F
> GLIBC_2.4 pthread_mutexattr_destroy F
> GLIBC_2.4 pthread_mutexattr_getkind_np F
> GLIBC_2.4 pthread_mutexattr_getprioceiling F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index caf3f6a141..588f1d6b42 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -157,6 +157,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> @@ -502,6 +506,10 @@ GLIBC_2.4 __progname_full D 0x4
> GLIBC_2.4 __pthread_cleanup_routine F
> GLIBC_2.4 __pthread_getspecific F
> GLIBC_2.4 __pthread_key_create F
> +GLIBC_2.4 __pthread_mutex_destroy F
> +GLIBC_2.4 __pthread_mutex_init F
> +GLIBC_2.4 __pthread_mutex_lock F
> +GLIBC_2.4 __pthread_mutex_unlock F
> GLIBC_2.4 __pthread_once F
> GLIBC_2.4 __pthread_rwlock_rdlock F
> GLIBC_2.4 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 833b53362d..8dd2c3f7a6 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -47,11 +47,7 @@ GLIBC_2.4 __lseek F
> GLIBC_2.4 __open F
> GLIBC_2.4 __open64 F
> GLIBC_2.4 __pread64 F
> -GLIBC_2.4 __pthread_mutex_destroy F
> -GLIBC_2.4 __pthread_mutex_init F
> -GLIBC_2.4 __pthread_mutex_lock F
> GLIBC_2.4 __pthread_mutex_trylock F
> -GLIBC_2.4 __pthread_mutex_unlock F
> GLIBC_2.4 __pthread_mutexattr_destroy F
> GLIBC_2.4 __pthread_mutexattr_init F
> GLIBC_2.4 __pthread_mutexattr_settype F
> @@ -117,14 +113,10 @@ GLIBC_2.4 pthread_getcpuclockid F
> GLIBC_2.4 pthread_join F
> GLIBC_2.4 pthread_kill F
> GLIBC_2.4 pthread_kill_other_threads_np F
> -GLIBC_2.4 pthread_mutex_destroy F
> GLIBC_2.4 pthread_mutex_getprioceiling F
> -GLIBC_2.4 pthread_mutex_init F
> -GLIBC_2.4 pthread_mutex_lock F
> GLIBC_2.4 pthread_mutex_setprioceiling F
> GLIBC_2.4 pthread_mutex_timedlock F
> GLIBC_2.4 pthread_mutex_trylock F
> -GLIBC_2.4 pthread_mutex_unlock F
> GLIBC_2.4 pthread_mutexattr_destroy F
> GLIBC_2.4 pthread_mutexattr_getkind_np F
> GLIBC_2.4 pthread_mutexattr_getprioceiling F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index aeb6424389..76fb31f895 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -334,6 +334,10 @@ GLIBC_2.29 __progname_full D 0x4
> GLIBC_2.29 __pthread_cleanup_routine F
> GLIBC_2.29 __pthread_getspecific F
> GLIBC_2.29 __pthread_key_create F
> +GLIBC_2.29 __pthread_mutex_destroy F
> +GLIBC_2.29 __pthread_mutex_init F
> +GLIBC_2.29 __pthread_mutex_lock F
> +GLIBC_2.29 __pthread_mutex_unlock F
> GLIBC_2.29 __pthread_once F
> GLIBC_2.29 __pthread_rwlock_rdlock F
> GLIBC_2.29 __pthread_rwlock_unlock F
> @@ -2142,6 +2146,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index 440c0507d1..2c4d219569 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -12,11 +12,7 @@ GLIBC_2.29 __lseek F
> GLIBC_2.29 __open F
> GLIBC_2.29 __open64 F
> GLIBC_2.29 __pread64 F
> -GLIBC_2.29 __pthread_mutex_destroy F
> -GLIBC_2.29 __pthread_mutex_init F
> -GLIBC_2.29 __pthread_mutex_lock F
> GLIBC_2.29 __pthread_mutex_trylock F
> -GLIBC_2.29 __pthread_mutex_unlock F
> GLIBC_2.29 __pthread_mutexattr_destroy F
> GLIBC_2.29 __pthread_mutexattr_init F
> GLIBC_2.29 __pthread_mutexattr_settype F
> @@ -96,14 +92,10 @@ GLIBC_2.29 pthread_getname_np F
> GLIBC_2.29 pthread_join F
> GLIBC_2.29 pthread_kill F
> GLIBC_2.29 pthread_kill_other_threads_np F
> -GLIBC_2.29 pthread_mutex_destroy F
> GLIBC_2.29 pthread_mutex_getprioceiling F
> -GLIBC_2.29 pthread_mutex_init F
> -GLIBC_2.29 pthread_mutex_lock F
> GLIBC_2.29 pthread_mutex_setprioceiling F
> GLIBC_2.29 pthread_mutex_timedlock F
> GLIBC_2.29 pthread_mutex_trylock F
> -GLIBC_2.29 pthread_mutex_unlock F
> GLIBC_2.29 pthread_mutexattr_destroy F
> GLIBC_2.29 pthread_mutexattr_getkind_np F
> GLIBC_2.29 pthread_mutexattr_getprioceiling F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index e1d02058c9..e99899dee5 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -358,6 +358,10 @@ GLIBC_2.2 __progname D 0x4
> GLIBC_2.2 __progname_full D 0x4
> GLIBC_2.2 __pthread_getspecific F
> GLIBC_2.2 __pthread_key_create F
> +GLIBC_2.2 __pthread_mutex_destroy F
> +GLIBC_2.2 __pthread_mutex_init F
> +GLIBC_2.2 __pthread_mutex_lock F
> +GLIBC_2.2 __pthread_mutex_unlock F
> GLIBC_2.2 __pthread_once F
> GLIBC_2.2 __pthread_rwlock_rdlock F
> GLIBC_2.2 __pthread_rwlock_unlock F
> @@ -2100,6 +2104,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 70af59d791..9e15deaad8 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
> GLIBC_2.2 __open F
> GLIBC_2.2 __open64 F
> GLIBC_2.2 __pread64 F
> -GLIBC_2.2 __pthread_mutex_destroy F
> -GLIBC_2.2 __pthread_mutex_init F
> -GLIBC_2.2 __pthread_mutex_lock F
> GLIBC_2.2 __pthread_mutex_trylock F
> -GLIBC_2.2 __pthread_mutex_unlock F
> GLIBC_2.2 __pthread_mutexattr_destroy F
> GLIBC_2.2 __pthread_mutexattr_init F
> GLIBC_2.2 __pthread_mutexattr_settype F
> @@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
> GLIBC_2.2 pthread_join F
> GLIBC_2.2 pthread_kill F
> GLIBC_2.2 pthread_kill_other_threads_np F
> -GLIBC_2.2 pthread_mutex_destroy F
> -GLIBC_2.2 pthread_mutex_init F
> -GLIBC_2.2 pthread_mutex_lock F
> GLIBC_2.2 pthread_mutex_timedlock F
> GLIBC_2.2 pthread_mutex_trylock F
> -GLIBC_2.2 pthread_mutex_unlock F
> GLIBC_2.2 pthread_mutexattr_destroy F
> GLIBC_2.2 pthread_mutexattr_getkind_np F
> GLIBC_2.2 pthread_mutexattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 717344a690..29b8e0c1eb 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -187,6 +187,10 @@ GLIBC_2.0 __progname D 0x4
> GLIBC_2.0 __progname_full D 0x4
> GLIBC_2.0 __pthread_getspecific F
> GLIBC_2.0 __pthread_key_create F
> +GLIBC_2.0 __pthread_mutex_destroy F
> +GLIBC_2.0 __pthread_mutex_init F
> +GLIBC_2.0 __pthread_mutex_lock F
> +GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_once F
> GLIBC_2.0 __pthread_setspecific F
> GLIBC_2.0 __rcmd_errstr D 0x4
> @@ -2267,6 +2271,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 35cc2f61c5..4065a88a3b 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
> GLIBC_2.0 __h_errno_location F
> GLIBC_2.0 __lseek F
> GLIBC_2.0 __open F
> -GLIBC_2.0 __pthread_mutex_destroy F
> -GLIBC_2.0 __pthread_mutex_init F
> -GLIBC_2.0 __pthread_mutex_lock F
> GLIBC_2.0 __pthread_mutex_trylock F
> -GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_mutexattr_destroy F
> GLIBC_2.0 __pthread_mutexattr_init F
> GLIBC_2.0 __pthread_mutexattr_settype F
> @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
> GLIBC_2.0 pthread_join F
> GLIBC_2.0 pthread_kill F
> GLIBC_2.0 pthread_kill_other_threads_np F
> -GLIBC_2.0 pthread_mutex_destroy F
> -GLIBC_2.0 pthread_mutex_init F
> -GLIBC_2.0 pthread_mutex_lock F
> GLIBC_2.0 pthread_mutex_trylock F
> -GLIBC_2.0 pthread_mutex_unlock F
> GLIBC_2.0 pthread_mutexattr_destroy F
> GLIBC_2.0 pthread_mutexattr_getkind_np F
> GLIBC_2.0 pthread_mutexattr_init F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 284b7072a3..fb8a36ce20 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -362,6 +362,10 @@ GLIBC_2.2 __progname D 0x8
> GLIBC_2.2 __progname_full D 0x8
> GLIBC_2.2 __pthread_getspecific F
> GLIBC_2.2 __pthread_key_create F
> +GLIBC_2.2 __pthread_mutex_destroy F
> +GLIBC_2.2 __pthread_mutex_init F
> +GLIBC_2.2 __pthread_mutex_lock F
> +GLIBC_2.2 __pthread_mutex_unlock F
> GLIBC_2.2 __pthread_once F
> GLIBC_2.2 __pthread_rwlock_rdlock F
> GLIBC_2.2 __pthread_rwlock_unlock F
> @@ -2132,6 +2136,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index 2e69109cdc..684bf559e5 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
> GLIBC_2.2 __open F
> GLIBC_2.2 __open64 F
> GLIBC_2.2 __pread64 F
> -GLIBC_2.2 __pthread_mutex_destroy F
> -GLIBC_2.2 __pthread_mutex_init F
> -GLIBC_2.2 __pthread_mutex_lock F
> GLIBC_2.2 __pthread_mutex_trylock F
> -GLIBC_2.2 __pthread_mutex_unlock F
> GLIBC_2.2 __pthread_mutexattr_destroy F
> GLIBC_2.2 __pthread_mutexattr_init F
> GLIBC_2.2 __pthread_mutexattr_settype F
> @@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
> GLIBC_2.2 pthread_join F
> GLIBC_2.2 pthread_kill F
> GLIBC_2.2 pthread_kill_other_threads_np F
> -GLIBC_2.2 pthread_mutex_destroy F
> -GLIBC_2.2 pthread_mutex_init F
> -GLIBC_2.2 pthread_mutex_lock F
> GLIBC_2.2 pthread_mutex_timedlock F
> GLIBC_2.2 pthread_mutex_trylock F
> -GLIBC_2.2 pthread_mutex_unlock F
> GLIBC_2.2 pthread_mutexattr_destroy F
> GLIBC_2.2 pthread_mutexattr_getkind_np F
> GLIBC_2.2 pthread_mutexattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 404d16b92a..03e80e6a12 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -161,6 +161,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> @@ -491,6 +495,10 @@ GLIBC_2.4 __progname_full D 0x4
> GLIBC_2.4 __pthread_cleanup_routine F
> GLIBC_2.4 __pthread_getspecific F
> GLIBC_2.4 __pthread_key_create F
> +GLIBC_2.4 __pthread_mutex_destroy F
> +GLIBC_2.4 __pthread_mutex_init F
> +GLIBC_2.4 __pthread_mutex_lock F
> +GLIBC_2.4 __pthread_mutex_unlock F
> GLIBC_2.4 __pthread_once F
> GLIBC_2.4 __pthread_rwlock_rdlock F
> GLIBC_2.4 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 833b53362d..8dd2c3f7a6 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -47,11 +47,7 @@ GLIBC_2.4 __lseek F
> GLIBC_2.4 __open F
> GLIBC_2.4 __open64 F
> GLIBC_2.4 __pread64 F
> -GLIBC_2.4 __pthread_mutex_destroy F
> -GLIBC_2.4 __pthread_mutex_init F
> -GLIBC_2.4 __pthread_mutex_lock F
> GLIBC_2.4 __pthread_mutex_trylock F
> -GLIBC_2.4 __pthread_mutex_unlock F
> GLIBC_2.4 __pthread_mutexattr_destroy F
> GLIBC_2.4 __pthread_mutexattr_init F
> GLIBC_2.4 __pthread_mutexattr_settype F
> @@ -117,14 +113,10 @@ GLIBC_2.4 pthread_getcpuclockid F
> GLIBC_2.4 pthread_join F
> GLIBC_2.4 pthread_kill F
> GLIBC_2.4 pthread_kill_other_threads_np F
> -GLIBC_2.4 pthread_mutex_destroy F
> GLIBC_2.4 pthread_mutex_getprioceiling F
> -GLIBC_2.4 pthread_mutex_init F
> -GLIBC_2.4 pthread_mutex_lock F
> GLIBC_2.4 pthread_mutex_setprioceiling F
> GLIBC_2.4 pthread_mutex_timedlock F
> GLIBC_2.4 pthread_mutex_trylock F
> -GLIBC_2.4 pthread_mutex_unlock F
> GLIBC_2.4 pthread_mutexattr_destroy F
> GLIBC_2.4 pthread_mutexattr_getkind_np F
> GLIBC_2.4 pthread_mutexattr_getprioceiling F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index b1ad96e072..2a5bee30d1 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -187,6 +187,10 @@ GLIBC_2.0 __progname D 0x4
> GLIBC_2.0 __progname_full D 0x4
> GLIBC_2.0 __pthread_getspecific F
> GLIBC_2.0 __pthread_key_create F
> +GLIBC_2.0 __pthread_mutex_destroy F
> +GLIBC_2.0 __pthread_mutex_init F
> +GLIBC_2.0 __pthread_mutex_lock F
> +GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_once F
> GLIBC_2.0 __pthread_setspecific F
> GLIBC_2.0 __rcmd_errstr D 0x4
> @@ -2212,6 +2216,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 35cc2f61c5..4065a88a3b 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
> GLIBC_2.0 __h_errno_location F
> GLIBC_2.0 __lseek F
> GLIBC_2.0 __open F
> -GLIBC_2.0 __pthread_mutex_destroy F
> -GLIBC_2.0 __pthread_mutex_init F
> -GLIBC_2.0 __pthread_mutex_lock F
> GLIBC_2.0 __pthread_mutex_trylock F
> -GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_mutexattr_destroy F
> GLIBC_2.0 __pthread_mutexattr_init F
> GLIBC_2.0 __pthread_mutexattr_settype F
> @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
> GLIBC_2.0 pthread_join F
> GLIBC_2.0 pthread_kill F
> GLIBC_2.0 pthread_kill_other_threads_np F
> -GLIBC_2.0 pthread_mutex_destroy F
> -GLIBC_2.0 pthread_mutex_init F
> -GLIBC_2.0 pthread_mutex_lock F
> GLIBC_2.0 pthread_mutex_trylock F
> -GLIBC_2.0 pthread_mutex_unlock F
> GLIBC_2.0 pthread_mutexattr_destroy F
> GLIBC_2.0 pthread_mutexattr_getkind_np F
> GLIBC_2.0 pthread_mutexattr_init F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 3e0cceae93..b46567880e 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -342,6 +342,10 @@ GLIBC_2.18 __progname_full D 0x4
> GLIBC_2.18 __pthread_cleanup_routine F
> GLIBC_2.18 __pthread_getspecific F
> GLIBC_2.18 __pthread_key_create F
> +GLIBC_2.18 __pthread_mutex_destroy F
> +GLIBC_2.18 __pthread_mutex_init F
> +GLIBC_2.18 __pthread_mutex_lock F
> +GLIBC_2.18 __pthread_mutex_unlock F
> GLIBC_2.18 __pthread_once F
> GLIBC_2.18 __pthread_rwlock_rdlock F
> GLIBC_2.18 __pthread_rwlock_unlock F
> @@ -2193,6 +2197,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index 0db83c2f88..d8a9642f66 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -13,11 +13,7 @@ GLIBC_2.18 __lseek F
> GLIBC_2.18 __open F
> GLIBC_2.18 __open64 F
> GLIBC_2.18 __pread64 F
> -GLIBC_2.18 __pthread_mutex_destroy F
> -GLIBC_2.18 __pthread_mutex_init F
> -GLIBC_2.18 __pthread_mutex_lock F
> GLIBC_2.18 __pthread_mutex_trylock F
> -GLIBC_2.18 __pthread_mutex_unlock F
> GLIBC_2.18 __pthread_mutexattr_destroy F
> GLIBC_2.18 __pthread_mutexattr_init F
> GLIBC_2.18 __pthread_mutexattr_settype F
> @@ -85,14 +81,10 @@ GLIBC_2.18 pthread_getname_np F
> GLIBC_2.18 pthread_join F
> GLIBC_2.18 pthread_kill F
> GLIBC_2.18 pthread_kill_other_threads_np F
> -GLIBC_2.18 pthread_mutex_destroy F
> GLIBC_2.18 pthread_mutex_getprioceiling F
> -GLIBC_2.18 pthread_mutex_init F
> -GLIBC_2.18 pthread_mutex_lock F
> GLIBC_2.18 pthread_mutex_setprioceiling F
> GLIBC_2.18 pthread_mutex_timedlock F
> GLIBC_2.18 pthread_mutex_trylock F
> -GLIBC_2.18 pthread_mutex_unlock F
> GLIBC_2.18 pthread_mutexattr_destroy F
> GLIBC_2.18 pthread_mutexattr_getkind_np F
> GLIBC_2.18 pthread_mutexattr_getprioceiling F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 4ee88a1d01..7796c5313a 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -342,6 +342,10 @@ GLIBC_2.18 __progname_full D 0x4
> GLIBC_2.18 __pthread_cleanup_routine F
> GLIBC_2.18 __pthread_getspecific F
> GLIBC_2.18 __pthread_key_create F
> +GLIBC_2.18 __pthread_mutex_destroy F
> +GLIBC_2.18 __pthread_mutex_init F
> +GLIBC_2.18 __pthread_mutex_lock F
> +GLIBC_2.18 __pthread_mutex_unlock F
> GLIBC_2.18 __pthread_once F
> GLIBC_2.18 __pthread_rwlock_rdlock F
> GLIBC_2.18 __pthread_rwlock_unlock F
> @@ -2190,6 +2194,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index 0db83c2f88..d8a9642f66 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -13,11 +13,7 @@ GLIBC_2.18 __lseek F
> GLIBC_2.18 __open F
> GLIBC_2.18 __open64 F
> GLIBC_2.18 __pread64 F
> -GLIBC_2.18 __pthread_mutex_destroy F
> -GLIBC_2.18 __pthread_mutex_init F
> -GLIBC_2.18 __pthread_mutex_lock F
> GLIBC_2.18 __pthread_mutex_trylock F
> -GLIBC_2.18 __pthread_mutex_unlock F
> GLIBC_2.18 __pthread_mutexattr_destroy F
> GLIBC_2.18 __pthread_mutexattr_init F
> GLIBC_2.18 __pthread_mutexattr_settype F
> @@ -85,14 +81,10 @@ GLIBC_2.18 pthread_getname_np F
> GLIBC_2.18 pthread_join F
> GLIBC_2.18 pthread_kill F
> GLIBC_2.18 pthread_kill_other_threads_np F
> -GLIBC_2.18 pthread_mutex_destroy F
> GLIBC_2.18 pthread_mutex_getprioceiling F
> -GLIBC_2.18 pthread_mutex_init F
> -GLIBC_2.18 pthread_mutex_lock F
> GLIBC_2.18 pthread_mutex_setprioceiling F
> GLIBC_2.18 pthread_mutex_timedlock F
> GLIBC_2.18 pthread_mutex_trylock F
> -GLIBC_2.18 pthread_mutex_unlock F
> GLIBC_2.18 pthread_mutexattr_destroy F
> GLIBC_2.18 pthread_mutexattr_getkind_np F
> GLIBC_2.18 pthread_mutexattr_getprioceiling F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index e67af35000..c3e658dbc1 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x4
> GLIBC_2.0 __progname_full D 0x4
> GLIBC_2.0 __pthread_getspecific F
> GLIBC_2.0 __pthread_key_create F
> +GLIBC_2.0 __pthread_mutex_destroy F
> +GLIBC_2.0 __pthread_mutex_init F
> +GLIBC_2.0 __pthread_mutex_lock F
> +GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_once F
> GLIBC_2.0 __pthread_setspecific F
> GLIBC_2.0 __rcmd_errstr D 0x4
> @@ -2183,6 +2187,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index a1a66138d4..4bd5de2dd7 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
> GLIBC_2.0 __h_errno_location F
> GLIBC_2.0 __lseek F
> GLIBC_2.0 __open F
> -GLIBC_2.0 __pthread_mutex_destroy F
> -GLIBC_2.0 __pthread_mutex_init F
> -GLIBC_2.0 __pthread_mutex_lock F
> GLIBC_2.0 __pthread_mutex_trylock F
> -GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_mutexattr_destroy F
> GLIBC_2.0 __pthread_mutexattr_init F
> GLIBC_2.0 __pthread_mutexattr_settype F
> @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
> GLIBC_2.0 pthread_join F
> GLIBC_2.0 pthread_kill F
> GLIBC_2.0 pthread_kill_other_threads_np F
> -GLIBC_2.0 pthread_mutex_destroy F
> -GLIBC_2.0 pthread_mutex_init F
> -GLIBC_2.0 pthread_mutex_lock F
> GLIBC_2.0 pthread_mutex_trylock F
> -GLIBC_2.0 pthread_mutex_unlock F
> GLIBC_2.0 pthread_mutexattr_destroy F
> GLIBC_2.0 pthread_mutexattr_getkind_np F
> GLIBC_2.0 pthread_mutexattr_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 1ce0179391..bae73ebb39 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x4
> GLIBC_2.0 __progname_full D 0x4
> GLIBC_2.0 __pthread_getspecific F
> GLIBC_2.0 __pthread_key_create F
> +GLIBC_2.0 __pthread_mutex_destroy F
> +GLIBC_2.0 __pthread_mutex_init F
> +GLIBC_2.0 __pthread_mutex_lock F
> +GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_once F
> GLIBC_2.0 __pthread_setspecific F
> GLIBC_2.0 __rcmd_errstr D 0x4
> @@ -2181,6 +2185,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index a1a66138d4..4bd5de2dd7 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
> GLIBC_2.0 __h_errno_location F
> GLIBC_2.0 __lseek F
> GLIBC_2.0 __open F
> -GLIBC_2.0 __pthread_mutex_destroy F
> -GLIBC_2.0 __pthread_mutex_init F
> -GLIBC_2.0 __pthread_mutex_lock F
> GLIBC_2.0 __pthread_mutex_trylock F
> -GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_mutexattr_destroy F
> GLIBC_2.0 __pthread_mutexattr_init F
> GLIBC_2.0 __pthread_mutexattr_settype F
> @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
> GLIBC_2.0 pthread_join F
> GLIBC_2.0 pthread_kill F
> GLIBC_2.0 pthread_kill_other_threads_np F
> -GLIBC_2.0 pthread_mutex_destroy F
> -GLIBC_2.0 pthread_mutex_init F
> -GLIBC_2.0 pthread_mutex_lock F
> GLIBC_2.0 pthread_mutex_trylock F
> -GLIBC_2.0 pthread_mutex_unlock F
> GLIBC_2.0 pthread_mutexattr_destroy F
> GLIBC_2.0 pthread_mutexattr_getkind_np F
> GLIBC_2.0 pthread_mutexattr_init F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 54c2300420..74fb3b997e 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x4
> GLIBC_2.0 __progname_full D 0x4
> GLIBC_2.0 __pthread_getspecific F
> GLIBC_2.0 __pthread_key_create F
> +GLIBC_2.0 __pthread_mutex_destroy F
> +GLIBC_2.0 __pthread_mutex_init F
> +GLIBC_2.0 __pthread_mutex_lock F
> +GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_once F
> GLIBC_2.0 __pthread_setspecific F
> GLIBC_2.0 __rcmd_errstr D 0x4
> @@ -2189,6 +2193,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 90bbb7f253..3083e3d821 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x8
> GLIBC_2.0 __progname_full D 0x8
> GLIBC_2.0 __pthread_getspecific F
> GLIBC_2.0 __pthread_key_create F
> +GLIBC_2.0 __pthread_mutex_destroy F
> +GLIBC_2.0 __pthread_mutex_init F
> +GLIBC_2.0 __pthread_mutex_lock F
> +GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_once F
> GLIBC_2.0 __pthread_setspecific F
> GLIBC_2.0 __rcmd_errstr D 0x8
> @@ -2183,6 +2187,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 1f68c2a3fb..f79ca91eb7 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -379,6 +379,10 @@ GLIBC_2.21 __progname_full D 0x4
> GLIBC_2.21 __pthread_cleanup_routine F
> GLIBC_2.21 __pthread_getspecific F
> GLIBC_2.21 __pthread_key_create F
> +GLIBC_2.21 __pthread_mutex_destroy F
> +GLIBC_2.21 __pthread_mutex_init F
> +GLIBC_2.21 __pthread_mutex_lock F
> +GLIBC_2.21 __pthread_mutex_unlock F
> GLIBC_2.21 __pthread_once F
> GLIBC_2.21 __pthread_rwlock_rdlock F
> GLIBC_2.21 __pthread_rwlock_unlock F
> @@ -2231,6 +2235,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 806432b7b4..c469853b65 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -13,11 +13,7 @@ GLIBC_2.21 __lseek F
> GLIBC_2.21 __open F
> GLIBC_2.21 __open64 F
> GLIBC_2.21 __pread64 F
> -GLIBC_2.21 __pthread_mutex_destroy F
> -GLIBC_2.21 __pthread_mutex_init F
> -GLIBC_2.21 __pthread_mutex_lock F
> GLIBC_2.21 __pthread_mutex_trylock F
> -GLIBC_2.21 __pthread_mutex_unlock F
> GLIBC_2.21 __pthread_mutexattr_destroy F
> GLIBC_2.21 __pthread_mutexattr_init F
> GLIBC_2.21 __pthread_mutexattr_settype F
> @@ -85,14 +81,10 @@ GLIBC_2.21 pthread_getname_np F
> GLIBC_2.21 pthread_join F
> GLIBC_2.21 pthread_kill F
> GLIBC_2.21 pthread_kill_other_threads_np F
> -GLIBC_2.21 pthread_mutex_destroy F
> GLIBC_2.21 pthread_mutex_getprioceiling F
> -GLIBC_2.21 pthread_mutex_init F
> -GLIBC_2.21 pthread_mutex_lock F
> GLIBC_2.21 pthread_mutex_setprioceiling F
> GLIBC_2.21 pthread_mutex_timedlock F
> GLIBC_2.21 pthread_mutex_trylock F
> -GLIBC_2.21 pthread_mutex_unlock F
> GLIBC_2.21 pthread_mutexattr_destroy F
> GLIBC_2.21 pthread_mutexattr_getkind_np F
> GLIBC_2.21 pthread_mutexattr_getprioceiling F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index a41536e4cd..f5408e6078 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -196,6 +196,10 @@ GLIBC_2.0 __progname D 0x4
> GLIBC_2.0 __progname_full D 0x4
> GLIBC_2.0 __pthread_getspecific F
> GLIBC_2.0 __pthread_key_create F
> +GLIBC_2.0 __pthread_mutex_destroy F
> +GLIBC_2.0 __pthread_mutex_init F
> +GLIBC_2.0 __pthread_mutex_lock F
> +GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_once F
> GLIBC_2.0 __pthread_setspecific F
> GLIBC_2.0 __rcmd_errstr D 0x4
> @@ -2239,6 +2243,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index d0646d0eaf..44fb3a6743 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
> GLIBC_2.0 __h_errno_location F
> GLIBC_2.0 __lseek F
> GLIBC_2.0 __open F
> -GLIBC_2.0 __pthread_mutex_destroy F
> -GLIBC_2.0 __pthread_mutex_init F
> -GLIBC_2.0 __pthread_mutex_lock F
> GLIBC_2.0 __pthread_mutex_trylock F
> -GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_mutexattr_destroy F
> GLIBC_2.0 __pthread_mutexattr_init F
> GLIBC_2.0 __pthread_mutexattr_settype F
> @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
> GLIBC_2.0 pthread_join F
> GLIBC_2.0 pthread_kill F
> GLIBC_2.0 pthread_kill_other_threads_np F
> -GLIBC_2.0 pthread_mutex_destroy F
> -GLIBC_2.0 pthread_mutex_init F
> -GLIBC_2.0 pthread_mutex_lock F
> GLIBC_2.0 pthread_mutex_trylock F
> -GLIBC_2.0 pthread_mutex_unlock F
> GLIBC_2.0 pthread_mutexattr_destroy F
> GLIBC_2.0 pthread_mutexattr_getkind_np F
> GLIBC_2.0 pthread_mutexattr_init F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index cdd6e98496..a7587dcc45 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -196,6 +196,10 @@ GLIBC_2.0 __progname D 0x4
> GLIBC_2.0 __progname_full D 0x4
> GLIBC_2.0 __pthread_getspecific F
> GLIBC_2.0 __pthread_key_create F
> +GLIBC_2.0 __pthread_mutex_destroy F
> +GLIBC_2.0 __pthread_mutex_init F
> +GLIBC_2.0 __pthread_mutex_lock F
> +GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_once F
> GLIBC_2.0 __pthread_setspecific F
> GLIBC_2.0 __rcmd_errstr D 0x4
> @@ -2272,6 +2276,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 63a7449937..7ea6dc6574 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -411,6 +411,10 @@ GLIBC_2.3 __progname D 0x8
> GLIBC_2.3 __progname_full D 0x8
> GLIBC_2.3 __pthread_getspecific F
> GLIBC_2.3 __pthread_key_create F
> +GLIBC_2.3 __pthread_mutex_destroy F
> +GLIBC_2.3 __pthread_mutex_init F
> +GLIBC_2.3 __pthread_mutex_lock F
> +GLIBC_2.3 __pthread_mutex_unlock F
> GLIBC_2.3 __pthread_once F
> GLIBC_2.3 __pthread_rwlock_rdlock F
> GLIBC_2.3 __pthread_rwlock_unlock F
> @@ -2102,6 +2106,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 72d49ce4f3..2e77dc2fb3 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -41,11 +41,7 @@ GLIBC_2.3 __lseek F
> GLIBC_2.3 __open F
> GLIBC_2.3 __open64 F
> GLIBC_2.3 __pread64 F
> -GLIBC_2.3 __pthread_mutex_destroy F
> -GLIBC_2.3 __pthread_mutex_init F
> -GLIBC_2.3 __pthread_mutex_lock F
> GLIBC_2.3 __pthread_mutex_trylock F
> -GLIBC_2.3 __pthread_mutex_unlock F
> GLIBC_2.3 __pthread_mutexattr_destroy F
> GLIBC_2.3 __pthread_mutexattr_init F
> GLIBC_2.3 __pthread_mutexattr_settype F
> @@ -103,12 +99,8 @@ GLIBC_2.3 pthread_getcpuclockid F
> GLIBC_2.3 pthread_join F
> GLIBC_2.3 pthread_kill F
> GLIBC_2.3 pthread_kill_other_threads_np F
> -GLIBC_2.3 pthread_mutex_destroy F
> -GLIBC_2.3 pthread_mutex_init F
> -GLIBC_2.3 pthread_mutex_lock F
> GLIBC_2.3 pthread_mutex_timedlock F
> GLIBC_2.3 pthread_mutex_trylock F
> -GLIBC_2.3 pthread_mutex_unlock F
> GLIBC_2.3 pthread_mutexattr_destroy F
> GLIBC_2.3 pthread_mutexattr_getkind_np F
> GLIBC_2.3 pthread_mutexattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index b6de88ea41..f994892fd9 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -427,6 +427,10 @@ GLIBC_2.17 __progname_full D 0x8
> GLIBC_2.17 __pthread_cleanup_routine F
> GLIBC_2.17 __pthread_getspecific F
> GLIBC_2.17 __pthread_key_create F
> +GLIBC_2.17 __pthread_mutex_destroy F
> +GLIBC_2.17 __pthread_mutex_init F
> +GLIBC_2.17 __pthread_mutex_lock F
> +GLIBC_2.17 __pthread_mutex_unlock F
> GLIBC_2.17 __pthread_once F
> GLIBC_2.17 __pthread_rwlock_rdlock F
> GLIBC_2.17 __pthread_rwlock_unlock F
> @@ -2393,6 +2397,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index 9a24f796de..29a98fc2f4 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -13,11 +13,7 @@ GLIBC_2.17 __lseek F
> GLIBC_2.17 __open F
> GLIBC_2.17 __open64 F
> GLIBC_2.17 __pread64 F
> -GLIBC_2.17 __pthread_mutex_destroy F
> -GLIBC_2.17 __pthread_mutex_init F
> -GLIBC_2.17 __pthread_mutex_lock F
> GLIBC_2.17 __pthread_mutex_trylock F
> -GLIBC_2.17 __pthread_mutex_unlock F
> GLIBC_2.17 __pthread_mutexattr_destroy F
> GLIBC_2.17 __pthread_mutexattr_init F
> GLIBC_2.17 __pthread_mutexattr_settype F
> @@ -84,14 +80,10 @@ GLIBC_2.17 pthread_getname_np F
> GLIBC_2.17 pthread_join F
> GLIBC_2.17 pthread_kill F
> GLIBC_2.17 pthread_kill_other_threads_np F
> -GLIBC_2.17 pthread_mutex_destroy F
> GLIBC_2.17 pthread_mutex_getprioceiling F
> -GLIBC_2.17 pthread_mutex_init F
> -GLIBC_2.17 pthread_mutex_lock F
> GLIBC_2.17 pthread_mutex_setprioceiling F
> GLIBC_2.17 pthread_mutex_timedlock F
> GLIBC_2.17 pthread_mutex_trylock F
> -GLIBC_2.17 pthread_mutex_unlock F
> GLIBC_2.17 pthread_mutexattr_destroy F
> GLIBC_2.17 pthread_mutexattr_getkind_np F
> GLIBC_2.17 pthread_mutexattr_getprioceiling F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index d81b46d597..70b873f9fb 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -327,6 +327,10 @@ GLIBC_2.33 __progname_full D 0x4
> GLIBC_2.33 __pthread_cleanup_routine F
> GLIBC_2.33 __pthread_getspecific F
> GLIBC_2.33 __pthread_key_create F
> +GLIBC_2.33 __pthread_mutex_destroy F
> +GLIBC_2.33 __pthread_mutex_init F
> +GLIBC_2.33 __pthread_mutex_lock F
> +GLIBC_2.33 __pthread_mutex_unlock F
> GLIBC_2.33 __pthread_once F
> GLIBC_2.33 __pthread_rwlock_rdlock F
> GLIBC_2.33 __pthread_rwlock_unlock F
> @@ -1960,6 +1964,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 10e50b67c0..911969f7eb 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -12,11 +12,7 @@ GLIBC_2.33 __lseek F
> GLIBC_2.33 __open F
> GLIBC_2.33 __open64 F
> GLIBC_2.33 __pread64 F
> -GLIBC_2.33 __pthread_mutex_destroy F
> -GLIBC_2.33 __pthread_mutex_init F
> -GLIBC_2.33 __pthread_mutex_lock F
> GLIBC_2.33 __pthread_mutex_trylock F
> -GLIBC_2.33 __pthread_mutex_unlock F
> GLIBC_2.33 __pthread_mutexattr_destroy F
> GLIBC_2.33 __pthread_mutexattr_init F
> GLIBC_2.33 __pthread_mutexattr_settype F
> @@ -99,14 +95,10 @@ GLIBC_2.33 pthread_join F
> GLIBC_2.33 pthread_kill F
> GLIBC_2.33 pthread_kill_other_threads_np F
> GLIBC_2.33 pthread_mutex_clocklock F
> -GLIBC_2.33 pthread_mutex_destroy F
> GLIBC_2.33 pthread_mutex_getprioceiling F
> -GLIBC_2.33 pthread_mutex_init F
> -GLIBC_2.33 pthread_mutex_lock F
> GLIBC_2.33 pthread_mutex_setprioceiling F
> GLIBC_2.33 pthread_mutex_timedlock F
> GLIBC_2.33 pthread_mutex_trylock F
> -GLIBC_2.33 pthread_mutex_unlock F
> GLIBC_2.33 pthread_mutexattr_destroy F
> GLIBC_2.33 pthread_mutexattr_getkind_np F
> GLIBC_2.33 pthread_mutexattr_getprioceiling F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index fbd1c5e5cf..ddfac62fd0 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -338,6 +338,10 @@ GLIBC_2.27 __progname_full D 0x8
> GLIBC_2.27 __pthread_cleanup_routine F
> GLIBC_2.27 __pthread_getspecific F
> GLIBC_2.27 __pthread_key_create F
> +GLIBC_2.27 __pthread_mutex_destroy F
> +GLIBC_2.27 __pthread_mutex_init F
> +GLIBC_2.27 __pthread_mutex_lock F
> +GLIBC_2.27 __pthread_mutex_unlock F
> GLIBC_2.27 __pthread_once F
> GLIBC_2.27 __pthread_rwlock_rdlock F
> GLIBC_2.27 __pthread_rwlock_unlock F
> @@ -2160,6 +2164,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index ed24898e0d..21f462137a 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -13,11 +13,7 @@ GLIBC_2.27 __lseek F
> GLIBC_2.27 __open F
> GLIBC_2.27 __open64 F
> GLIBC_2.27 __pread64 F
> -GLIBC_2.27 __pthread_mutex_destroy F
> -GLIBC_2.27 __pthread_mutex_init F
> -GLIBC_2.27 __pthread_mutex_lock F
> GLIBC_2.27 __pthread_mutex_trylock F
> -GLIBC_2.27 __pthread_mutex_unlock F
> GLIBC_2.27 __pthread_mutexattr_destroy F
> GLIBC_2.27 __pthread_mutexattr_init F
> GLIBC_2.27 __pthread_mutexattr_settype F
> @@ -85,14 +81,10 @@ GLIBC_2.27 pthread_getname_np F
> GLIBC_2.27 pthread_join F
> GLIBC_2.27 pthread_kill F
> GLIBC_2.27 pthread_kill_other_threads_np F
> -GLIBC_2.27 pthread_mutex_destroy F
> GLIBC_2.27 pthread_mutex_getprioceiling F
> -GLIBC_2.27 pthread_mutex_init F
> -GLIBC_2.27 pthread_mutex_lock F
> GLIBC_2.27 pthread_mutex_setprioceiling F
> GLIBC_2.27 pthread_mutex_timedlock F
> GLIBC_2.27 pthread_mutex_trylock F
> -GLIBC_2.27 pthread_mutex_unlock F
> GLIBC_2.27 pthread_mutexattr_destroy F
> GLIBC_2.27 pthread_mutexattr_getkind_np F
> GLIBC_2.27 pthread_mutexattr_getprioceiling F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index 27a9b011a8..078237adb2 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -187,6 +187,10 @@ GLIBC_2.0 __progname D 0x4
> GLIBC_2.0 __progname_full D 0x4
> GLIBC_2.0 __pthread_getspecific F
> GLIBC_2.0 __pthread_key_create F
> +GLIBC_2.0 __pthread_mutex_destroy F
> +GLIBC_2.0 __pthread_mutex_init F
> +GLIBC_2.0 __pthread_mutex_lock F
> +GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_once F
> GLIBC_2.0 __pthread_setspecific F
> GLIBC_2.0 __rcmd_errstr D 0x4
> @@ -2237,6 +2241,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index d6e91c977a..7b2edb7f57 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
> GLIBC_2.0 __h_errno_location F
> GLIBC_2.0 __lseek F
> GLIBC_2.0 __open F
> -GLIBC_2.0 __pthread_mutex_destroy F
> -GLIBC_2.0 __pthread_mutex_init F
> -GLIBC_2.0 __pthread_mutex_lock F
> GLIBC_2.0 __pthread_mutex_trylock F
> -GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_mutexattr_destroy F
> GLIBC_2.0 __pthread_mutexattr_init F
> GLIBC_2.0 __pthread_mutexattr_settype F
> @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
> GLIBC_2.0 pthread_join F
> GLIBC_2.0 pthread_kill F
> GLIBC_2.0 pthread_kill_other_threads_np F
> -GLIBC_2.0 pthread_mutex_destroy F
> -GLIBC_2.0 pthread_mutex_init F
> -GLIBC_2.0 pthread_mutex_lock F
> GLIBC_2.0 pthread_mutex_trylock F
> -GLIBC_2.0 pthread_mutex_unlock F
> GLIBC_2.0 pthread_mutexattr_destroy F
> GLIBC_2.0 pthread_mutexattr_getkind_np F
> GLIBC_2.0 pthread_mutexattr_init F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 9e79331100..a2700aba32 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -372,6 +372,10 @@ GLIBC_2.2 __progname D 0x8
> GLIBC_2.2 __progname_full D 0x8
> GLIBC_2.2 __pthread_getspecific F
> GLIBC_2.2 __pthread_key_create F
> +GLIBC_2.2 __pthread_mutex_destroy F
> +GLIBC_2.2 __pthread_mutex_init F
> +GLIBC_2.2 __pthread_mutex_lock F
> +GLIBC_2.2 __pthread_mutex_unlock F
> GLIBC_2.2 __pthread_once F
> GLIBC_2.2 __pthread_rwlock_rdlock F
> GLIBC_2.2 __pthread_rwlock_unlock F
> @@ -2138,6 +2142,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 14489b39d0..8b4729fb7a 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -21,11 +21,7 @@ GLIBC_2.2 __lseek F
> GLIBC_2.2 __open F
> GLIBC_2.2 __open64 F
> GLIBC_2.2 __pread64 F
> -GLIBC_2.2 __pthread_mutex_destroy F
> -GLIBC_2.2 __pthread_mutex_init F
> -GLIBC_2.2 __pthread_mutex_lock F
> GLIBC_2.2 __pthread_mutex_trylock F
> -GLIBC_2.2 __pthread_mutex_unlock F
> GLIBC_2.2 __pthread_mutexattr_destroy F
> GLIBC_2.2 __pthread_mutexattr_init F
> GLIBC_2.2 __pthread_mutexattr_settype F
> @@ -84,12 +80,8 @@ GLIBC_2.2 pthread_getcpuclockid F
> GLIBC_2.2 pthread_join F
> GLIBC_2.2 pthread_kill F
> GLIBC_2.2 pthread_kill_other_threads_np F
> -GLIBC_2.2 pthread_mutex_destroy F
> -GLIBC_2.2 pthread_mutex_init F
> -GLIBC_2.2 pthread_mutex_lock F
> GLIBC_2.2 pthread_mutex_timedlock F
> GLIBC_2.2 pthread_mutex_trylock F
> -GLIBC_2.2 pthread_mutex_unlock F
> GLIBC_2.2 pthread_mutexattr_destroy F
> GLIBC_2.2 pthread_mutexattr_getkind_np F
> GLIBC_2.2 pthread_mutexattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index b7dd795864..4fce4b408e 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -361,6 +361,10 @@ GLIBC_2.2 __progname D 0x4
> GLIBC_2.2 __progname_full D 0x4
> GLIBC_2.2 __pthread_getspecific F
> GLIBC_2.2 __pthread_key_create F
> +GLIBC_2.2 __pthread_mutex_destroy F
> +GLIBC_2.2 __pthread_mutex_init F
> +GLIBC_2.2 __pthread_mutex_lock F
> +GLIBC_2.2 __pthread_mutex_unlock F
> GLIBC_2.2 __pthread_once F
> GLIBC_2.2 __pthread_rwlock_rdlock F
> GLIBC_2.2 __pthread_rwlock_unlock F
> @@ -2107,6 +2111,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 70af59d791..9e15deaad8 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
> GLIBC_2.2 __open F
> GLIBC_2.2 __open64 F
> GLIBC_2.2 __pread64 F
> -GLIBC_2.2 __pthread_mutex_destroy F
> -GLIBC_2.2 __pthread_mutex_init F
> -GLIBC_2.2 __pthread_mutex_lock F
> GLIBC_2.2 __pthread_mutex_trylock F
> -GLIBC_2.2 __pthread_mutex_unlock F
> GLIBC_2.2 __pthread_mutexattr_destroy F
> GLIBC_2.2 __pthread_mutexattr_init F
> GLIBC_2.2 __pthread_mutexattr_settype F
> @@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
> GLIBC_2.2 pthread_join F
> GLIBC_2.2 pthread_kill F
> GLIBC_2.2 pthread_kill_other_threads_np F
> -GLIBC_2.2 pthread_mutex_destroy F
> -GLIBC_2.2 pthread_mutex_init F
> -GLIBC_2.2 pthread_mutex_lock F
> GLIBC_2.2 pthread_mutex_timedlock F
> GLIBC_2.2 pthread_mutex_trylock F
> -GLIBC_2.2 pthread_mutex_unlock F
> GLIBC_2.2 pthread_mutexattr_destroy F
> GLIBC_2.2 pthread_mutexattr_getkind_np F
> GLIBC_2.2 pthread_mutexattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index eea30cd098..5dba0f5d0c 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -361,6 +361,10 @@ GLIBC_2.2 __progname D 0x4
> GLIBC_2.2 __progname_full D 0x4
> GLIBC_2.2 __pthread_getspecific F
> GLIBC_2.2 __pthread_key_create F
> +GLIBC_2.2 __pthread_mutex_destroy F
> +GLIBC_2.2 __pthread_mutex_init F
> +GLIBC_2.2 __pthread_mutex_lock F
> +GLIBC_2.2 __pthread_mutex_unlock F
> GLIBC_2.2 __pthread_once F
> GLIBC_2.2 __pthread_rwlock_rdlock F
> GLIBC_2.2 __pthread_rwlock_unlock F
> @@ -2104,6 +2108,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 70af59d791..9e15deaad8 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
> GLIBC_2.2 __open F
> GLIBC_2.2 __open64 F
> GLIBC_2.2 __pread64 F
> -GLIBC_2.2 __pthread_mutex_destroy F
> -GLIBC_2.2 __pthread_mutex_init F
> -GLIBC_2.2 __pthread_mutex_lock F
> GLIBC_2.2 __pthread_mutex_trylock F
> -GLIBC_2.2 __pthread_mutex_unlock F
> GLIBC_2.2 __pthread_mutexattr_destroy F
> GLIBC_2.2 __pthread_mutexattr_init F
> GLIBC_2.2 __pthread_mutexattr_settype F
> @@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
> GLIBC_2.2 pthread_join F
> GLIBC_2.2 pthread_kill F
> GLIBC_2.2 pthread_kill_other_threads_np F
> -GLIBC_2.2 pthread_mutex_destroy F
> -GLIBC_2.2 pthread_mutex_init F
> -GLIBC_2.2 pthread_mutex_lock F
> GLIBC_2.2 pthread_mutex_timedlock F
> GLIBC_2.2 pthread_mutex_trylock F
> -GLIBC_2.2 pthread_mutex_unlock F
> GLIBC_2.2 pthread_mutexattr_destroy F
> GLIBC_2.2 pthread_mutexattr_getkind_np F
> GLIBC_2.2 pthread_mutexattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 4944c4159b..e064e5a4dc 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -191,6 +191,10 @@ GLIBC_2.0 __progname D 0x4
> GLIBC_2.0 __progname_full D 0x4
> GLIBC_2.0 __pthread_getspecific F
> GLIBC_2.0 __pthread_key_create F
> +GLIBC_2.0 __pthread_mutex_destroy F
> +GLIBC_2.0 __pthread_mutex_init F
> +GLIBC_2.0 __pthread_mutex_lock F
> +GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_once F
> GLIBC_2.0 __pthread_setspecific F
> GLIBC_2.0 __rcmd_errstr D 0x4
> @@ -2228,6 +2232,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index a7b3fd73ab..29cb6259a5 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
> GLIBC_2.0 __h_errno_location F
> GLIBC_2.0 __lseek F
> GLIBC_2.0 __open F
> -GLIBC_2.0 __pthread_mutex_destroy F
> -GLIBC_2.0 __pthread_mutex_init F
> -GLIBC_2.0 __pthread_mutex_lock F
> GLIBC_2.0 __pthread_mutex_trylock F
> -GLIBC_2.0 __pthread_mutex_unlock F
> GLIBC_2.0 __pthread_mutexattr_destroy F
> GLIBC_2.0 __pthread_mutexattr_init F
> GLIBC_2.0 __pthread_mutexattr_settype F
> @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
> GLIBC_2.0 pthread_join F
> GLIBC_2.0 pthread_kill F
> GLIBC_2.0 pthread_kill_other_threads_np F
> -GLIBC_2.0 pthread_mutex_destroy F
> -GLIBC_2.0 pthread_mutex_init F
> -GLIBC_2.0 pthread_mutex_lock F
> GLIBC_2.0 pthread_mutex_trylock F
> -GLIBC_2.0 pthread_mutex_unlock F
> GLIBC_2.0 pthread_mutexattr_destroy F
> GLIBC_2.0 pthread_mutexattr_getkind_np F
> GLIBC_2.0 pthread_mutexattr_init F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index e69420994f..36fed3cf99 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -399,6 +399,10 @@ GLIBC_2.2 __progname D 0x8
> GLIBC_2.2 __progname_full D 0x8
> GLIBC_2.2 __pthread_getspecific F
> GLIBC_2.2 __pthread_key_create F
> +GLIBC_2.2 __pthread_mutex_destroy F
> +GLIBC_2.2 __pthread_mutex_init F
> +GLIBC_2.2 __pthread_mutex_lock F
> +GLIBC_2.2 __pthread_mutex_unlock F
> GLIBC_2.2 __pthread_once F
> GLIBC_2.2 __pthread_rwlock_rdlock F
> GLIBC_2.2 __pthread_rwlock_unlock F
> @@ -2155,6 +2159,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index 2e69109cdc..684bf559e5 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
> GLIBC_2.2 __open F
> GLIBC_2.2 __open64 F
> GLIBC_2.2 __pread64 F
> -GLIBC_2.2 __pthread_mutex_destroy F
> -GLIBC_2.2 __pthread_mutex_init F
> -GLIBC_2.2 __pthread_mutex_lock F
> GLIBC_2.2 __pthread_mutex_trylock F
> -GLIBC_2.2 __pthread_mutex_unlock F
> GLIBC_2.2 __pthread_mutexattr_destroy F
> GLIBC_2.2 __pthread_mutexattr_init F
> GLIBC_2.2 __pthread_mutexattr_settype F
> @@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
> GLIBC_2.2 pthread_join F
> GLIBC_2.2 pthread_kill F
> GLIBC_2.2 pthread_kill_other_threads_np F
> -GLIBC_2.2 pthread_mutex_destroy F
> -GLIBC_2.2 pthread_mutex_init F
> -GLIBC_2.2 pthread_mutex_lock F
> GLIBC_2.2 pthread_mutex_timedlock F
> GLIBC_2.2 pthread_mutex_trylock F
> -GLIBC_2.2 pthread_mutex_unlock F
> GLIBC_2.2 pthread_mutexattr_destroy F
> GLIBC_2.2 pthread_mutexattr_getkind_np F
> GLIBC_2.2 pthread_mutexattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index dfe78d93cb..6858c1328f 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -360,6 +360,10 @@ GLIBC_2.2.5 __progname D 0x8
> GLIBC_2.2.5 __progname_full D 0x8
> GLIBC_2.2.5 __pthread_getspecific F
> GLIBC_2.2.5 __pthread_key_create F
> +GLIBC_2.2.5 __pthread_mutex_destroy F
> +GLIBC_2.2.5 __pthread_mutex_init F
> +GLIBC_2.2.5 __pthread_mutex_lock F
> +GLIBC_2.2.5 __pthread_mutex_unlock F
> GLIBC_2.2.5 __pthread_once F
> GLIBC_2.2.5 __pthread_rwlock_rdlock F
> GLIBC_2.2.5 __pthread_rwlock_unlock F
> @@ -2114,6 +2118,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 4f8dfa000a..54ad81fdd6 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -20,11 +20,7 @@ GLIBC_2.2.5 __lseek F
> GLIBC_2.2.5 __open F
> GLIBC_2.2.5 __open64 F
> GLIBC_2.2.5 __pread64 F
> -GLIBC_2.2.5 __pthread_mutex_destroy F
> -GLIBC_2.2.5 __pthread_mutex_init F
> -GLIBC_2.2.5 __pthread_mutex_lock F
> GLIBC_2.2.5 __pthread_mutex_trylock F
> -GLIBC_2.2.5 __pthread_mutex_unlock F
> GLIBC_2.2.5 __pthread_mutexattr_destroy F
> GLIBC_2.2.5 __pthread_mutexattr_init F
> GLIBC_2.2.5 __pthread_mutexattr_settype F
> @@ -83,12 +79,8 @@ GLIBC_2.2.5 pthread_getcpuclockid F
> GLIBC_2.2.5 pthread_join F
> GLIBC_2.2.5 pthread_kill F
> GLIBC_2.2.5 pthread_kill_other_threads_np F
> -GLIBC_2.2.5 pthread_mutex_destroy F
> -GLIBC_2.2.5 pthread_mutex_init F
> -GLIBC_2.2.5 pthread_mutex_lock F
> GLIBC_2.2.5 pthread_mutex_timedlock F
> GLIBC_2.2.5 pthread_mutex_trylock F
> -GLIBC_2.2.5 pthread_mutex_unlock F
> GLIBC_2.2.5 pthread_mutexattr_destroy F
> GLIBC_2.2.5 pthread_mutexattr_getkind_np F
> GLIBC_2.2.5 pthread_mutexattr_getpshared F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 3accd92583..72da8cceaa 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -342,6 +342,10 @@ GLIBC_2.16 __progname_full D 0x4
> GLIBC_2.16 __pthread_cleanup_routine F
> GLIBC_2.16 __pthread_getspecific F
> GLIBC_2.16 __pthread_key_create F
> +GLIBC_2.16 __pthread_mutex_destroy F
> +GLIBC_2.16 __pthread_mutex_init F
> +GLIBC_2.16 __pthread_mutex_lock F
> +GLIBC_2.16 __pthread_mutex_unlock F
> GLIBC_2.16 __pthread_once F
> GLIBC_2.16 __pthread_rwlock_rdlock F
> GLIBC_2.16 __pthread_rwlock_unlock F
> @@ -2212,6 +2216,10 @@ 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_destroy F
> +GLIBC_2.34 __pthread_mutex_init F
> +GLIBC_2.34 __pthread_mutex_lock F
> +GLIBC_2.34 __pthread_mutex_unlock F
> GLIBC_2.34 __pthread_once F
> GLIBC_2.34 __pthread_rwlock_rdlock F
> GLIBC_2.34 __pthread_rwlock_unlock F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index 0b017c0218..6b095bf36a 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -13,11 +13,7 @@ GLIBC_2.16 __lseek F
> GLIBC_2.16 __open F
> GLIBC_2.16 __open64 F
> GLIBC_2.16 __pread64 F
> -GLIBC_2.16 __pthread_mutex_destroy F
> -GLIBC_2.16 __pthread_mutex_init F
> -GLIBC_2.16 __pthread_mutex_lock F
> GLIBC_2.16 __pthread_mutex_trylock F
> -GLIBC_2.16 __pthread_mutex_unlock F
> GLIBC_2.16 __pthread_mutexattr_destroy F
> GLIBC_2.16 __pthread_mutexattr_init F
> GLIBC_2.16 __pthread_mutexattr_settype F
> @@ -84,14 +80,10 @@ GLIBC_2.16 pthread_getname_np F
> GLIBC_2.16 pthread_join F
> GLIBC_2.16 pthread_kill F
> GLIBC_2.16 pthread_kill_other_threads_np F
> -GLIBC_2.16 pthread_mutex_destroy F
> GLIBC_2.16 pthread_mutex_getprioceiling F
> -GLIBC_2.16 pthread_mutex_init F
> -GLIBC_2.16 pthread_mutex_lock F
> GLIBC_2.16 pthread_mutex_setprioceiling F
> GLIBC_2.16 pthread_mutex_timedlock F
> GLIBC_2.16 pthread_mutex_trylock F
> -GLIBC_2.16 pthread_mutex_unlock F
> GLIBC_2.16 pthread_mutexattr_destroy F
> GLIBC_2.16 pthread_mutexattr_getkind_np F
> GLIBC_2.16 pthread_mutexattr_getprioceiling F
>
Ok.
@@ -84,6 +84,10 @@ routines = \
pthread_keys \
pthread_mutex_conf \
pthread_mutex_consistent \
+ pthread_mutex_destroy \
+ pthread_mutex_init \
+ pthread_mutex_lock \
+ pthread_mutex_unlock \
pthread_once \
pthread_rwlock_rdlock \
pthread_rwlock_unlock \
@@ -171,14 +175,10 @@ libpthread-routines = \
pthread_kill \
pthread_kill_other_threads \
pthread_mutex_cond_lock \
- pthread_mutex_destroy \
pthread_mutex_getprioceiling \
- pthread_mutex_init \
- pthread_mutex_lock \
pthread_mutex_setprioceiling \
pthread_mutex_timedlock \
pthread_mutex_trylock \
- pthread_mutex_unlock \
pthread_mutexattr_destroy \
pthread_mutexattr_getprioceiling \
pthread_mutexattr_getprotocol \
@@ -2,6 +2,10 @@ libc {
GLIBC_2.0 {
__pthread_getspecific;
__pthread_key_create;
+ __pthread_mutex_destroy;
+ __pthread_mutex_init;
+ __pthread_mutex_lock;
+ __pthread_mutex_unlock;
__pthread_once;
__pthread_setspecific;
_pthread_cleanup_pop;
@@ -103,6 +107,10 @@ libc {
__pthread_cleanup_routine;
__pthread_getspecific;
__pthread_key_create;
+ __pthread_mutex_destroy;
+ __pthread_mutex_init;
+ __pthread_mutex_lock;
+ __pthread_mutex_unlock;
__pthread_once;
__pthread_rwlock_rdlock;
__pthread_rwlock_unlock;
@@ -155,6 +163,7 @@ libc {
__pthread_getattr_default_np;
__pthread_key_delete;
__pthread_keys;
+ __pthread_mutex_unlock_usercnt;
__pthread_setcancelstate;
__pthread_tpp_change_priority;
__pthread_unwind;
@@ -177,11 +186,7 @@ libpthread {
__lseek;
__open;
__pthread_atfork;
- __pthread_mutex_destroy;
- __pthread_mutex_init;
- __pthread_mutex_lock;
__pthread_mutex_trylock;
- __pthread_mutex_unlock;
__pthread_mutexattr_destroy;
__pthread_mutexattr_init;
__pthread_mutexattr_settype;
@@ -213,11 +218,7 @@ libpthread {
pthread_join;
pthread_kill;
pthread_kill_other_threads_np;
- pthread_mutex_destroy;
- pthread_mutex_init;
- pthread_mutex_lock;
pthread_mutex_trylock;
- pthread_mutex_unlock;
pthread_mutexattr_destroy;
pthread_mutexattr_getkind_np;
pthread_mutexattr_init;
@@ -90,14 +90,3 @@ FORWARD (__pthread_cond_timedwait,
const struct timespec *abstime), (cond, mutex, abstime), 0)
versioned_symbol (libc, __pthread_cond_timedwait, pthread_cond_timedwait,
GLIBC_2_3_2);
-
-
-FORWARD (pthread_mutex_destroy, (pthread_mutex_t *mutex), (mutex), 0)
-
-FORWARD (pthread_mutex_init,
- (pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr),
- (mutex, mutexattr), 0)
-
-FORWARD (pthread_mutex_lock, (pthread_mutex_t *mutex), (mutex), 0)
-
-FORWARD (pthread_mutex_unlock, (pthread_mutex_t *mutex), (mutex), 0)
@@ -63,10 +63,6 @@ static const struct pthread_functions pthread_functions =
.ptr___pthread_cond_wait_2_0 = __pthread_cond_wait_2_0,
.ptr___pthread_cond_timedwait_2_0 = __pthread_cond_timedwait_2_0,
# endif
- .ptr_pthread_mutex_destroy = __pthread_mutex_destroy,
- .ptr_pthread_mutex_init = __pthread_mutex_init,
- .ptr_pthread_mutex_lock = __pthread_mutex_lock,
- .ptr_pthread_mutex_unlock = __pthread_mutex_unlock,
.ptr__nptl_setxid = __nptl_setxid,
};
# define ptr_pthread_functions &pthread_functions
@@ -389,9 +389,12 @@ extern int __pthread_setschedparam (pthread_t thread_id, int policy,
const struct sched_param *param);
extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
const pthread_mutexattr_t *__mutexattr);
+libc_hidden_proto (__pthread_mutex_init)
extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex);
+libc_hidden_proto (__pthread_mutex_destroy)
extern int __pthread_mutex_trylock (pthread_mutex_t *_mutex);
extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);
+libc_hidden_proto (__pthread_mutex_lock)
extern int __pthread_mutex_timedlock (pthread_mutex_t *__mutex,
const struct timespec *__abstime);
extern int __pthread_mutex_cond_lock (pthread_mutex_t *__mutex)
@@ -399,8 +402,10 @@ extern int __pthread_mutex_cond_lock (pthread_mutex_t *__mutex)
extern void __pthread_mutex_cond_lock_adjust (pthread_mutex_t *__mutex)
attribute_hidden;
extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex);
+libc_hidden_proto (__pthread_mutex_unlock)
extern int __pthread_mutex_unlock_usercnt (pthread_mutex_t *__mutex,
- int __decr) attribute_hidden;
+ int __decr);
+libc_hidden_proto (__pthread_mutex_unlock_usercnt)
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);
@@ -554,11 +559,7 @@ libc_hidden_proto (__pthread_sigmask);
#if IS_IN (libpthread)
-hidden_proto (__pthread_mutex_init)
-hidden_proto (__pthread_mutex_destroy)
-hidden_proto (__pthread_mutex_lock)
hidden_proto (__pthread_mutex_trylock)
-hidden_proto (__pthread_mutex_unlock)
hidden_proto (__pthread_rwlock_unlock)
hidden_proto (__pthread_testcancel)
hidden_proto (__pthread_mutexattr_init)
@@ -15,8 +15,9 @@
/* We need to assume that there are other threads blocked on the futex.
See __pthread_mutex_lock_full for further details. */
#define LLL_ROBUST_MUTEX_LOCK_MODIFIER FUTEX_WAITERS
-#define __pthread_mutex_lock __pthread_mutex_cond_lock
+#define PTHREAD_MUTEX_LOCK __pthread_mutex_cond_lock
#define __pthread_mutex_lock_full __pthread_mutex_cond_lock_full
#define NO_INCR
+#define PTHREAD_MUTEX_VERSIONS 0
#include <nptl/pthread_mutex_lock.c>
@@ -18,12 +18,12 @@
#include <errno.h>
#include "pthreadP.h"
-
+#include <shlib-compat.h>
#include <stap-probe.h>
int
-__pthread_mutex_destroy (pthread_mutex_t *mutex)
+__pthread_mutex_destroy_1 (pthread_mutex_t *mutex)
{
LIBC_PROBE (mutex_destroy, 1, mutex);
@@ -41,5 +41,15 @@ __pthread_mutex_destroy (pthread_mutex_t *mutex)
return 0;
}
-weak_alias (__pthread_mutex_destroy, pthread_mutex_destroy)
-hidden_def (__pthread_mutex_destroy)
+versioned_symbol (libc, __pthread_mutex_destroy_1, __pthread_mutex_destroy,
+ GLIBC_2_34);
+libc_hidden_ver (__pthread_mutex_destroy_1, __pthread_mutex_destroy)
+strong_alias (__pthread_mutex_destroy_1, __pthread_mutex_destroy_2)
+versioned_symbol (libc, __pthread_mutex_destroy_2, pthread_mutex_destroy,
+ GLIBC_2_0);
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
+strong_alias (__pthread_mutex_destroy_1, __pthread_mutex_destroy_3)
+compat_symbol (libc, __pthread_mutex_destroy_3, __pthread_mutex_destroy,
+ GLIBC_2_0);
+#endif
@@ -25,6 +25,7 @@
#include <atomic.h>
#include <pthread-offsets.h>
#include <futex-internal.h>
+#include <shlib-compat.h>
#include <stap-probe.h>
@@ -48,7 +49,7 @@ prio_inherit_missing (void)
}
int
-__pthread_mutex_init (pthread_mutex_t *mutex,
+__pthread_mutex_init_1 (pthread_mutex_t *mutex,
const pthread_mutexattr_t *mutexattr)
{
const struct pthread_mutexattr *imutexattr;
@@ -150,5 +151,14 @@ __pthread_mutex_init (pthread_mutex_t *mutex,
return 0;
}
-weak_alias (__pthread_mutex_init, pthread_mutex_init)
-hidden_def (__pthread_mutex_init)
+versioned_symbol (libc, __pthread_mutex_init_1, __pthread_mutex_init,
+ GLIBC_2_34);
+libc_hidden_ver (__pthread_mutex_init_1, __pthread_mutex_init)
+strong_alias (__pthread_mutex_init_1, __pthread_mutex_init_2)
+versioned_symbol (libc, __pthread_mutex_init_2, pthread_mutex_init,
+ GLIBC_2_0);
+# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
+strong_alias (__pthread_mutex_init_1, __pthread_mutex_init_3)
+compat_symbol (libc, __pthread_mutex_init_3, __pthread_mutex_init,
+ GLIBC_2_0);
+#endif
@@ -26,6 +26,7 @@
#include <atomic.h>
#include <futex-internal.h>
#include <stap-probe.h>
+#include <shlib-compat.h>
/* Some of the following definitions differ when pthread_mutex_cond_lock.c
includes this file. */
@@ -60,13 +61,15 @@ lll_mutex_lock_optimized (pthread_mutex_t *mutex)
# define LLL_MUTEX_TRYLOCK_ELISION(mutex) \
lll_trylock_elision((mutex)->__data.__lock, (mutex)->__data.__elision, \
PTHREAD_MUTEX_PSHARED (mutex))
+# define PTHREAD_MUTEX_LOCK __pthread_mutex_lock_1
+# define PTHREAD_MUTEX_VERSIONS 1
#endif
static int __pthread_mutex_lock_full (pthread_mutex_t *mutex)
__attribute_noinline__;
int
-__pthread_mutex_lock (pthread_mutex_t *mutex)
+PTHREAD_MUTEX_LOCK (pthread_mutex_t *mutex)
{
/* See concurrency notes regarding mutex type which is loaded from __kind
in struct __pthread_mutex_s in sysdeps/nptl/bits/thread-shared-types.h. */
@@ -604,10 +607,19 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex)
return 0;
}
-#ifndef __pthread_mutex_lock
-weak_alias (__pthread_mutex_lock, pthread_mutex_lock)
-hidden_def (__pthread_mutex_lock)
-#endif
+
+#if PTHREAD_MUTEX_VERSIONS
+versioned_symbol (libc, __pthread_mutex_lock_1, __pthread_mutex_lock,
+ GLIBC_2_34);
+libc_hidden_ver (__pthread_mutex_lock_1, __pthread_mutex_lock)
+strong_alias (__pthread_mutex_lock_1, __pthread_mutex_lock_2)
+versioned_symbol (libc, __pthread_mutex_lock_2, pthread_mutex_lock, GLIBC_2_0);
+
+# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
+strong_alias (__pthread_mutex_lock_1, __pthread_mutex_lock_3)
+compat_symbol (libc, __pthread_mutex_lock_3, __pthread_mutex_lock, GLIBC_2_0);
+# endif
+#endif /* PTHREAD_MUTEX_VERSIONS */
#ifdef NO_INCR
@@ -23,6 +23,7 @@
#include <lowlevellock.h>
#include <stap-probe.h>
#include <futex-internal.h>
+#include <shlib-compat.h>
static int
__pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)
@@ -44,7 +45,6 @@ lll_mutex_unlock_optimized (pthread_mutex_t *mutex)
}
int
-attribute_hidden
__pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr)
{
/* See concurrency notes regarding mutex type which is loaded from __kind
@@ -103,6 +103,7 @@ __pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr)
goto normal;
}
}
+libc_hidden_def (__pthread_mutex_unlock_usercnt)
static int
@@ -363,9 +364,19 @@ __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)
int
-__pthread_mutex_unlock (pthread_mutex_t *mutex)
+__pthread_mutex_unlock_1 (pthread_mutex_t *mutex)
{
return __pthread_mutex_unlock_usercnt (mutex, 1);
}
-weak_alias (__pthread_mutex_unlock, pthread_mutex_unlock)
-hidden_def (__pthread_mutex_unlock)
+versioned_symbol (libc, __pthread_mutex_unlock_1, __pthread_mutex_unlock,
+ GLIBC_2_34);
+libc_hidden_ver (__pthread_mutex_unlock_1, __pthread_mutex_unlock)
+strong_alias (__pthread_mutex_unlock_1, __pthread_mutex_unlock_2)
+versioned_symbol (libc, __pthread_mutex_unlock_2, pthread_mutex_unlock,
+ GLIBC_2_0);
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
+strong_alias (__pthread_mutex_unlock_1, __pthread_mutex_unlock_3)
+compat_symbol (libc, __pthread_mutex_unlock_3, __pthread_mutex_unlock,
+ GLIBC_2_0);
+#endif
@@ -128,8 +128,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
# define __libc_lock_init(NAME) \
((void) ((NAME) = LLL_LOCK_INITIALIZER))
#else
-# define __libc_lock_init(NAME) \
- __libc_maybe_call (__pthread_mutex_init, (&(NAME), NULL), 0)
+# define __libc_lock_init(NAME) __pthread_mutex_init (&(NAME))
#endif
#if defined SHARED && IS_IN (libc)
/* ((NAME) = (__libc_rwlock_t) PTHREAD_RWLOCK_INITIALIZER) is inefficient. */
@@ -146,8 +145,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
#if IS_IN (libc) || IS_IN (libpthread)
# define __libc_lock_fini(NAME) ((void) 0)
#else
-# define __libc_lock_fini(NAME) \
- __libc_maybe_call (__pthread_mutex_destroy, (&(NAME)), 0)
+# define __libc_lock_fini(NAME) __pthread_mutex_destroy (&(NAME))
#endif
#if defined SHARED && IS_IN (libc)
# define __libc_rwlock_fini(NAME) ((void) 0)
@@ -164,8 +162,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
# endif
#else
# undef __libc_lock_lock
-# define __libc_lock_lock(NAME) \
- __libc_maybe_call (__pthread_mutex_lock, (&(NAME)), 0)
+# define __libc_lock_lock(NAME) __pthread_mutex_lock (&(NAME))
#endif
#define __libc_rwlock_rdlock(NAME) __pthread_rwlock_rdlock (&(NAME))
#define __libc_rwlock_wrlock(NAME) __pthread_rwlock_wrlock (&(NAME))
@@ -194,8 +191,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
# define __libc_lock_unlock(NAME) \
lll_unlock (NAME, LLL_PRIVATE)
#else
-# define __libc_lock_unlock(NAME) \
- __libc_maybe_call (__pthread_mutex_unlock, (&(NAME)), 0)
+# define __libc_lock_unlock(NAME) __pthread_mutex_unlock (&(NAME))
#endif
#define __libc_rwlock_unlock(NAME) __pthread_rwlock_unlock (&(NAME))
@@ -213,10 +209,10 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
GL(dl_rtld_unlock_recursive) (&(NAME).mutex)
#else
# define __rtld_lock_lock_recursive(NAME) \
- __libc_maybe_call (__pthread_mutex_lock, (&(NAME).mutex), 0)
+ __pthread_mutex_lock (&(NAME).mutex)
# define __rtld_lock_unlock_recursive(NAME) \
- __libc_maybe_call (__pthread_mutex_unlock, (&(NAME).mutex), 0)
+ __pthread_mutex_unlock (&(NAME).mutex)
#endif
/* Define once control variable. */
@@ -274,15 +270,15 @@ extern int __register_atfork (void (*__prepare) (void),
extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
const pthread_mutexattr_t *__mutex_attr);
-
+libc_hidden_proto (__pthread_mutex_init)
extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex);
-
+libc_hidden_proto (__pthread_mutex_destroy)
extern int __pthread_mutex_trylock (pthread_mutex_t *__mutex);
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);
@@ -320,11 +316,7 @@ libc_hidden_proto (__pthread_setcancelstate)
single-threaded processes. */
#ifndef __NO_WEAK_PTHREAD_ALIASES
# ifdef weak_extern
-weak_extern (__pthread_mutex_init)
-weak_extern (__pthread_mutex_destroy)
-weak_extern (__pthread_mutex_lock)
weak_extern (__pthread_mutex_trylock)
-weak_extern (__pthread_mutex_unlock)
weak_extern (__pthread_mutexattr_init)
weak_extern (__pthread_mutexattr_destroy)
weak_extern (__pthread_mutexattr_settype)
@@ -335,11 +327,7 @@ weak_extern (__pthread_rwlock_trywrlock)
weak_extern (__pthread_initialize)
weak_extern (__pthread_atfork)
# else
-# pragma weak __pthread_mutex_init
-# pragma weak __pthread_mutex_destroy
-# pragma weak __pthread_mutex_lock
# pragma weak __pthread_mutex_trylock
-# pragma weak __pthread_mutex_unlock
# pragma weak __pthread_mutexattr_init
# pragma weak __pthread_mutexattr_destroy
# pragma weak __pthread_mutexattr_settype
@@ -41,11 +41,6 @@ struct pthread_functions
int (*ptr___pthread_cond_timedwait_2_0) (pthread_cond_2_0_t *,
pthread_mutex_t *,
const struct timespec *);
- int (*ptr_pthread_mutex_destroy) (pthread_mutex_t *);
- int (*ptr_pthread_mutex_init) (pthread_mutex_t *,
- const pthread_mutexattr_t *);
- int (*ptr_pthread_mutex_lock) (pthread_mutex_t *);
- int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *);
int (*ptr__nptl_setxid) (struct xid_command *);
};
@@ -341,6 +341,10 @@ GLIBC_2.17 __progname_full D 0x8
GLIBC_2.17 __pthread_cleanup_routine F
GLIBC_2.17 __pthread_getspecific F
GLIBC_2.17 __pthread_key_create F
+GLIBC_2.17 __pthread_mutex_destroy F
+GLIBC_2.17 __pthread_mutex_init F
+GLIBC_2.17 __pthread_mutex_lock F
+GLIBC_2.17 __pthread_mutex_unlock F
GLIBC_2.17 __pthread_once F
GLIBC_2.17 __pthread_rwlock_rdlock F
GLIBC_2.17 __pthread_rwlock_unlock F
@@ -2198,6 +2202,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -13,11 +13,7 @@ GLIBC_2.17 __lseek F
GLIBC_2.17 __open F
GLIBC_2.17 __open64 F
GLIBC_2.17 __pread64 F
-GLIBC_2.17 __pthread_mutex_destroy F
-GLIBC_2.17 __pthread_mutex_init F
-GLIBC_2.17 __pthread_mutex_lock F
GLIBC_2.17 __pthread_mutex_trylock F
-GLIBC_2.17 __pthread_mutex_unlock F
GLIBC_2.17 __pthread_mutexattr_destroy F
GLIBC_2.17 __pthread_mutexattr_init F
GLIBC_2.17 __pthread_mutexattr_settype F
@@ -84,14 +80,10 @@ GLIBC_2.17 pthread_getname_np F
GLIBC_2.17 pthread_join F
GLIBC_2.17 pthread_kill F
GLIBC_2.17 pthread_kill_other_threads_np F
-GLIBC_2.17 pthread_mutex_destroy F
GLIBC_2.17 pthread_mutex_getprioceiling F
-GLIBC_2.17 pthread_mutex_init F
-GLIBC_2.17 pthread_mutex_lock F
GLIBC_2.17 pthread_mutex_setprioceiling F
GLIBC_2.17 pthread_mutex_timedlock F
GLIBC_2.17 pthread_mutex_trylock F
-GLIBC_2.17 pthread_mutex_unlock F
GLIBC_2.17 pthread_mutexattr_destroy F
GLIBC_2.17 pthread_mutexattr_getkind_np F
GLIBC_2.17 pthread_mutexattr_getprioceiling F
@@ -190,6 +190,10 @@ GLIBC_2.0 __progname D 0x8
GLIBC_2.0 __progname_full D 0x8
GLIBC_2.0 __pthread_getspecific F
GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __rcmd_errstr D 0x8
@@ -2279,6 +2283,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
GLIBC_2.0 __h_errno_location F
GLIBC_2.0 __lseek F
GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join F
GLIBC_2.0 pthread_kill F
GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
@@ -330,6 +330,10 @@ GLIBC_2.32 __progname_full D 0x4
GLIBC_2.32 __pthread_cleanup_routine F
GLIBC_2.32 __pthread_getspecific F
GLIBC_2.32 __pthread_key_create F
+GLIBC_2.32 __pthread_mutex_destroy F
+GLIBC_2.32 __pthread_mutex_init F
+GLIBC_2.32 __pthread_mutex_lock F
+GLIBC_2.32 __pthread_mutex_unlock F
GLIBC_2.32 __pthread_once F
GLIBC_2.32 __pthread_rwlock_rdlock F
GLIBC_2.32 __pthread_rwlock_unlock F
@@ -1958,6 +1962,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -12,11 +12,7 @@ GLIBC_2.32 __lseek F
GLIBC_2.32 __open F
GLIBC_2.32 __open64 F
GLIBC_2.32 __pread64 F
-GLIBC_2.32 __pthread_mutex_destroy F
-GLIBC_2.32 __pthread_mutex_init F
-GLIBC_2.32 __pthread_mutex_lock F
GLIBC_2.32 __pthread_mutex_trylock F
-GLIBC_2.32 __pthread_mutex_unlock F
GLIBC_2.32 __pthread_mutexattr_destroy F
GLIBC_2.32 __pthread_mutexattr_init F
GLIBC_2.32 __pthread_mutexattr_settype F
@@ -99,14 +95,10 @@ GLIBC_2.32 pthread_join F
GLIBC_2.32 pthread_kill F
GLIBC_2.32 pthread_kill_other_threads_np F
GLIBC_2.32 pthread_mutex_clocklock F
-GLIBC_2.32 pthread_mutex_destroy F
GLIBC_2.32 pthread_mutex_getprioceiling F
-GLIBC_2.32 pthread_mutex_init F
-GLIBC_2.32 pthread_mutex_lock F
GLIBC_2.32 pthread_mutex_setprioceiling F
GLIBC_2.32 pthread_mutex_timedlock F
GLIBC_2.32 pthread_mutex_trylock F
-GLIBC_2.32 pthread_mutex_unlock F
GLIBC_2.32 pthread_mutexattr_destroy F
GLIBC_2.32 pthread_mutexattr_getkind_np F
GLIBC_2.32 pthread_mutexattr_getprioceiling F
@@ -160,6 +160,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -505,6 +509,10 @@ GLIBC_2.4 __progname_full D 0x4
GLIBC_2.4 __pthread_cleanup_routine F
GLIBC_2.4 __pthread_getspecific F
GLIBC_2.4 __pthread_key_create F
+GLIBC_2.4 __pthread_mutex_destroy F
+GLIBC_2.4 __pthread_mutex_init F
+GLIBC_2.4 __pthread_mutex_lock F
+GLIBC_2.4 __pthread_mutex_unlock F
GLIBC_2.4 __pthread_once F
GLIBC_2.4 __pthread_rwlock_rdlock F
GLIBC_2.4 __pthread_rwlock_unlock F
@@ -47,11 +47,7 @@ GLIBC_2.4 __lseek F
GLIBC_2.4 __open F
GLIBC_2.4 __open64 F
GLIBC_2.4 __pread64 F
-GLIBC_2.4 __pthread_mutex_destroy F
-GLIBC_2.4 __pthread_mutex_init F
-GLIBC_2.4 __pthread_mutex_lock F
GLIBC_2.4 __pthread_mutex_trylock F
-GLIBC_2.4 __pthread_mutex_unlock F
GLIBC_2.4 __pthread_mutexattr_destroy F
GLIBC_2.4 __pthread_mutexattr_init F
GLIBC_2.4 __pthread_mutexattr_settype F
@@ -117,14 +113,10 @@ GLIBC_2.4 pthread_getcpuclockid F
GLIBC_2.4 pthread_join F
GLIBC_2.4 pthread_kill F
GLIBC_2.4 pthread_kill_other_threads_np F
-GLIBC_2.4 pthread_mutex_destroy F
GLIBC_2.4 pthread_mutex_getprioceiling F
-GLIBC_2.4 pthread_mutex_init F
-GLIBC_2.4 pthread_mutex_lock F
GLIBC_2.4 pthread_mutex_setprioceiling F
GLIBC_2.4 pthread_mutex_timedlock F
GLIBC_2.4 pthread_mutex_trylock F
-GLIBC_2.4 pthread_mutex_unlock F
GLIBC_2.4 pthread_mutexattr_destroy F
GLIBC_2.4 pthread_mutexattr_getkind_np F
GLIBC_2.4 pthread_mutexattr_getprioceiling F
@@ -157,6 +157,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -502,6 +506,10 @@ GLIBC_2.4 __progname_full D 0x4
GLIBC_2.4 __pthread_cleanup_routine F
GLIBC_2.4 __pthread_getspecific F
GLIBC_2.4 __pthread_key_create F
+GLIBC_2.4 __pthread_mutex_destroy F
+GLIBC_2.4 __pthread_mutex_init F
+GLIBC_2.4 __pthread_mutex_lock F
+GLIBC_2.4 __pthread_mutex_unlock F
GLIBC_2.4 __pthread_once F
GLIBC_2.4 __pthread_rwlock_rdlock F
GLIBC_2.4 __pthread_rwlock_unlock F
@@ -47,11 +47,7 @@ GLIBC_2.4 __lseek F
GLIBC_2.4 __open F
GLIBC_2.4 __open64 F
GLIBC_2.4 __pread64 F
-GLIBC_2.4 __pthread_mutex_destroy F
-GLIBC_2.4 __pthread_mutex_init F
-GLIBC_2.4 __pthread_mutex_lock F
GLIBC_2.4 __pthread_mutex_trylock F
-GLIBC_2.4 __pthread_mutex_unlock F
GLIBC_2.4 __pthread_mutexattr_destroy F
GLIBC_2.4 __pthread_mutexattr_init F
GLIBC_2.4 __pthread_mutexattr_settype F
@@ -117,14 +113,10 @@ GLIBC_2.4 pthread_getcpuclockid F
GLIBC_2.4 pthread_join F
GLIBC_2.4 pthread_kill F
GLIBC_2.4 pthread_kill_other_threads_np F
-GLIBC_2.4 pthread_mutex_destroy F
GLIBC_2.4 pthread_mutex_getprioceiling F
-GLIBC_2.4 pthread_mutex_init F
-GLIBC_2.4 pthread_mutex_lock F
GLIBC_2.4 pthread_mutex_setprioceiling F
GLIBC_2.4 pthread_mutex_timedlock F
GLIBC_2.4 pthread_mutex_trylock F
-GLIBC_2.4 pthread_mutex_unlock F
GLIBC_2.4 pthread_mutexattr_destroy F
GLIBC_2.4 pthread_mutexattr_getkind_np F
GLIBC_2.4 pthread_mutexattr_getprioceiling F
@@ -334,6 +334,10 @@ GLIBC_2.29 __progname_full D 0x4
GLIBC_2.29 __pthread_cleanup_routine F
GLIBC_2.29 __pthread_getspecific F
GLIBC_2.29 __pthread_key_create F
+GLIBC_2.29 __pthread_mutex_destroy F
+GLIBC_2.29 __pthread_mutex_init F
+GLIBC_2.29 __pthread_mutex_lock F
+GLIBC_2.29 __pthread_mutex_unlock F
GLIBC_2.29 __pthread_once F
GLIBC_2.29 __pthread_rwlock_rdlock F
GLIBC_2.29 __pthread_rwlock_unlock F
@@ -2142,6 +2146,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -12,11 +12,7 @@ GLIBC_2.29 __lseek F
GLIBC_2.29 __open F
GLIBC_2.29 __open64 F
GLIBC_2.29 __pread64 F
-GLIBC_2.29 __pthread_mutex_destroy F
-GLIBC_2.29 __pthread_mutex_init F
-GLIBC_2.29 __pthread_mutex_lock F
GLIBC_2.29 __pthread_mutex_trylock F
-GLIBC_2.29 __pthread_mutex_unlock F
GLIBC_2.29 __pthread_mutexattr_destroy F
GLIBC_2.29 __pthread_mutexattr_init F
GLIBC_2.29 __pthread_mutexattr_settype F
@@ -96,14 +92,10 @@ GLIBC_2.29 pthread_getname_np F
GLIBC_2.29 pthread_join F
GLIBC_2.29 pthread_kill F
GLIBC_2.29 pthread_kill_other_threads_np F
-GLIBC_2.29 pthread_mutex_destroy F
GLIBC_2.29 pthread_mutex_getprioceiling F
-GLIBC_2.29 pthread_mutex_init F
-GLIBC_2.29 pthread_mutex_lock F
GLIBC_2.29 pthread_mutex_setprioceiling F
GLIBC_2.29 pthread_mutex_timedlock F
GLIBC_2.29 pthread_mutex_trylock F
-GLIBC_2.29 pthread_mutex_unlock F
GLIBC_2.29 pthread_mutexattr_destroy F
GLIBC_2.29 pthread_mutexattr_getkind_np F
GLIBC_2.29 pthread_mutexattr_getprioceiling F
@@ -358,6 +358,10 @@ GLIBC_2.2 __progname D 0x4
GLIBC_2.2 __progname_full D 0x4
GLIBC_2.2 __pthread_getspecific F
GLIBC_2.2 __pthread_key_create F
+GLIBC_2.2 __pthread_mutex_destroy F
+GLIBC_2.2 __pthread_mutex_init F
+GLIBC_2.2 __pthread_mutex_lock F
+GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pthread_rwlock_rdlock F
GLIBC_2.2 __pthread_rwlock_unlock F
@@ -2100,6 +2104,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
GLIBC_2.2 __open F
GLIBC_2.2 __open64 F
GLIBC_2.2 __pread64 F
-GLIBC_2.2 __pthread_mutex_destroy F
-GLIBC_2.2 __pthread_mutex_init F
-GLIBC_2.2 __pthread_mutex_lock F
GLIBC_2.2 __pthread_mutex_trylock F
-GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_mutexattr_destroy F
GLIBC_2.2 __pthread_mutexattr_init F
GLIBC_2.2 __pthread_mutexattr_settype F
@@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join F
GLIBC_2.2 pthread_kill F
GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutex_destroy F
-GLIBC_2.2 pthread_mutex_init F
-GLIBC_2.2 pthread_mutex_lock F
GLIBC_2.2 pthread_mutex_timedlock F
GLIBC_2.2 pthread_mutex_trylock F
-GLIBC_2.2 pthread_mutex_unlock F
GLIBC_2.2 pthread_mutexattr_destroy F
GLIBC_2.2 pthread_mutexattr_getkind_np F
GLIBC_2.2 pthread_mutexattr_getpshared F
@@ -187,6 +187,10 @@ GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
GLIBC_2.0 __pthread_getspecific F
GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2267,6 +2271,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
GLIBC_2.0 __h_errno_location F
GLIBC_2.0 __lseek F
GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join F
GLIBC_2.0 pthread_kill F
GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
@@ -362,6 +362,10 @@ GLIBC_2.2 __progname D 0x8
GLIBC_2.2 __progname_full D 0x8
GLIBC_2.2 __pthread_getspecific F
GLIBC_2.2 __pthread_key_create F
+GLIBC_2.2 __pthread_mutex_destroy F
+GLIBC_2.2 __pthread_mutex_init F
+GLIBC_2.2 __pthread_mutex_lock F
+GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pthread_rwlock_rdlock F
GLIBC_2.2 __pthread_rwlock_unlock F
@@ -2132,6 +2136,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
GLIBC_2.2 __open F
GLIBC_2.2 __open64 F
GLIBC_2.2 __pread64 F
-GLIBC_2.2 __pthread_mutex_destroy F
-GLIBC_2.2 __pthread_mutex_init F
-GLIBC_2.2 __pthread_mutex_lock F
GLIBC_2.2 __pthread_mutex_trylock F
-GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_mutexattr_destroy F
GLIBC_2.2 __pthread_mutexattr_init F
GLIBC_2.2 __pthread_mutexattr_settype F
@@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join F
GLIBC_2.2 pthread_kill F
GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutex_destroy F
-GLIBC_2.2 pthread_mutex_init F
-GLIBC_2.2 pthread_mutex_lock F
GLIBC_2.2 pthread_mutex_timedlock F
GLIBC_2.2 pthread_mutex_trylock F
-GLIBC_2.2 pthread_mutex_unlock F
GLIBC_2.2 pthread_mutexattr_destroy F
GLIBC_2.2 pthread_mutexattr_getkind_np F
GLIBC_2.2 pthread_mutexattr_getpshared F
@@ -161,6 +161,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -491,6 +495,10 @@ GLIBC_2.4 __progname_full D 0x4
GLIBC_2.4 __pthread_cleanup_routine F
GLIBC_2.4 __pthread_getspecific F
GLIBC_2.4 __pthread_key_create F
+GLIBC_2.4 __pthread_mutex_destroy F
+GLIBC_2.4 __pthread_mutex_init F
+GLIBC_2.4 __pthread_mutex_lock F
+GLIBC_2.4 __pthread_mutex_unlock F
GLIBC_2.4 __pthread_once F
GLIBC_2.4 __pthread_rwlock_rdlock F
GLIBC_2.4 __pthread_rwlock_unlock F
@@ -47,11 +47,7 @@ GLIBC_2.4 __lseek F
GLIBC_2.4 __open F
GLIBC_2.4 __open64 F
GLIBC_2.4 __pread64 F
-GLIBC_2.4 __pthread_mutex_destroy F
-GLIBC_2.4 __pthread_mutex_init F
-GLIBC_2.4 __pthread_mutex_lock F
GLIBC_2.4 __pthread_mutex_trylock F
-GLIBC_2.4 __pthread_mutex_unlock F
GLIBC_2.4 __pthread_mutexattr_destroy F
GLIBC_2.4 __pthread_mutexattr_init F
GLIBC_2.4 __pthread_mutexattr_settype F
@@ -117,14 +113,10 @@ GLIBC_2.4 pthread_getcpuclockid F
GLIBC_2.4 pthread_join F
GLIBC_2.4 pthread_kill F
GLIBC_2.4 pthread_kill_other_threads_np F
-GLIBC_2.4 pthread_mutex_destroy F
GLIBC_2.4 pthread_mutex_getprioceiling F
-GLIBC_2.4 pthread_mutex_init F
-GLIBC_2.4 pthread_mutex_lock F
GLIBC_2.4 pthread_mutex_setprioceiling F
GLIBC_2.4 pthread_mutex_timedlock F
GLIBC_2.4 pthread_mutex_trylock F
-GLIBC_2.4 pthread_mutex_unlock F
GLIBC_2.4 pthread_mutexattr_destroy F
GLIBC_2.4 pthread_mutexattr_getkind_np F
GLIBC_2.4 pthread_mutexattr_getprioceiling F
@@ -187,6 +187,10 @@ GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
GLIBC_2.0 __pthread_getspecific F
GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2212,6 +2216,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
GLIBC_2.0 __h_errno_location F
GLIBC_2.0 __lseek F
GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join F
GLIBC_2.0 pthread_kill F
GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
@@ -342,6 +342,10 @@ GLIBC_2.18 __progname_full D 0x4
GLIBC_2.18 __pthread_cleanup_routine F
GLIBC_2.18 __pthread_getspecific F
GLIBC_2.18 __pthread_key_create F
+GLIBC_2.18 __pthread_mutex_destroy F
+GLIBC_2.18 __pthread_mutex_init F
+GLIBC_2.18 __pthread_mutex_lock F
+GLIBC_2.18 __pthread_mutex_unlock F
GLIBC_2.18 __pthread_once F
GLIBC_2.18 __pthread_rwlock_rdlock F
GLIBC_2.18 __pthread_rwlock_unlock F
@@ -2193,6 +2197,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -13,11 +13,7 @@ GLIBC_2.18 __lseek F
GLIBC_2.18 __open F
GLIBC_2.18 __open64 F
GLIBC_2.18 __pread64 F
-GLIBC_2.18 __pthread_mutex_destroy F
-GLIBC_2.18 __pthread_mutex_init F
-GLIBC_2.18 __pthread_mutex_lock F
GLIBC_2.18 __pthread_mutex_trylock F
-GLIBC_2.18 __pthread_mutex_unlock F
GLIBC_2.18 __pthread_mutexattr_destroy F
GLIBC_2.18 __pthread_mutexattr_init F
GLIBC_2.18 __pthread_mutexattr_settype F
@@ -85,14 +81,10 @@ GLIBC_2.18 pthread_getname_np F
GLIBC_2.18 pthread_join F
GLIBC_2.18 pthread_kill F
GLIBC_2.18 pthread_kill_other_threads_np F
-GLIBC_2.18 pthread_mutex_destroy F
GLIBC_2.18 pthread_mutex_getprioceiling F
-GLIBC_2.18 pthread_mutex_init F
-GLIBC_2.18 pthread_mutex_lock F
GLIBC_2.18 pthread_mutex_setprioceiling F
GLIBC_2.18 pthread_mutex_timedlock F
GLIBC_2.18 pthread_mutex_trylock F
-GLIBC_2.18 pthread_mutex_unlock F
GLIBC_2.18 pthread_mutexattr_destroy F
GLIBC_2.18 pthread_mutexattr_getkind_np F
GLIBC_2.18 pthread_mutexattr_getprioceiling F
@@ -342,6 +342,10 @@ GLIBC_2.18 __progname_full D 0x4
GLIBC_2.18 __pthread_cleanup_routine F
GLIBC_2.18 __pthread_getspecific F
GLIBC_2.18 __pthread_key_create F
+GLIBC_2.18 __pthread_mutex_destroy F
+GLIBC_2.18 __pthread_mutex_init F
+GLIBC_2.18 __pthread_mutex_lock F
+GLIBC_2.18 __pthread_mutex_unlock F
GLIBC_2.18 __pthread_once F
GLIBC_2.18 __pthread_rwlock_rdlock F
GLIBC_2.18 __pthread_rwlock_unlock F
@@ -2190,6 +2194,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -13,11 +13,7 @@ GLIBC_2.18 __lseek F
GLIBC_2.18 __open F
GLIBC_2.18 __open64 F
GLIBC_2.18 __pread64 F
-GLIBC_2.18 __pthread_mutex_destroy F
-GLIBC_2.18 __pthread_mutex_init F
-GLIBC_2.18 __pthread_mutex_lock F
GLIBC_2.18 __pthread_mutex_trylock F
-GLIBC_2.18 __pthread_mutex_unlock F
GLIBC_2.18 __pthread_mutexattr_destroy F
GLIBC_2.18 __pthread_mutexattr_init F
GLIBC_2.18 __pthread_mutexattr_settype F
@@ -85,14 +81,10 @@ GLIBC_2.18 pthread_getname_np F
GLIBC_2.18 pthread_join F
GLIBC_2.18 pthread_kill F
GLIBC_2.18 pthread_kill_other_threads_np F
-GLIBC_2.18 pthread_mutex_destroy F
GLIBC_2.18 pthread_mutex_getprioceiling F
-GLIBC_2.18 pthread_mutex_init F
-GLIBC_2.18 pthread_mutex_lock F
GLIBC_2.18 pthread_mutex_setprioceiling F
GLIBC_2.18 pthread_mutex_timedlock F
GLIBC_2.18 pthread_mutex_trylock F
-GLIBC_2.18 pthread_mutex_unlock F
GLIBC_2.18 pthread_mutexattr_destroy F
GLIBC_2.18 pthread_mutexattr_getkind_np F
GLIBC_2.18 pthread_mutexattr_getprioceiling F
@@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
GLIBC_2.0 __pthread_getspecific F
GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2183,6 +2187,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
GLIBC_2.0 __h_errno_location F
GLIBC_2.0 __lseek F
GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join F
GLIBC_2.0 pthread_kill F
GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
@@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
GLIBC_2.0 __pthread_getspecific F
GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2181,6 +2185,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
GLIBC_2.0 __h_errno_location F
GLIBC_2.0 __lseek F
GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join F
GLIBC_2.0 pthread_kill F
GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
@@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
GLIBC_2.0 __pthread_getspecific F
GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2189,6 +2193,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x8
GLIBC_2.0 __progname_full D 0x8
GLIBC_2.0 __pthread_getspecific F
GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __rcmd_errstr D 0x8
@@ -2183,6 +2187,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -379,6 +379,10 @@ GLIBC_2.21 __progname_full D 0x4
GLIBC_2.21 __pthread_cleanup_routine F
GLIBC_2.21 __pthread_getspecific F
GLIBC_2.21 __pthread_key_create F
+GLIBC_2.21 __pthread_mutex_destroy F
+GLIBC_2.21 __pthread_mutex_init F
+GLIBC_2.21 __pthread_mutex_lock F
+GLIBC_2.21 __pthread_mutex_unlock F
GLIBC_2.21 __pthread_once F
GLIBC_2.21 __pthread_rwlock_rdlock F
GLIBC_2.21 __pthread_rwlock_unlock F
@@ -2231,6 +2235,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -13,11 +13,7 @@ GLIBC_2.21 __lseek F
GLIBC_2.21 __open F
GLIBC_2.21 __open64 F
GLIBC_2.21 __pread64 F
-GLIBC_2.21 __pthread_mutex_destroy F
-GLIBC_2.21 __pthread_mutex_init F
-GLIBC_2.21 __pthread_mutex_lock F
GLIBC_2.21 __pthread_mutex_trylock F
-GLIBC_2.21 __pthread_mutex_unlock F
GLIBC_2.21 __pthread_mutexattr_destroy F
GLIBC_2.21 __pthread_mutexattr_init F
GLIBC_2.21 __pthread_mutexattr_settype F
@@ -85,14 +81,10 @@ GLIBC_2.21 pthread_getname_np F
GLIBC_2.21 pthread_join F
GLIBC_2.21 pthread_kill F
GLIBC_2.21 pthread_kill_other_threads_np F
-GLIBC_2.21 pthread_mutex_destroy F
GLIBC_2.21 pthread_mutex_getprioceiling F
-GLIBC_2.21 pthread_mutex_init F
-GLIBC_2.21 pthread_mutex_lock F
GLIBC_2.21 pthread_mutex_setprioceiling F
GLIBC_2.21 pthread_mutex_timedlock F
GLIBC_2.21 pthread_mutex_trylock F
-GLIBC_2.21 pthread_mutex_unlock F
GLIBC_2.21 pthread_mutexattr_destroy F
GLIBC_2.21 pthread_mutexattr_getkind_np F
GLIBC_2.21 pthread_mutexattr_getprioceiling F
@@ -196,6 +196,10 @@ GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
GLIBC_2.0 __pthread_getspecific F
GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2239,6 +2243,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
GLIBC_2.0 __h_errno_location F
GLIBC_2.0 __lseek F
GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join F
GLIBC_2.0 pthread_kill F
GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
@@ -196,6 +196,10 @@ GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
GLIBC_2.0 __pthread_getspecific F
GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2272,6 +2276,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -411,6 +411,10 @@ GLIBC_2.3 __progname D 0x8
GLIBC_2.3 __progname_full D 0x8
GLIBC_2.3 __pthread_getspecific F
GLIBC_2.3 __pthread_key_create F
+GLIBC_2.3 __pthread_mutex_destroy F
+GLIBC_2.3 __pthread_mutex_init F
+GLIBC_2.3 __pthread_mutex_lock F
+GLIBC_2.3 __pthread_mutex_unlock F
GLIBC_2.3 __pthread_once F
GLIBC_2.3 __pthread_rwlock_rdlock F
GLIBC_2.3 __pthread_rwlock_unlock F
@@ -2102,6 +2106,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -41,11 +41,7 @@ GLIBC_2.3 __lseek F
GLIBC_2.3 __open F
GLIBC_2.3 __open64 F
GLIBC_2.3 __pread64 F
-GLIBC_2.3 __pthread_mutex_destroy F
-GLIBC_2.3 __pthread_mutex_init F
-GLIBC_2.3 __pthread_mutex_lock F
GLIBC_2.3 __pthread_mutex_trylock F
-GLIBC_2.3 __pthread_mutex_unlock F
GLIBC_2.3 __pthread_mutexattr_destroy F
GLIBC_2.3 __pthread_mutexattr_init F
GLIBC_2.3 __pthread_mutexattr_settype F
@@ -103,12 +99,8 @@ GLIBC_2.3 pthread_getcpuclockid F
GLIBC_2.3 pthread_join F
GLIBC_2.3 pthread_kill F
GLIBC_2.3 pthread_kill_other_threads_np F
-GLIBC_2.3 pthread_mutex_destroy F
-GLIBC_2.3 pthread_mutex_init F
-GLIBC_2.3 pthread_mutex_lock F
GLIBC_2.3 pthread_mutex_timedlock F
GLIBC_2.3 pthread_mutex_trylock F
-GLIBC_2.3 pthread_mutex_unlock F
GLIBC_2.3 pthread_mutexattr_destroy F
GLIBC_2.3 pthread_mutexattr_getkind_np F
GLIBC_2.3 pthread_mutexattr_getpshared F
@@ -427,6 +427,10 @@ GLIBC_2.17 __progname_full D 0x8
GLIBC_2.17 __pthread_cleanup_routine F
GLIBC_2.17 __pthread_getspecific F
GLIBC_2.17 __pthread_key_create F
+GLIBC_2.17 __pthread_mutex_destroy F
+GLIBC_2.17 __pthread_mutex_init F
+GLIBC_2.17 __pthread_mutex_lock F
+GLIBC_2.17 __pthread_mutex_unlock F
GLIBC_2.17 __pthread_once F
GLIBC_2.17 __pthread_rwlock_rdlock F
GLIBC_2.17 __pthread_rwlock_unlock F
@@ -2393,6 +2397,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -13,11 +13,7 @@ GLIBC_2.17 __lseek F
GLIBC_2.17 __open F
GLIBC_2.17 __open64 F
GLIBC_2.17 __pread64 F
-GLIBC_2.17 __pthread_mutex_destroy F
-GLIBC_2.17 __pthread_mutex_init F
-GLIBC_2.17 __pthread_mutex_lock F
GLIBC_2.17 __pthread_mutex_trylock F
-GLIBC_2.17 __pthread_mutex_unlock F
GLIBC_2.17 __pthread_mutexattr_destroy F
GLIBC_2.17 __pthread_mutexattr_init F
GLIBC_2.17 __pthread_mutexattr_settype F
@@ -84,14 +80,10 @@ GLIBC_2.17 pthread_getname_np F
GLIBC_2.17 pthread_join F
GLIBC_2.17 pthread_kill F
GLIBC_2.17 pthread_kill_other_threads_np F
-GLIBC_2.17 pthread_mutex_destroy F
GLIBC_2.17 pthread_mutex_getprioceiling F
-GLIBC_2.17 pthread_mutex_init F
-GLIBC_2.17 pthread_mutex_lock F
GLIBC_2.17 pthread_mutex_setprioceiling F
GLIBC_2.17 pthread_mutex_timedlock F
GLIBC_2.17 pthread_mutex_trylock F
-GLIBC_2.17 pthread_mutex_unlock F
GLIBC_2.17 pthread_mutexattr_destroy F
GLIBC_2.17 pthread_mutexattr_getkind_np F
GLIBC_2.17 pthread_mutexattr_getprioceiling F
@@ -327,6 +327,10 @@ GLIBC_2.33 __progname_full D 0x4
GLIBC_2.33 __pthread_cleanup_routine F
GLIBC_2.33 __pthread_getspecific F
GLIBC_2.33 __pthread_key_create F
+GLIBC_2.33 __pthread_mutex_destroy F
+GLIBC_2.33 __pthread_mutex_init F
+GLIBC_2.33 __pthread_mutex_lock F
+GLIBC_2.33 __pthread_mutex_unlock F
GLIBC_2.33 __pthread_once F
GLIBC_2.33 __pthread_rwlock_rdlock F
GLIBC_2.33 __pthread_rwlock_unlock F
@@ -1960,6 +1964,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -12,11 +12,7 @@ GLIBC_2.33 __lseek F
GLIBC_2.33 __open F
GLIBC_2.33 __open64 F
GLIBC_2.33 __pread64 F
-GLIBC_2.33 __pthread_mutex_destroy F
-GLIBC_2.33 __pthread_mutex_init F
-GLIBC_2.33 __pthread_mutex_lock F
GLIBC_2.33 __pthread_mutex_trylock F
-GLIBC_2.33 __pthread_mutex_unlock F
GLIBC_2.33 __pthread_mutexattr_destroy F
GLIBC_2.33 __pthread_mutexattr_init F
GLIBC_2.33 __pthread_mutexattr_settype F
@@ -99,14 +95,10 @@ GLIBC_2.33 pthread_join F
GLIBC_2.33 pthread_kill F
GLIBC_2.33 pthread_kill_other_threads_np F
GLIBC_2.33 pthread_mutex_clocklock F
-GLIBC_2.33 pthread_mutex_destroy F
GLIBC_2.33 pthread_mutex_getprioceiling F
-GLIBC_2.33 pthread_mutex_init F
-GLIBC_2.33 pthread_mutex_lock F
GLIBC_2.33 pthread_mutex_setprioceiling F
GLIBC_2.33 pthread_mutex_timedlock F
GLIBC_2.33 pthread_mutex_trylock F
-GLIBC_2.33 pthread_mutex_unlock F
GLIBC_2.33 pthread_mutexattr_destroy F
GLIBC_2.33 pthread_mutexattr_getkind_np F
GLIBC_2.33 pthread_mutexattr_getprioceiling F
@@ -338,6 +338,10 @@ GLIBC_2.27 __progname_full D 0x8
GLIBC_2.27 __pthread_cleanup_routine F
GLIBC_2.27 __pthread_getspecific F
GLIBC_2.27 __pthread_key_create F
+GLIBC_2.27 __pthread_mutex_destroy F
+GLIBC_2.27 __pthread_mutex_init F
+GLIBC_2.27 __pthread_mutex_lock F
+GLIBC_2.27 __pthread_mutex_unlock F
GLIBC_2.27 __pthread_once F
GLIBC_2.27 __pthread_rwlock_rdlock F
GLIBC_2.27 __pthread_rwlock_unlock F
@@ -2160,6 +2164,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -13,11 +13,7 @@ GLIBC_2.27 __lseek F
GLIBC_2.27 __open F
GLIBC_2.27 __open64 F
GLIBC_2.27 __pread64 F
-GLIBC_2.27 __pthread_mutex_destroy F
-GLIBC_2.27 __pthread_mutex_init F
-GLIBC_2.27 __pthread_mutex_lock F
GLIBC_2.27 __pthread_mutex_trylock F
-GLIBC_2.27 __pthread_mutex_unlock F
GLIBC_2.27 __pthread_mutexattr_destroy F
GLIBC_2.27 __pthread_mutexattr_init F
GLIBC_2.27 __pthread_mutexattr_settype F
@@ -85,14 +81,10 @@ GLIBC_2.27 pthread_getname_np F
GLIBC_2.27 pthread_join F
GLIBC_2.27 pthread_kill F
GLIBC_2.27 pthread_kill_other_threads_np F
-GLIBC_2.27 pthread_mutex_destroy F
GLIBC_2.27 pthread_mutex_getprioceiling F
-GLIBC_2.27 pthread_mutex_init F
-GLIBC_2.27 pthread_mutex_lock F
GLIBC_2.27 pthread_mutex_setprioceiling F
GLIBC_2.27 pthread_mutex_timedlock F
GLIBC_2.27 pthread_mutex_trylock F
-GLIBC_2.27 pthread_mutex_unlock F
GLIBC_2.27 pthread_mutexattr_destroy F
GLIBC_2.27 pthread_mutexattr_getkind_np F
GLIBC_2.27 pthread_mutexattr_getprioceiling F
@@ -187,6 +187,10 @@ GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
GLIBC_2.0 __pthread_getspecific F
GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2237,6 +2241,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
GLIBC_2.0 __h_errno_location F
GLIBC_2.0 __lseek F
GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join F
GLIBC_2.0 pthread_kill F
GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
@@ -372,6 +372,10 @@ GLIBC_2.2 __progname D 0x8
GLIBC_2.2 __progname_full D 0x8
GLIBC_2.2 __pthread_getspecific F
GLIBC_2.2 __pthread_key_create F
+GLIBC_2.2 __pthread_mutex_destroy F
+GLIBC_2.2 __pthread_mutex_init F
+GLIBC_2.2 __pthread_mutex_lock F
+GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pthread_rwlock_rdlock F
GLIBC_2.2 __pthread_rwlock_unlock F
@@ -2138,6 +2142,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -21,11 +21,7 @@ GLIBC_2.2 __lseek F
GLIBC_2.2 __open F
GLIBC_2.2 __open64 F
GLIBC_2.2 __pread64 F
-GLIBC_2.2 __pthread_mutex_destroy F
-GLIBC_2.2 __pthread_mutex_init F
-GLIBC_2.2 __pthread_mutex_lock F
GLIBC_2.2 __pthread_mutex_trylock F
-GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_mutexattr_destroy F
GLIBC_2.2 __pthread_mutexattr_init F
GLIBC_2.2 __pthread_mutexattr_settype F
@@ -84,12 +80,8 @@ GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join F
GLIBC_2.2 pthread_kill F
GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutex_destroy F
-GLIBC_2.2 pthread_mutex_init F
-GLIBC_2.2 pthread_mutex_lock F
GLIBC_2.2 pthread_mutex_timedlock F
GLIBC_2.2 pthread_mutex_trylock F
-GLIBC_2.2 pthread_mutex_unlock F
GLIBC_2.2 pthread_mutexattr_destroy F
GLIBC_2.2 pthread_mutexattr_getkind_np F
GLIBC_2.2 pthread_mutexattr_getpshared F
@@ -361,6 +361,10 @@ GLIBC_2.2 __progname D 0x4
GLIBC_2.2 __progname_full D 0x4
GLIBC_2.2 __pthread_getspecific F
GLIBC_2.2 __pthread_key_create F
+GLIBC_2.2 __pthread_mutex_destroy F
+GLIBC_2.2 __pthread_mutex_init F
+GLIBC_2.2 __pthread_mutex_lock F
+GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pthread_rwlock_rdlock F
GLIBC_2.2 __pthread_rwlock_unlock F
@@ -2107,6 +2111,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
GLIBC_2.2 __open F
GLIBC_2.2 __open64 F
GLIBC_2.2 __pread64 F
-GLIBC_2.2 __pthread_mutex_destroy F
-GLIBC_2.2 __pthread_mutex_init F
-GLIBC_2.2 __pthread_mutex_lock F
GLIBC_2.2 __pthread_mutex_trylock F
-GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_mutexattr_destroy F
GLIBC_2.2 __pthread_mutexattr_init F
GLIBC_2.2 __pthread_mutexattr_settype F
@@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join F
GLIBC_2.2 pthread_kill F
GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutex_destroy F
-GLIBC_2.2 pthread_mutex_init F
-GLIBC_2.2 pthread_mutex_lock F
GLIBC_2.2 pthread_mutex_timedlock F
GLIBC_2.2 pthread_mutex_trylock F
-GLIBC_2.2 pthread_mutex_unlock F
GLIBC_2.2 pthread_mutexattr_destroy F
GLIBC_2.2 pthread_mutexattr_getkind_np F
GLIBC_2.2 pthread_mutexattr_getpshared F
@@ -361,6 +361,10 @@ GLIBC_2.2 __progname D 0x4
GLIBC_2.2 __progname_full D 0x4
GLIBC_2.2 __pthread_getspecific F
GLIBC_2.2 __pthread_key_create F
+GLIBC_2.2 __pthread_mutex_destroy F
+GLIBC_2.2 __pthread_mutex_init F
+GLIBC_2.2 __pthread_mutex_lock F
+GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pthread_rwlock_rdlock F
GLIBC_2.2 __pthread_rwlock_unlock F
@@ -2104,6 +2108,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
GLIBC_2.2 __open F
GLIBC_2.2 __open64 F
GLIBC_2.2 __pread64 F
-GLIBC_2.2 __pthread_mutex_destroy F
-GLIBC_2.2 __pthread_mutex_init F
-GLIBC_2.2 __pthread_mutex_lock F
GLIBC_2.2 __pthread_mutex_trylock F
-GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_mutexattr_destroy F
GLIBC_2.2 __pthread_mutexattr_init F
GLIBC_2.2 __pthread_mutexattr_settype F
@@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join F
GLIBC_2.2 pthread_kill F
GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutex_destroy F
-GLIBC_2.2 pthread_mutex_init F
-GLIBC_2.2 pthread_mutex_lock F
GLIBC_2.2 pthread_mutex_timedlock F
GLIBC_2.2 pthread_mutex_trylock F
-GLIBC_2.2 pthread_mutex_unlock F
GLIBC_2.2 pthread_mutexattr_destroy F
GLIBC_2.2 pthread_mutexattr_getkind_np F
GLIBC_2.2 pthread_mutexattr_getpshared F
@@ -191,6 +191,10 @@ GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
GLIBC_2.0 __pthread_getspecific F
GLIBC_2.0 __pthread_key_create F
+GLIBC_2.0 __pthread_mutex_destroy F
+GLIBC_2.0 __pthread_mutex_init F
+GLIBC_2.0 __pthread_mutex_lock F
+GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __rcmd_errstr D 0x4
@@ -2228,6 +2232,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F
GLIBC_2.0 __h_errno_location F
GLIBC_2.0 __lseek F
GLIBC_2.0 __open F
-GLIBC_2.0 __pthread_mutex_destroy F
-GLIBC_2.0 __pthread_mutex_init F
-GLIBC_2.0 __pthread_mutex_lock F
GLIBC_2.0 __pthread_mutex_trylock F
-GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
@@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join F
GLIBC_2.0 pthread_kill F
GLIBC_2.0 pthread_kill_other_threads_np F
-GLIBC_2.0 pthread_mutex_destroy F
-GLIBC_2.0 pthread_mutex_init F
-GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_trylock F
-GLIBC_2.0 pthread_mutex_unlock F
GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
@@ -399,6 +399,10 @@ GLIBC_2.2 __progname D 0x8
GLIBC_2.2 __progname_full D 0x8
GLIBC_2.2 __pthread_getspecific F
GLIBC_2.2 __pthread_key_create F
+GLIBC_2.2 __pthread_mutex_destroy F
+GLIBC_2.2 __pthread_mutex_init F
+GLIBC_2.2 __pthread_mutex_lock F
+GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pthread_rwlock_rdlock F
GLIBC_2.2 __pthread_rwlock_unlock F
@@ -2155,6 +2159,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F
GLIBC_2.2 __open F
GLIBC_2.2 __open64 F
GLIBC_2.2 __pread64 F
-GLIBC_2.2 __pthread_mutex_destroy F
-GLIBC_2.2 __pthread_mutex_init F
-GLIBC_2.2 __pthread_mutex_lock F
GLIBC_2.2 __pthread_mutex_trylock F
-GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_mutexattr_destroy F
GLIBC_2.2 __pthread_mutexattr_init F
GLIBC_2.2 __pthread_mutexattr_settype F
@@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join F
GLIBC_2.2 pthread_kill F
GLIBC_2.2 pthread_kill_other_threads_np F
-GLIBC_2.2 pthread_mutex_destroy F
-GLIBC_2.2 pthread_mutex_init F
-GLIBC_2.2 pthread_mutex_lock F
GLIBC_2.2 pthread_mutex_timedlock F
GLIBC_2.2 pthread_mutex_trylock F
-GLIBC_2.2 pthread_mutex_unlock F
GLIBC_2.2 pthread_mutexattr_destroy F
GLIBC_2.2 pthread_mutexattr_getkind_np F
GLIBC_2.2 pthread_mutexattr_getpshared F
@@ -360,6 +360,10 @@ GLIBC_2.2.5 __progname D 0x8
GLIBC_2.2.5 __progname_full D 0x8
GLIBC_2.2.5 __pthread_getspecific F
GLIBC_2.2.5 __pthread_key_create F
+GLIBC_2.2.5 __pthread_mutex_destroy F
+GLIBC_2.2.5 __pthread_mutex_init F
+GLIBC_2.2.5 __pthread_mutex_lock F
+GLIBC_2.2.5 __pthread_mutex_unlock F
GLIBC_2.2.5 __pthread_once F
GLIBC_2.2.5 __pthread_rwlock_rdlock F
GLIBC_2.2.5 __pthread_rwlock_unlock F
@@ -2114,6 +2118,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -20,11 +20,7 @@ GLIBC_2.2.5 __lseek F
GLIBC_2.2.5 __open F
GLIBC_2.2.5 __open64 F
GLIBC_2.2.5 __pread64 F
-GLIBC_2.2.5 __pthread_mutex_destroy F
-GLIBC_2.2.5 __pthread_mutex_init F
-GLIBC_2.2.5 __pthread_mutex_lock F
GLIBC_2.2.5 __pthread_mutex_trylock F
-GLIBC_2.2.5 __pthread_mutex_unlock F
GLIBC_2.2.5 __pthread_mutexattr_destroy F
GLIBC_2.2.5 __pthread_mutexattr_init F
GLIBC_2.2.5 __pthread_mutexattr_settype F
@@ -83,12 +79,8 @@ GLIBC_2.2.5 pthread_getcpuclockid F
GLIBC_2.2.5 pthread_join F
GLIBC_2.2.5 pthread_kill F
GLIBC_2.2.5 pthread_kill_other_threads_np F
-GLIBC_2.2.5 pthread_mutex_destroy F
-GLIBC_2.2.5 pthread_mutex_init F
-GLIBC_2.2.5 pthread_mutex_lock F
GLIBC_2.2.5 pthread_mutex_timedlock F
GLIBC_2.2.5 pthread_mutex_trylock F
-GLIBC_2.2.5 pthread_mutex_unlock F
GLIBC_2.2.5 pthread_mutexattr_destroy F
GLIBC_2.2.5 pthread_mutexattr_getkind_np F
GLIBC_2.2.5 pthread_mutexattr_getpshared F
@@ -342,6 +342,10 @@ GLIBC_2.16 __progname_full D 0x4
GLIBC_2.16 __pthread_cleanup_routine F
GLIBC_2.16 __pthread_getspecific F
GLIBC_2.16 __pthread_key_create F
+GLIBC_2.16 __pthread_mutex_destroy F
+GLIBC_2.16 __pthread_mutex_init F
+GLIBC_2.16 __pthread_mutex_lock F
+GLIBC_2.16 __pthread_mutex_unlock F
GLIBC_2.16 __pthread_once F
GLIBC_2.16 __pthread_rwlock_rdlock F
GLIBC_2.16 __pthread_rwlock_unlock F
@@ -2212,6 +2216,10 @@ 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_destroy F
+GLIBC_2.34 __pthread_mutex_init F
+GLIBC_2.34 __pthread_mutex_lock F
+GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_once F
GLIBC_2.34 __pthread_rwlock_rdlock F
GLIBC_2.34 __pthread_rwlock_unlock F
@@ -13,11 +13,7 @@ GLIBC_2.16 __lseek F
GLIBC_2.16 __open F
GLIBC_2.16 __open64 F
GLIBC_2.16 __pread64 F
-GLIBC_2.16 __pthread_mutex_destroy F
-GLIBC_2.16 __pthread_mutex_init F
-GLIBC_2.16 __pthread_mutex_lock F
GLIBC_2.16 __pthread_mutex_trylock F
-GLIBC_2.16 __pthread_mutex_unlock F
GLIBC_2.16 __pthread_mutexattr_destroy F
GLIBC_2.16 __pthread_mutexattr_init F
GLIBC_2.16 __pthread_mutexattr_settype F
@@ -84,14 +80,10 @@ GLIBC_2.16 pthread_getname_np F
GLIBC_2.16 pthread_join F
GLIBC_2.16 pthread_kill F
GLIBC_2.16 pthread_kill_other_threads_np F
-GLIBC_2.16 pthread_mutex_destroy F
GLIBC_2.16 pthread_mutex_getprioceiling F
-GLIBC_2.16 pthread_mutex_init F
-GLIBC_2.16 pthread_mutex_lock F
GLIBC_2.16 pthread_mutex_setprioceiling F
GLIBC_2.16 pthread_mutex_timedlock F
GLIBC_2.16 pthread_mutex_trylock F
-GLIBC_2.16 pthread_mutex_unlock F
GLIBC_2.16 pthread_mutexattr_destroy F
GLIBC_2.16 pthread_mutexattr_getkind_np F
GLIBC_2.16 pthread_mutexattr_getprioceiling F