aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-04-21 19:49:51 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-04-21 19:49:51 +0200
commit27a448223cb2d3bab191c61303db48cee66f871c (patch)
treee9cb7ab65f5efb5d486c79ee58b4ccadfbe7896c
parent60d5e40ab200033a982a9fd7594a1f83dcdb94a0 (diff)
downloadglibc-27a448223cb2d3bab191c61303db48cee66f871c.zip
glibc-27a448223cb2d3bab191c61303db48cee66f871c.tar.gz
glibc-27a448223cb2d3bab191c61303db48cee66f871c.tar.bz2
nptl: Move core mutex functions into libc
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 been moved using scripts/move-symbol-to-libc.py. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-rw-r--r--nptl/Makefile8
-rw-r--r--nptl/Versions17
-rw-r--r--nptl/forward.c11
-rw-r--r--nptl/nptl-init.c4
-rw-r--r--nptl/pthreadP.h11
-rw-r--r--nptl/pthread_mutex_cond_lock.c3
-rw-r--r--nptl/pthread_mutex_destroy.c16
-rw-r--r--nptl/pthread_mutex_init.c14
-rw-r--r--nptl/pthread_mutex_lock.c22
-rw-r--r--nptl/pthread_mutex_unlock.c17
-rw-r--r--sysdeps/nptl/libc-lockP.h32
-rw-r--r--sysdeps/nptl/pthread-functions.h5
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/arc/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/csky/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/i386/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist8
73 files changed, 340 insertions, 308 deletions
diff --git a/nptl/Makefile b/nptl/Makefile
index f62fdc5..9f739e2 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -85,6 +85,10 @@ routines = \
pthread_kill \
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 \
@@ -154,14 +158,10 @@ libpthread-routines = \
pthread_join_common \
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 \
diff --git a/nptl/Versions b/nptl/Versions
index 2748421..7672831 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;
@@ -104,6 +108,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_setspecific;
pthread_getspecific;
@@ -151,6 +159,7 @@ libc {
__pthread_getattr_default_np;
__pthread_key_delete;
__pthread_keys;
+ __pthread_mutex_unlock_usercnt;
__pthread_setcancelstate;
__pthread_tpp_change_priority;
__pthread_unwind;
@@ -168,11 +177,7 @@ libpthread {
__errno_location;
__h_errno_location;
__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;
@@ -190,11 +195,7 @@ libpthread {
pthread_detach;
pthread_join;
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;
diff --git a/nptl/forward.c b/nptl/forward.c
index de4e9cd..c914bae 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)
diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
index 646c5a9..271a29c 100644
--- a/nptl/nptl-init.c
+++ b/nptl/nptl-init.c
@@ -62,10 +62,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
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 5cd5d69..332744e 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -395,9 +395,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)
@@ -405,8 +408,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);
@@ -560,11 +565,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)
diff --git a/nptl/pthread_mutex_cond_lock.c b/nptl/pthread_mutex_cond_lock.c
index 3386bd6..f3af514 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>
diff --git a/nptl/pthread_mutex_destroy.c b/nptl/pthread_mutex_destroy.c
index d2fb816..89825d4 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 (pthread_mutex_t *mutex)
{
LIBC_PROBE (mutex_destroy, 1, mutex);
@@ -41,5 +41,13 @@ __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, __pthread_mutex_destroy,
+ GLIBC_2_34);
+libc_hidden_ver (___pthread_mutex_destroy, __pthread_mutex_destroy)
+versioned_symbol (libc, ___pthread_mutex_destroy, pthread_mutex_destroy,
+ GLIBC_2_0);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_mutex_destroy, __pthread_mutex_destroy,
+ GLIBC_2_0);
+#endif
diff --git a/nptl/pthread_mutex_init.c b/nptl/pthread_mutex_init.c
index f5c3a4b..328f7b0 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 (pthread_mutex_t *mutex,
const pthread_mutexattr_t *mutexattr)
{
const struct pthread_mutexattr *imutexattr;
@@ -150,5 +151,12 @@ __pthread_mutex_init (pthread_mutex_t *mutex,
return 0;
}
-weak_alias (__pthread_mutex_init, pthread_mutex_init)
-hidden_def (__pthread_mutex_init)
+versioned_symbol (libpthread, ___pthread_mutex_init, __pthread_mutex_init,
+ GLIBC_2_34);
+libc_hidden_ver (___pthread_mutex_init, __pthread_mutex_init)
+versioned_symbol (libpthread, ___pthread_mutex_init, pthread_mutex_init,
+ GLIBC_2_0);
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_mutex_init, __pthread_mutex_init,
+ GLIBC_2_0);
+#endif
diff --git a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c
index 8649a92..c9e438e 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
+# 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 (libpthread, ___pthread_mutex_lock, __pthread_mutex_lock,
+ GLIBC_2_34);
+libc_hidden_ver (___pthread_mutex_lock, __pthread_mutex_lock)
+versioned_symbol (libpthread, ___pthread_mutex_lock, pthread_mutex_lock,
+ GLIBC_2_0);
+
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_mutex_lock, __pthread_mutex_lock,
+ GLIBC_2_0);
+# endif
+#endif /* PTHREAD_MUTEX_VERSIONS */
#ifdef NO_INCR
diff --git a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c
index 655093e..ea88ba2 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,17 @@ __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)
int
-__pthread_mutex_unlock (pthread_mutex_t *mutex)
+___pthread_mutex_unlock (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 (libpthread, ___pthread_mutex_unlock, __pthread_mutex_unlock,
+ GLIBC_2_34);
+libc_hidden_ver (___pthread_mutex_unlock, __pthread_mutex_unlock)
+versioned_symbol (libpthread, ___pthread_mutex_unlock, pthread_mutex_unlock,
+ GLIBC_2_0);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_mutex_unlock, __pthread_mutex_unlock,
+ GLIBC_2_0);
+#endif
diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
index 8991056..0dd2ea1 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. */
@@ -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
diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h
index 8535e14..dab5a28 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 *);
};
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 26dd0b3..6d2f4f0 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
@@ -2200,6 +2204,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 3f0247f..c1f55a8 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.17 _IO_ftrylockfile F
GLIBC_2.17 _IO_funlockfile F
GLIBC_2.17 __errno_location F
GLIBC_2.17 __h_errno_location 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
@@ -55,14 +51,10 @@ GLIBC_2.17 pthread_getcpuclockid F
GLIBC_2.17 pthread_getname_np F
GLIBC_2.17 pthread_join 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 2f094df..9c9d63b 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
@@ -2288,6 +2292,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 5a9cc84..7c9b4ca 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F
GLIBC_2.0 _IO_funlockfile F
GLIBC_2.0 __errno_location F
GLIBC_2.0 __h_errno_location 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
@@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F
GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join 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 cd41615..54649b7 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
@@ -1959,6 +1963,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index b80e78a..be9849a 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.32 _IO_ftrylockfile F
GLIBC_2.32 _IO_funlockfile F
GLIBC_2.32 __errno_location F
GLIBC_2.32 __h_errno_location 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
@@ -72,14 +68,10 @@ GLIBC_2.32 pthread_getname_np F
GLIBC_2.32 pthread_join 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 770e1d9..de59364 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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
@@ -503,6 +507,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 c2705e7..b0eb9ea 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -37,11 +37,7 @@ GLIBC_2.4 _IO_ftrylockfile F
GLIBC_2.4 _IO_funlockfile F
GLIBC_2.4 __errno_location F
GLIBC_2.4 __h_errno_location 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
@@ -88,14 +84,10 @@ GLIBC_2.4 pthread_getconcurrency F
GLIBC_2.4 pthread_getcpuclockid F
GLIBC_2.4 pthread_join 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 4f6a853..0ed5298 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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
@@ -500,6 +504,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 c2705e7..b0eb9ea 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -37,11 +37,7 @@ GLIBC_2.4 _IO_ftrylockfile F
GLIBC_2.4 _IO_funlockfile F
GLIBC_2.4 __errno_location F
GLIBC_2.4 __h_errno_location 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
@@ -88,14 +84,10 @@ GLIBC_2.4 pthread_getconcurrency F
GLIBC_2.4 pthread_getcpuclockid F
GLIBC_2.4 pthread_join 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 67ab243..8035d6f 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
@@ -2143,6 +2147,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index dc56638..7bde825 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.29 _IO_ftrylockfile F
GLIBC_2.29 _IO_funlockfile F
GLIBC_2.29 __errno_location F
GLIBC_2.29 __h_errno_location 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
@@ -69,14 +65,10 @@ GLIBC_2.29 pthread_getcpuclockid F
GLIBC_2.29 pthread_getname_np F
GLIBC_2.29 pthread_join 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 8a7f2a8..cf00f6d 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
@@ -2101,6 +2105,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index a87c1e2..e7a48ce 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -10,11 +10,7 @@ GLIBC_2.2 _IO_ftrylockfile F
GLIBC_2.2 _IO_funlockfile F
GLIBC_2.2 __errno_location F
GLIBC_2.2 __h_errno_location 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
@@ -54,12 +50,8 @@ GLIBC_2.2 pthread_getconcurrency F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join 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 a531801..5da36df 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
@@ -2278,6 +2282,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index c09c86e..1cf5dca 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F
GLIBC_2.0 _IO_funlockfile F
GLIBC_2.0 __errno_location F
GLIBC_2.0 __h_errno_location 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
@@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F
GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join 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 bd8da6c..d8c16ce 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
@@ -2135,6 +2139,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 6cf7099..802f3d2 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -10,11 +10,7 @@ GLIBC_2.2 _IO_ftrylockfile F
GLIBC_2.2 _IO_funlockfile F
GLIBC_2.2 __errno_location F
GLIBC_2.2 __h_errno_location 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
@@ -54,12 +50,8 @@ GLIBC_2.2 pthread_getconcurrency F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join 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 b63949b..afa40c3 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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
@@ -489,6 +493,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 c2705e7..b0eb9ea 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -37,11 +37,7 @@ GLIBC_2.4 _IO_ftrylockfile F
GLIBC_2.4 _IO_funlockfile F
GLIBC_2.4 __errno_location F
GLIBC_2.4 __h_errno_location 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
@@ -88,14 +84,10 @@ GLIBC_2.4 pthread_getconcurrency F
GLIBC_2.4 pthread_getcpuclockid F
GLIBC_2.4 pthread_join 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 a900e06..e2256ce 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
@@ -2221,6 +2225,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index c09c86e..1cf5dca 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F
GLIBC_2.0 _IO_funlockfile F
GLIBC_2.0 __errno_location F
GLIBC_2.0 __h_errno_location 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
@@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F
GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join 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 4b92c80..98325e0 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
@@ -2194,6 +2198,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 6b62c97..3d4db20 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.18 _IO_ftrylockfile F
GLIBC_2.18 _IO_funlockfile F
GLIBC_2.18 __errno_location F
GLIBC_2.18 __h_errno_location 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
@@ -56,14 +52,10 @@ GLIBC_2.18 pthread_getcpuclockid F
GLIBC_2.18 pthread_getname_np F
GLIBC_2.18 pthread_join 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 cba37be..7b6859d 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
@@ -2191,6 +2195,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 6b62c97..3d4db20 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.18 _IO_ftrylockfile F
GLIBC_2.18 _IO_funlockfile F
GLIBC_2.18 __errno_location F
GLIBC_2.18 __h_errno_location 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
@@ -56,14 +52,10 @@ GLIBC_2.18 pthread_getcpuclockid F
GLIBC_2.18 pthread_getname_np F
GLIBC_2.18 pthread_join 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 2fb1251..b205d5a 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
@@ -2184,6 +2188,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index ecb2aab..a78c08e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F
GLIBC_2.0 _IO_funlockfile F
GLIBC_2.0 __errno_location F
GLIBC_2.0 __h_errno_location 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
@@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F
GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join 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 e9c8f34..4e4cdfb 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
@@ -2182,6 +2186,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index ecb2aab..a78c08e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F
GLIBC_2.0 _IO_funlockfile F
GLIBC_2.0 __errno_location F
GLIBC_2.0 __h_errno_location 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
@@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F
GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join 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 a2d981c..b4a3845 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
@@ -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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index ffc935b..df56562 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
@@ -2184,6 +2188,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 0dcf9f5..6cae363 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
@@ -2233,6 +2237,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 0281da1..504d70f 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.21 _IO_ftrylockfile F
GLIBC_2.21 _IO_funlockfile F
GLIBC_2.21 __errno_location F
GLIBC_2.21 __h_errno_location 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
@@ -56,14 +52,10 @@ GLIBC_2.21 pthread_getcpuclockid F
GLIBC_2.21 pthread_getname_np F
GLIBC_2.21 pthread_join 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 1202487..6458f4d 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
@@ -2248,6 +2252,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 2486a0d..4ebcfbb 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F
GLIBC_2.0 _IO_funlockfile F
GLIBC_2.0 __errno_location F
GLIBC_2.0 __h_errno_location 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
@@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F
GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join 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 3870013..69c1f71 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
@@ -2281,6 +2285,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 9fa941a..f8e2de6 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
@@ -2103,6 +2107,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 53f92e2..8ea5895 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -31,11 +31,7 @@ GLIBC_2.3 _IO_ftrylockfile F
GLIBC_2.3 _IO_funlockfile F
GLIBC_2.3 __errno_location F
GLIBC_2.3 __h_errno_location 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
@@ -74,12 +70,8 @@ GLIBC_2.3 pthread_getconcurrency F
GLIBC_2.3 pthread_getcpuclockid F
GLIBC_2.3 pthread_join 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 802b409..e16fb69 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
@@ -2396,6 +2400,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 3f0247f..c1f55a8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.17 _IO_ftrylockfile F
GLIBC_2.17 _IO_funlockfile F
GLIBC_2.17 __errno_location F
GLIBC_2.17 __h_errno_location 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
@@ -55,14 +51,10 @@ GLIBC_2.17 pthread_getcpuclockid F
GLIBC_2.17 pthread_getname_np F
GLIBC_2.17 pthread_join 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 f2fc047..7143381 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
@@ -1961,6 +1965,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index e1fec91..819f734 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.33 _IO_ftrylockfile F
GLIBC_2.33 _IO_funlockfile F
GLIBC_2.33 __errno_location F
GLIBC_2.33 __h_errno_location 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
@@ -72,14 +68,10 @@ GLIBC_2.33 pthread_getname_np F
GLIBC_2.33 pthread_join 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 5e8e490..3dd55bf 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
@@ -2161,6 +2165,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index ad63bee..c3e1fcd 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.27 _IO_ftrylockfile F
GLIBC_2.27 _IO_funlockfile F
GLIBC_2.27 __errno_location F
GLIBC_2.27 __h_errno_location 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
@@ -56,14 +52,10 @@ GLIBC_2.27 pthread_getcpuclockid F
GLIBC_2.27 pthread_getname_np F
GLIBC_2.27 pthread_join 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 a2c2df7..ebb3a99 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
@@ -2246,6 +2250,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 9e9fba9..a0f9da1 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F
GLIBC_2.0 _IO_funlockfile F
GLIBC_2.0 __errno_location F
GLIBC_2.0 __h_errno_location 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
@@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F
GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join 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 dc6ca8a..fb471c6 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
@@ -2139,6 +2143,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index c80e9e7..c64d0ad 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -11,11 +11,7 @@ GLIBC_2.2 _IO_ftrylockfile F
GLIBC_2.2 _IO_funlockfile F
GLIBC_2.2 __errno_location F
GLIBC_2.2 __h_errno_location 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
@@ -55,12 +51,8 @@ GLIBC_2.2 pthread_getconcurrency F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join 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 80a2c49..0a41aca 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
@@ -2108,6 +2112,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index a87c1e2..e7a48ce 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -10,11 +10,7 @@ GLIBC_2.2 _IO_ftrylockfile F
GLIBC_2.2 _IO_funlockfile F
GLIBC_2.2 __errno_location F
GLIBC_2.2 __h_errno_location 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
@@ -54,12 +50,8 @@ GLIBC_2.2 pthread_getconcurrency F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join 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 cf26b71..50ae689 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
@@ -2105,6 +2109,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index a87c1e2..e7a48ce 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -10,11 +10,7 @@ GLIBC_2.2 _IO_ftrylockfile F
GLIBC_2.2 _IO_funlockfile F
GLIBC_2.2 __errno_location F
GLIBC_2.2 __h_errno_location 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
@@ -54,12 +50,8 @@ GLIBC_2.2 pthread_getconcurrency F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join 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 322378d..7511f7b 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
@@ -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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 5a9cc84..7c9b4ca 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F
GLIBC_2.0 _IO_funlockfile F
GLIBC_2.0 __errno_location F
GLIBC_2.0 __h_errno_location 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
@@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F
GLIBC_2.0 pthread_detach F
GLIBC_2.0 pthread_join 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 eeaa82f..640d872 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
@@ -2156,6 +2160,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 6cf7099..802f3d2 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -10,11 +10,7 @@ GLIBC_2.2 _IO_ftrylockfile F
GLIBC_2.2 _IO_funlockfile F
GLIBC_2.2 __errno_location F
GLIBC_2.2 __h_errno_location 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
@@ -54,12 +50,8 @@ GLIBC_2.2 pthread_getconcurrency F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_join 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 dbce478..f1a22fb 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
@@ -2117,6 +2121,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index cc0a8aa..106e86a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -10,11 +10,7 @@ GLIBC_2.2.5 _IO_ftrylockfile F
GLIBC_2.2.5 _IO_funlockfile F
GLIBC_2.2.5 __errno_location F
GLIBC_2.2.5 __h_errno_location 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
@@ -54,12 +50,8 @@ GLIBC_2.2.5 pthread_getconcurrency F
GLIBC_2.2.5 pthread_getcpuclockid F
GLIBC_2.2.5 pthread_join 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 fb659ae..6d5d59c 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
@@ -2215,6 +2219,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_setspecific F
GLIBC_2.34 __pthread_unwind_next F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 5a7c70f..212e47f 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -3,11 +3,7 @@ GLIBC_2.16 _IO_ftrylockfile F
GLIBC_2.16 _IO_funlockfile F
GLIBC_2.16 __errno_location F
GLIBC_2.16 __h_errno_location 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
@@ -55,14 +51,10 @@ GLIBC_2.16 pthread_getcpuclockid F
GLIBC_2.16 pthread_getname_np F
GLIBC_2.16 pthread_join 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