From: Florian Weimer <fweimer@redhat.com>
To: libc-alpha@sourceware.org
Subject: [PATCH v3 34/37] nptl: Move core mutex functions into libc
Date: Tue, 16 Mar 2021 18:31:37 +0100 [thread overview]
Message-ID: <ad8f014bcec5cd8fdc6a9d8d8fce9458219e64ac.1615914632.git.fweimer@redhat.com> (raw)
In-Reply-To: <cover.1615914631.git.fweimer@redhat.com>
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(-)
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 \
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;
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)
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
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)
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>
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
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
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
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
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. */
@@ -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 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 *);
};
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
--
2.29.2
next prev parent reply other threads:[~2021-03-16 17:31 UTC|newest]
Thread overview: 99+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-16 17:27 [PATCH v3 00/37] libpthread removal: NPTL forwarders are gone Florian Weimer
2021-03-16 17:27 ` [PATCH v3 01/37] nptl: Move pthread_mutex_consistent into libc Florian Weimer
2021-03-17 11:36 ` Adhemerval Zanella
2021-03-16 17:27 ` [PATCH v3 02/37] nptl: Move __pthread_cleanup_routine " Florian Weimer
2021-03-16 17:27 ` [PATCH v3 03/37] nptl: Move legacy unwinding implementation " Florian Weimer
2021-03-16 17:27 ` [PATCH v3 04/37] nptl: Move legacy cancelation handling into libc as compat symbols Florian Weimer
2021-03-16 17:27 ` [PATCH v3 05/37] nptl: Remove longjmp, siglongjmp from libpthread Florian Weimer
2021-03-17 11:38 ` Adhemerval Zanella
2021-03-16 17:28 ` [PATCH v3 06/37] x86: Restore compile-time check for shadow stack pointer in longjmp Florian Weimer
2021-03-16 17:28 ` [PATCH v3 07/37] nptl: Move __pthread_cleanup_upto into libc Florian Weimer
2021-03-16 17:28 ` [PATCH v3 08/37] nptl: Move pthread_once and __pthread_once " Florian Weimer
2021-03-17 13:30 ` Adhemerval Zanella
2021-03-17 13:37 ` Adhemerval Zanella
2021-03-17 14:45 ` Florian Weimer
2021-03-17 16:39 ` Adhemerval Zanella
2021-03-17 16:56 ` Florian Weimer
2021-03-17 17:22 ` Adhemerval Zanella
2021-03-17 17:43 ` Florian Weimer
2021-03-17 19:09 ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 09/37] nptl: Move __pthread_unwind_next " Florian Weimer
2021-03-17 19:42 ` Adhemerval Zanella
2021-03-17 19:54 ` Florian Weimer
2021-03-17 20:16 ` Adhemerval Zanella
2021-03-17 20:33 ` Florian Weimer
2021-03-17 20:44 ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 10/37] csu: Move calling main out of __libc_start_main_impl Florian Weimer
2021-03-17 20:45 ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 11/37] nptl: Move internal __nptl_nthreads variable into libc Florian Weimer
2021-03-18 12:42 ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 12/37] nptl_db: Introduce DB_MAIN_ARRAY_VARIABLE Florian Weimer
2021-03-18 12:43 ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 13/37] nptl: Move __pthread_keys global variable into libc Florian Weimer
2021-03-18 12:44 ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 14/37] nptl: Move __nptl_deallocate_tsd " Florian Weimer
2021-03-18 12:46 ` Adhemerval Zanella
2021-03-18 17:16 ` Florian Weimer
2021-03-18 17:54 ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 15/37] nptl: Move pthread_exit " Florian Weimer
2021-03-18 12:49 ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 16/37] nptl: Move pthread_setcancelstate " Florian Weimer
2021-03-18 12:52 ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 17/37] nptl: Move pthread_setcanceltype " Florian Weimer
2021-03-18 12:53 ` Adhemerval Zanella
2021-03-16 17:29 ` [PATCH v3 18/37] nptl: Invoke the set_robust_list system call directly in fork Florian Weimer
2021-03-18 12:54 ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 19/37] dlfcn: Failures after dlmopen should not terminate process [BZ #24772] Florian Weimer
2021-03-19 19:56 ` Adhemerval Zanella
2021-03-27 16:57 ` Florian Weimer
2021-03-16 17:30 ` [PATCH v3 20/37] dlfcn: dlerror needs to call free from the base namespace [BZ #24773] Florian Weimer
2021-03-23 14:47 ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 21/37] Remove pthread_key_create-related internals from libc-lock.h Florian Weimer
2021-03-23 16:39 ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 22/37] elf: Introduce __tls_init_tp for second-phase TCB initialization Florian Weimer
2021-03-23 18:25 ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 23/37] nptl: Move part of TCB initialization from libpthread to __tls_init_tp Florian Weimer
2021-03-24 13:56 ` Adhemerval Zanella
2021-03-27 17:19 ` Florian Weimer
2021-03-16 17:30 ` [PATCH v3 24/37] nptl: Move pthread_key_create, __pthread_key_create into libc Florian Weimer
2021-03-24 14:09 ` Adhemerval Zanella
2021-03-24 14:32 ` Florian Weimer
2021-03-24 14:42 ` Adhemerval Zanella
2021-03-24 15:08 ` Florian Weimer
2021-03-24 15:46 ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 25/37] nptl: Move pthread_getspecific, __pthread_getspecific " Florian Weimer
2021-03-24 14:12 ` Adhemerval Zanella
2021-03-24 14:38 ` Florian Weimer
2021-03-24 14:43 ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 26/37] nptl: Move pthread_setspecific, __pthread_setspecific " Florian Weimer
2021-03-24 14:26 ` Adhemerval Zanella
2021-03-16 17:30 ` [PATCH v3 27/37] nptl: Move pthread_key_delete " Florian Weimer
2021-03-24 14:45 ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 28/37] nptl: Move rwlock functions with forwarders " Florian Weimer
2021-03-25 19:52 ` Adhemerval Zanella
2021-03-27 21:41 ` Florian Weimer
2021-03-16 17:31 ` [PATCH v3 29/37] nptl: Move the internal thread priority protection symbols " Florian Weimer
2021-03-25 20:21 ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 30/37] pthread: Introduce __pthread_early_init Florian Weimer
2021-03-25 20:22 ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 31/37] nptl: Move internal symbol __mutex_aconf into libc Florian Weimer
2021-03-25 20:24 ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 32/37] nptl: pthread_mutex_lock, pthread_mutex_unock single-threaded optimization Florian Weimer
2021-03-26 18:00 ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 33/37] x86: Remove low-level lock optimization Florian Weimer
2021-03-25 20:30 ` Adhemerval Zanella
2021-03-16 17:31 ` Florian Weimer [this message]
2021-03-25 20:46 ` [PATCH v3 34/37] nptl: Move core mutex functions into libc Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 35/37] nptl: Move core condition variable " Florian Weimer
2021-03-26 17:14 ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 36/37] nptl: Move setxid broadcast implementation " Florian Weimer
2021-03-26 18:15 ` Adhemerval Zanella
2021-04-06 18:41 ` Florian Weimer
2021-04-06 18:54 ` Adhemerval Zanella
2021-04-06 19:23 ` Florian Weimer
2021-04-06 19:40 ` Adhemerval Zanella
2021-03-16 17:31 ` [PATCH v3 37/37] nptl: Remove remnants of the libc/libpthread forwarder interface Florian Weimer
2021-03-26 18:19 ` Adhemerval Zanella
2021-03-18 22:06 ` [PATCH v3 00/37] libpthread removal: NPTL forwarders are gone Florian Weimer
2021-03-26 18:25 ` Adhemerval Zanella
2021-03-31 10:18 ` Florian Weimer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ad8f014bcec5cd8fdc6a9d8d8fce9458219e64ac.1615914632.git.fweimer@redhat.com \
--to=fweimer@redhat.com \
--cc=libc-alpha@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).