aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nptl/Makefile2
-rw-r--r--nptl/Versions3
-rw-r--r--nptl/pthread_spin_lock.c8
-rw-r--r--sysdeps/alpha/nptl/pthread_spin_lock.S14
-rw-r--r--sysdeps/i386/nptl/pthread_spin_lock.S10
-rw-r--r--sysdeps/ia64/nptl/pthread_spin_lock.c10
-rw-r--r--sysdeps/powerpc/nptl/pthread_spin_lock.c8
-rw-r--r--sysdeps/sh/nptl/pthread_spin_lock.c8
-rw-r--r--sysdeps/sparc/sparc32/pthread_spin_lock.S10
-rw-r--r--sysdeps/sparc/sparc64/pthread_spin_lock.S10
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arc/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/csky/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/i386/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist1
-rw-r--r--sysdeps/x86_64/nptl/pthread_spin_lock.S10
72 files changed, 139 insertions, 47 deletions
diff --git a/nptl/Makefile b/nptl/Makefile
index dd7fa95c2b..011f53eab2 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -131,6 +131,7 @@ routines = \
pthread_sigmask \
pthread_spin_destroy \
pthread_spin_init \
+ pthread_spin_lock \
pthread_spin_unlock \
tpp \
unwind \
@@ -197,7 +198,6 @@ libpthread-routines = \
pthread_setname \
pthread_setschedprio \
pthread_sigqueue \
- pthread_spin_lock \
pthread_spin_trylock \
pthread_testcancel \
pthread_timedjoin \
diff --git a/nptl/Versions b/nptl/Versions
index 8ec1d4bbd2..242c3a3d9d 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -81,6 +81,7 @@ libc {
pthread_mutexattr_setpshared;
pthread_spin_destroy;
pthread_spin_init;
+ pthread_spin_lock;
pthread_spin_unlock;
}
GLIBC_2.2.3 {
@@ -184,6 +185,7 @@ libc {
pthread_setspecific;
pthread_spin_destroy;
pthread_spin_init;
+ pthread_spin_lock;
pthread_spin_unlock;
}
GLIBC_PRIVATE {
@@ -316,7 +318,6 @@ libpthread {
pthread_getcpuclockid;
pthread_rwlock_timedrdlock;
pthread_rwlock_timedwrlock;
- pthread_spin_lock;
pthread_spin_trylock;
pthread_yield;
sem_timedwait;
diff --git a/nptl/pthread_spin_lock.c b/nptl/pthread_spin_lock.c
index c07591bf4c..b4eb4cd196 100644
--- a/nptl/pthread_spin_lock.c
+++ b/nptl/pthread_spin_lock.c
@@ -18,9 +18,10 @@
#include <atomic.h>
#include "pthreadP.h"
+#include <shlib-compat.h>
int
-pthread_spin_lock (pthread_spinlock_t *lock)
+__pthread_spin_lock (pthread_spinlock_t *lock)
{
int val = 0;
@@ -78,3 +79,8 @@ pthread_spin_lock (pthread_spinlock_t *lock)
return 0;
}
+versioned_symbol (libc, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_2);
+#endif
diff --git a/sysdeps/alpha/nptl/pthread_spin_lock.S b/sysdeps/alpha/nptl/pthread_spin_lock.S
index 8f9d1805c9..6ffd68d79d 100644
--- a/sysdeps/alpha/nptl/pthread_spin_lock.S
+++ b/sysdeps/alpha/nptl/pthread_spin_lock.S
@@ -16,13 +16,14 @@
License along with the GNU C Library. If not, see
<https://www.gnu.org/licenses/>. */
+#include <shlib-compat.h>
.text
.align 4
- .globl pthread_spin_lock
- .ent pthread_spin_lock
-pthread_spin_lock:
+ .globl __pthread_spin_lock
+ .ent __pthread_spin_lock
+__pthread_spin_lock:
.frame $sp, 0, $26, 0
.prologue 0
@@ -41,4 +42,9 @@ pthread_spin_lock:
unop
br 0b
- .end pthread_spin_lock
+ .end __pthread_spin_lock
+versioned_symbol (libc, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_34)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_2)
+#endif
diff --git a/sysdeps/i386/nptl/pthread_spin_lock.S b/sysdeps/i386/nptl/pthread_spin_lock.S
index 985b236aae..cd10fb4d93 100644
--- a/sysdeps/i386/nptl/pthread_spin_lock.S
+++ b/sysdeps/i386/nptl/pthread_spin_lock.S
@@ -16,8 +16,9 @@
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <shlib-compat.h>
-ENTRY (pthread_spin_lock)
+ENTRY (__pthread_spin_lock)
mov 4(%esp), %eax
1: LOCK
decl 0(%eax)
@@ -31,4 +32,9 @@ ENTRY (pthread_spin_lock)
cmpl $0, 0(%eax)
jg 1b
jmp 2b
-END (pthread_spin_lock)
+END (__pthread_spin_lock)
+versioned_symbol (libc, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_34)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_2)
+#endif
diff --git a/sysdeps/ia64/nptl/pthread_spin_lock.c b/sysdeps/ia64/nptl/pthread_spin_lock.c
index 87eebc7fe9..b80102187c 100644
--- a/sysdeps/ia64/nptl/pthread_spin_lock.c
+++ b/sysdeps/ia64/nptl/pthread_spin_lock.c
@@ -17,9 +17,10 @@
<https://www.gnu.org/licenses/>. */
#include "pthreadP.h"
+#include <shlib-compat.h>
int
-pthread_spin_lock (pthread_spinlock_t *lock)
+__pthread_spin_lock (pthread_spinlock_t *lock)
{
int *p = (int *) lock;
@@ -32,3 +33,10 @@ pthread_spin_lock (pthread_spinlock_t *lock)
}
return 0;
}
+versioned_symbol (libc, __pthread_spin_lock, pthread_spin_lock,
+ GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_lock, pthread_spin_lock,
+ GLIBC_2_2);
+#endif
diff --git a/sysdeps/powerpc/nptl/pthread_spin_lock.c b/sysdeps/powerpc/nptl/pthread_spin_lock.c
index 28bb538d46..a17dd41c10 100644
--- a/sysdeps/powerpc/nptl/pthread_spin_lock.c
+++ b/sysdeps/powerpc/nptl/pthread_spin_lock.c
@@ -17,9 +17,10 @@
<https://www.gnu.org/licenses/>. */
#include "pthreadP.h"
+#include <shlib-compat.h>
int
-pthread_spin_lock (pthread_spinlock_t *lock)
+__pthread_spin_lock (pthread_spinlock_t *lock)
{
unsigned int __tmp;
@@ -41,3 +42,8 @@ pthread_spin_lock (pthread_spinlock_t *lock)
: "cr0", "memory");
return 0;
}
+versioned_symbol (libc, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_2);
+#endif
diff --git a/sysdeps/sh/nptl/pthread_spin_lock.c b/sysdeps/sh/nptl/pthread_spin_lock.c
index 5689f491c1..be6aa65d25 100644
--- a/sysdeps/sh/nptl/pthread_spin_lock.c
+++ b/sysdeps/sh/nptl/pthread_spin_lock.c
@@ -16,9 +16,10 @@
<https://www.gnu.org/licenses/>. */
#include "pthreadP.h"
+#include <shlib-compat.h>
int
-pthread_spin_lock (pthread_spinlock_t *lock)
+__pthread_spin_lock (pthread_spinlock_t *lock)
{
unsigned int val;
@@ -31,3 +32,8 @@ pthread_spin_lock (pthread_spinlock_t *lock)
return 0;
}
+versioned_symbol (libc, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_2);
+#endif
diff --git a/sysdeps/sparc/sparc32/pthread_spin_lock.S b/sysdeps/sparc/sparc32/pthread_spin_lock.S
index e14f5ce864..1c5894137c 100644
--- a/sysdeps/sparc/sparc32/pthread_spin_lock.S
+++ b/sysdeps/sparc/sparc32/pthread_spin_lock.S
@@ -16,9 +16,10 @@
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <shlib-compat.h>
.text
-ENTRY(pthread_spin_lock)
+ENTRY(__pthread_spin_lock)
1: ldstub [%o0], %g1
orcc %g1, 0x0, %g0
bne,a 2f
@@ -29,4 +30,9 @@ ENTRY(pthread_spin_lock)
bne,a 2b
ldub [%o0], %g1
ba,a 1b
-END(pthread_spin_lock)
+END(__pthread_spin_lock)
+versioned_symbol (libc, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_34)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_2)
+#endif
diff --git a/sysdeps/sparc/sparc64/pthread_spin_lock.S b/sysdeps/sparc/sparc64/pthread_spin_lock.S
index b8a2fc9fa7..d65bdc58fb 100644
--- a/sysdeps/sparc/sparc64/pthread_spin_lock.S
+++ b/sysdeps/sparc/sparc64/pthread_spin_lock.S
@@ -16,9 +16,10 @@
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <shlib-compat.h>
.text
-ENTRY(pthread_spin_lock)
+ENTRY(__pthread_spin_lock)
1: ldstub [%o0], %g1
brnz,pn %g1, 2f
membar #StoreLoad | #StoreStore
@@ -28,4 +29,9 @@ ENTRY(pthread_spin_lock)
brnz,pt %g1, 2b
membar #LoadLoad
ba,a,pt %xcc, 1b
-END(pthread_spin_lock)
+END(__pthread_spin_lock)
+versioned_symbol (libc, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_34)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_2)
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index c23942fe12..749272ebcf 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1511,6 +1511,7 @@ GLIBC_2.17 pthread_setspecific F
GLIBC_2.17 pthread_sigmask F
GLIBC_2.17 pthread_spin_destroy F
GLIBC_2.17 pthread_spin_init F
+GLIBC_2.17 pthread_spin_lock F
GLIBC_2.17 pthread_spin_unlock F
GLIBC_2.17 ptrace F
GLIBC_2.17 ptsname F
@@ -2282,4 +2283,5 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index bdda4d844d..1232524c3b 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -55,7 +55,6 @@ GLIBC_2.17 pthread_setconcurrency F
GLIBC_2.17 pthread_setname_np F
GLIBC_2.17 pthread_setschedprio F
GLIBC_2.17 pthread_sigqueue F
-GLIBC_2.17 pthread_spin_lock F
GLIBC_2.17 pthread_spin_trylock F
GLIBC_2.17 pthread_testcancel F
GLIBC_2.17 pthread_timedjoin_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index f2a1d60fae..5f179867f1 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1985,6 +1985,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
GLIBC_2.2 pthread_mutexattr_setpshared F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
@@ -2363,6 +2364,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 53fb61f472..64e08a4036 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -67,7 +67,6 @@ GLIBC_2.2 pthread_barrierattr_setpshared F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_rwlock_timedrdlock F
GLIBC_2.2 pthread_rwlock_timedwrlock F
-GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 883cd6a368..fe7619af82 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1439,6 +1439,7 @@ GLIBC_2.32 pthread_setspecific F
GLIBC_2.32 pthread_sigmask F
GLIBC_2.32 pthread_spin_destroy F
GLIBC_2.32 pthread_spin_init F
+GLIBC_2.32 pthread_spin_lock F
GLIBC_2.32 pthread_spin_unlock F
GLIBC_2.32 ptrace F
GLIBC_2.32 ptsname F
@@ -2041,4 +2042,5 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index ce7d50bf0b..540e578d98 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -73,7 +73,6 @@ GLIBC_2.32 pthread_setconcurrency F
GLIBC_2.32 pthread_setname_np F
GLIBC_2.32 pthread_setschedprio F
GLIBC_2.32 pthread_sigqueue F
-GLIBC_2.32 pthread_spin_lock F
GLIBC_2.32 pthread_spin_trylock F
GLIBC_2.32 pthread_testcancel F
GLIBC_2.32 pthread_timedjoin_np F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index e71ba4d7a2..31822a45e2 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -208,6 +208,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
@@ -1653,6 +1654,7 @@ GLIBC_2.4 pthread_setspecific F
GLIBC_2.4 pthread_sigmask F
GLIBC_2.4 pthread_spin_destroy F
GLIBC_2.4 pthread_spin_init F
+GLIBC_2.4 pthread_spin_lock F
GLIBC_2.4 pthread_spin_unlock F
GLIBC_2.4 ptrace F
GLIBC_2.4 ptsname F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 9442a09596..63b144ec3c 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -83,7 +83,6 @@ GLIBC_2.4 pthread_rwlockattr_setpshared F
GLIBC_2.4 pthread_setaffinity_np F
GLIBC_2.4 pthread_setconcurrency F
GLIBC_2.4 pthread_setschedprio F
-GLIBC_2.4 pthread_spin_lock F
GLIBC_2.4 pthread_spin_trylock F
GLIBC_2.4 pthread_testcancel F
GLIBC_2.4 pthread_timedjoin_np F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 7d9c6db3bf..163d37c8b0 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -205,6 +205,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
@@ -1650,6 +1651,7 @@ GLIBC_2.4 pthread_setspecific F
GLIBC_2.4 pthread_sigmask F
GLIBC_2.4 pthread_spin_destroy F
GLIBC_2.4 pthread_spin_init F
+GLIBC_2.4 pthread_spin_lock F
GLIBC_2.4 pthread_spin_unlock F
GLIBC_2.4 ptrace F
GLIBC_2.4 ptsname F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 9442a09596..63b144ec3c 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -83,7 +83,6 @@ GLIBC_2.4 pthread_rwlockattr_setpshared F
GLIBC_2.4 pthread_setaffinity_np F
GLIBC_2.4 pthread_setconcurrency F
GLIBC_2.4 pthread_setschedprio F
-GLIBC_2.4 pthread_spin_lock F
GLIBC_2.4 pthread_spin_trylock F
GLIBC_2.4 pthread_testcancel F
GLIBC_2.4 pthread_timedjoin_np F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index f72ab8edcb..9b10ca5e43 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1498,6 +1498,7 @@ GLIBC_2.29 pthread_setspecific F
GLIBC_2.29 pthread_sigmask F
GLIBC_2.29 pthread_spin_destroy F
GLIBC_2.29 pthread_spin_init F
+GLIBC_2.29 pthread_spin_lock F
GLIBC_2.29 pthread_spin_unlock F
GLIBC_2.29 ptrace F
GLIBC_2.29 ptsname F
@@ -2225,4 +2226,5 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index f892592c14..9b769483db 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -70,7 +70,6 @@ GLIBC_2.29 pthread_setconcurrency F
GLIBC_2.29 pthread_setname_np F
GLIBC_2.29 pthread_setschedprio F
GLIBC_2.29 pthread_sigqueue F
-GLIBC_2.29 pthread_spin_lock F
GLIBC_2.29 pthread_spin_trylock F
GLIBC_2.29 pthread_testcancel F
GLIBC_2.29 pthread_timedjoin_np F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 4ba461a01d..5a5cb838cd 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1322,6 +1322,7 @@ GLIBC_2.2 pthread_setspecific F
GLIBC_2.2 pthread_sigmask F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
@@ -2176,6 +2177,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 01c743d61b..267e924c32 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -49,7 +49,6 @@ GLIBC_2.2 pthread_rwlockattr_init F
GLIBC_2.2 pthread_rwlockattr_setkind_np F
GLIBC_2.2 pthread_rwlockattr_setpshared F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_trylock F
GLIBC_2.2 pthread_testcancel F
GLIBC_2.2 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 3ce713173a..eef29a7001 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1994,6 +1994,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
GLIBC_2.2 pthread_mutexattr_setpshared F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
@@ -2353,6 +2354,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index c10cfed30b..128e39d55d 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -67,7 +67,6 @@ GLIBC_2.2 pthread_barrierattr_setpshared F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_rwlock_timedrdlock F
GLIBC_2.2 pthread_rwlock_timedwrlock F
-GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index dbebfaeb2e..fed954cb3d 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1343,6 +1343,7 @@ GLIBC_2.2 pthread_setspecific F
GLIBC_2.2 pthread_sigmask F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
@@ -2210,6 +2211,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 89ef8df42b..b3156315dd 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -49,7 +49,6 @@ GLIBC_2.2 pthread_rwlockattr_init F
GLIBC_2.2 pthread_rwlockattr_setkind_np F
GLIBC_2.2 pthread_rwlockattr_setpshared F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_trylock F
GLIBC_2.2 pthread_testcancel F
GLIBC_2.2 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 9e132006ef..d7ef911c01 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -209,6 +209,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0x98
@@ -1633,6 +1634,7 @@ GLIBC_2.4 pthread_setspecific F
GLIBC_2.4 pthread_sigmask F
GLIBC_2.4 pthread_spin_destroy F
GLIBC_2.4 pthread_spin_init F
+GLIBC_2.4 pthread_spin_lock F
GLIBC_2.4 pthread_spin_unlock F
GLIBC_2.4 ptrace F
GLIBC_2.4 ptsname F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 9442a09596..63b144ec3c 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -83,7 +83,6 @@ GLIBC_2.4 pthread_rwlockattr_setpshared F
GLIBC_2.4 pthread_setaffinity_np F
GLIBC_2.4 pthread_setconcurrency F
GLIBC_2.4 pthread_setschedprio F
-GLIBC_2.4 pthread_spin_lock F
GLIBC_2.4 pthread_spin_trylock F
GLIBC_2.4 pthread_testcancel F
GLIBC_2.4 pthread_timedjoin_np F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 25369b5df5..d4cfedec03 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1950,6 +1950,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
GLIBC_2.2 pthread_mutexattr_setpshared F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
@@ -2296,6 +2297,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index c10cfed30b..128e39d55d 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -67,7 +67,6 @@ GLIBC_2.2 pthread_barrierattr_setpshared F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_rwlock_timedrdlock F
GLIBC_2.2 pthread_rwlock_timedwrlock F
-GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 19ca6acd5d..2bbf146714 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1513,6 +1513,7 @@ GLIBC_2.18 pthread_setspecific F
GLIBC_2.18 pthread_sigmask F
GLIBC_2.18 pthread_spin_destroy F
GLIBC_2.18 pthread_spin_init F
+GLIBC_2.18 pthread_spin_lock F
GLIBC_2.18 pthread_spin_unlock F
GLIBC_2.18 ptrace F
GLIBC_2.18 ptsname F
@@ -2276,4 +2277,5 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index e6c2711c7e..53fe092fdc 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -57,7 +57,6 @@ GLIBC_2.18 pthread_setconcurrency F
GLIBC_2.18 pthread_setname_np F
GLIBC_2.18 pthread_setschedprio F
GLIBC_2.18 pthread_sigqueue F
-GLIBC_2.18 pthread_spin_lock F
GLIBC_2.18 pthread_spin_trylock F
GLIBC_2.18 pthread_testcancel F
GLIBC_2.18 pthread_timedjoin_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index eb89001725..9af47ff763 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1513,6 +1513,7 @@ GLIBC_2.18 pthread_setspecific F
GLIBC_2.18 pthread_sigmask F
GLIBC_2.18 pthread_spin_destroy F
GLIBC_2.18 pthread_spin_init F
+GLIBC_2.18 pthread_spin_lock F
GLIBC_2.18 pthread_spin_unlock F
GLIBC_2.18 ptrace F
GLIBC_2.18 ptsname F
@@ -2273,4 +2274,5 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index e6c2711c7e..53fe092fdc 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -57,7 +57,6 @@ GLIBC_2.18 pthread_setconcurrency F
GLIBC_2.18 pthread_setname_np F
GLIBC_2.18 pthread_setschedprio F
GLIBC_2.18 pthread_sigqueue F
-GLIBC_2.18 pthread_spin_lock F
GLIBC_2.18 pthread_spin_trylock F
GLIBC_2.18 pthread_testcancel F
GLIBC_2.18 pthread_timedjoin_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index c1bc72ffe2..d952b85abe 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1846,6 +1846,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
GLIBC_2.2 pthread_rwlock_wrlock F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
@@ -2259,6 +2260,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 0e19334657..80021ec57f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -57,7 +57,6 @@ GLIBC_2.2 pthread_rwlockattr_init F
GLIBC_2.2 pthread_rwlockattr_setkind_np F
GLIBC_2.2 pthread_rwlockattr_setpshared F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 9a54b4850d..4d7539ad9b 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1844,6 +1844,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
GLIBC_2.2 pthread_rwlock_wrlock F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
@@ -2257,6 +2258,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 0e19334657..80021ec57f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -57,7 +57,6 @@ GLIBC_2.2 pthread_rwlockattr_init F
GLIBC_2.2 pthread_rwlockattr_setkind_np F
GLIBC_2.2 pthread_rwlockattr_setpshared F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 2d56f33c8a..c2226125a0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1844,6 +1844,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
GLIBC_2.2 pthread_rwlock_wrlock F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
@@ -2265,6 +2266,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index dbc12f7984..228c1e7b3d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1840,6 +1840,7 @@ GLIBC_2.2 pthread_rwlock_unlock F
GLIBC_2.2 pthread_rwlock_wrlock F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
@@ -2259,6 +2260,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 04d1c518e6..75b9de3916 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1556,6 +1556,7 @@ GLIBC_2.21 pthread_setspecific F
GLIBC_2.21 pthread_sigmask F
GLIBC_2.21 pthread_spin_destroy F
GLIBC_2.21 pthread_spin_init F
+GLIBC_2.21 pthread_spin_lock F
GLIBC_2.21 pthread_spin_unlock F
GLIBC_2.21 ptrace F
GLIBC_2.21 ptsname F
@@ -2315,4 +2316,5 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 6b5d106264..60939ea49e 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -57,7 +57,6 @@ GLIBC_2.21 pthread_setconcurrency F
GLIBC_2.21 pthread_setname_np F
GLIBC_2.21 pthread_setschedprio F
GLIBC_2.21 pthread_sigqueue F
-GLIBC_2.21 pthread_spin_lock F
GLIBC_2.21 pthread_spin_trylock F
GLIBC_2.21 pthread_testcancel F
GLIBC_2.21 pthread_timedjoin_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 34b30b3e51..094a426908 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1955,6 +1955,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
GLIBC_2.2 pthread_mutexattr_setpshared F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
@@ -2323,6 +2324,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 12f3c77bd7..41c1dae141 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -67,7 +67,6 @@ GLIBC_2.2 pthread_barrierattr_setpshared F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_rwlock_timedrdlock F
GLIBC_2.2 pthread_rwlock_timedwrlock F
-GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index a2c6486b07..8ac7a563e9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1959,6 +1959,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
GLIBC_2.2 pthread_mutexattr_setpshared F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
@@ -2356,6 +2357,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 3c0f698390..9538fd6f80 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1428,6 +1428,7 @@ GLIBC_2.3 pthread_setspecific F
GLIBC_2.3 pthread_sigmask F
GLIBC_2.3 pthread_spin_destroy F
GLIBC_2.3 pthread_spin_init F
+GLIBC_2.3 pthread_spin_lock F
GLIBC_2.3 pthread_spin_unlock F
GLIBC_2.3 ptrace F
GLIBC_2.3 ptsname F
@@ -2177,6 +2178,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index fb7abc4507..5c53722e5f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -70,7 +70,6 @@ GLIBC_2.3 pthread_rwlockattr_init F
GLIBC_2.3 pthread_rwlockattr_setkind_np F
GLIBC_2.3 pthread_rwlockattr_setpshared F
GLIBC_2.3 pthread_setconcurrency F
-GLIBC_2.3 pthread_spin_lock F
GLIBC_2.3 pthread_spin_trylock F
GLIBC_2.3 pthread_testcancel F
GLIBC_2.3 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index ef0ba70cc2..896656ef11 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1599,6 +1599,7 @@ GLIBC_2.17 pthread_setspecific F
GLIBC_2.17 pthread_sigmask F
GLIBC_2.17 pthread_spin_destroy F
GLIBC_2.17 pthread_spin_init F
+GLIBC_2.17 pthread_spin_lock F
GLIBC_2.17 pthread_spin_unlock F
GLIBC_2.17 ptrace F
GLIBC_2.17 ptsname F
@@ -2478,4 +2479,5 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_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 bdda4d844d..1232524c3b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -55,7 +55,6 @@ GLIBC_2.17 pthread_setconcurrency F
GLIBC_2.17 pthread_setname_np F
GLIBC_2.17 pthread_setschedprio F
GLIBC_2.17 pthread_sigqueue F
-GLIBC_2.17 pthread_spin_lock F
GLIBC_2.17 pthread_spin_trylock F
GLIBC_2.17 pthread_testcancel F
GLIBC_2.17 pthread_timedjoin_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 57142bf0dd..d70ffb2ec9 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1441,6 +1441,7 @@ GLIBC_2.33 pthread_setspecific F
GLIBC_2.33 pthread_sigmask F
GLIBC_2.33 pthread_spin_destroy F
GLIBC_2.33 pthread_spin_init F
+GLIBC_2.33 pthread_spin_lock F
GLIBC_2.33 pthread_spin_unlock F
GLIBC_2.33 ptrace F
GLIBC_2.33 ptsname F
@@ -2043,4 +2044,5 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 9cb663989f..c35eef1865 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -73,7 +73,6 @@ GLIBC_2.33 pthread_setconcurrency F
GLIBC_2.33 pthread_setname_np F
GLIBC_2.33 pthread_setschedprio F
GLIBC_2.33 pthread_sigqueue F
-GLIBC_2.33 pthread_spin_lock F
GLIBC_2.33 pthread_spin_trylock F
GLIBC_2.33 pthread_testcancel F
GLIBC_2.33 pthread_timedjoin_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 57773cbfac..80bbb7dbd8 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1501,6 +1501,7 @@ GLIBC_2.27 pthread_setspecific F
GLIBC_2.27 pthread_sigmask F
GLIBC_2.27 pthread_spin_destroy F
GLIBC_2.27 pthread_spin_init F
+GLIBC_2.27 pthread_spin_lock F
GLIBC_2.27 pthread_spin_unlock F
GLIBC_2.27 ptrace F
GLIBC_2.27 ptsname F
@@ -2243,4 +2244,5 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 4b667c0a90..d00521af44 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -57,7 +57,6 @@ GLIBC_2.27 pthread_setconcurrency F
GLIBC_2.27 pthread_setname_np F
GLIBC_2.27 pthread_setschedprio F
GLIBC_2.27 pthread_sigqueue F
-GLIBC_2.27 pthread_spin_lock F
GLIBC_2.27 pthread_spin_trylock F
GLIBC_2.27 pthread_testcancel F
GLIBC_2.27 pthread_timedjoin_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index f7c88b48f6..56856b8e47 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1953,6 +1953,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
GLIBC_2.2 pthread_mutexattr_setpshared F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
@@ -2321,6 +2322,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 63c4ffb57e..445ddba54a 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -68,7 +68,6 @@ GLIBC_2.2 pthread_barrierattr_setpshared F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_rwlock_timedrdlock F
GLIBC_2.2 pthread_rwlock_timedwrlock F
-GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 76279cd368..a7523b3f6c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1340,6 +1340,7 @@ GLIBC_2.2 pthread_setspecific F
GLIBC_2.2 pthread_sigmask F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
@@ -2214,6 +2215,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index eabc387fdd..5e5b60f948 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -50,7 +50,6 @@ GLIBC_2.2 pthread_rwlockattr_init F
GLIBC_2.2 pthread_rwlockattr_setkind_np F
GLIBC_2.2 pthread_rwlockattr_setpshared F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_trylock F
GLIBC_2.2 pthread_testcancel F
GLIBC_2.2 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 03a06c6731..1029edaff8 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1326,6 +1326,7 @@ GLIBC_2.2 pthread_setspecific F
GLIBC_2.2 pthread_sigmask F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
@@ -2183,6 +2184,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 01c743d61b..267e924c32 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -49,7 +49,6 @@ GLIBC_2.2 pthread_rwlockattr_init F
GLIBC_2.2 pthread_rwlockattr_setkind_np F
GLIBC_2.2 pthread_rwlockattr_setpshared F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_trylock F
GLIBC_2.2 pthread_testcancel F
GLIBC_2.2 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 9786d78bf1..5ab6b86544 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1326,6 +1326,7 @@ GLIBC_2.2 pthread_setspecific F
GLIBC_2.2 pthread_sigmask F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
@@ -2180,6 +2181,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 01c743d61b..267e924c32 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -49,7 +49,6 @@ GLIBC_2.2 pthread_rwlockattr_init F
GLIBC_2.2 pthread_rwlockattr_setkind_np F
GLIBC_2.2 pthread_rwlockattr_setpshared F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_trylock F
GLIBC_2.2 pthread_testcancel F
GLIBC_2.2 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index aeea59222f..6cb35ba34e 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1949,6 +1949,7 @@ GLIBC_2.2 pthread_mutexattr_getpshared F
GLIBC_2.2 pthread_mutexattr_setpshared F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
@@ -2312,6 +2313,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 53fb61f472..64e08a4036 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -67,7 +67,6 @@ GLIBC_2.2 pthread_barrierattr_setpshared F
GLIBC_2.2 pthread_getcpuclockid F
GLIBC_2.2 pthread_rwlock_timedrdlock F
GLIBC_2.2 pthread_rwlock_timedwrlock F
-GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_timedwait F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index e2bb4c9eac..09a993fad7 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1369,6 +1369,7 @@ GLIBC_2.2 pthread_setspecific F
GLIBC_2.2 pthread_sigmask F
GLIBC_2.2 pthread_spin_destroy F
GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
@@ -2231,6 +2232,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 89ef8df42b..b3156315dd 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -49,7 +49,6 @@ GLIBC_2.2 pthread_rwlockattr_init F
GLIBC_2.2 pthread_rwlockattr_setkind_np F
GLIBC_2.2 pthread_rwlockattr_setpshared F
GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 pthread_spin_lock F
GLIBC_2.2 pthread_spin_trylock F
GLIBC_2.2 pthread_testcancel F
GLIBC_2.2 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index e8e8108b75..8fc8fbbec0 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1337,6 +1337,7 @@ GLIBC_2.2.5 pthread_setspecific F
GLIBC_2.2.5 pthread_sigmask F
GLIBC_2.2.5 pthread_spin_destroy F
GLIBC_2.2.5 pthread_spin_init F
+GLIBC_2.2.5 pthread_spin_lock F
GLIBC_2.2.5 pthread_spin_unlock F
GLIBC_2.2.5 ptrace F
GLIBC_2.2.5 ptsname F
@@ -2192,6 +2193,7 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index d8450c27f6..3d9438336d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -49,7 +49,6 @@ GLIBC_2.2.5 pthread_rwlockattr_init F
GLIBC_2.2.5 pthread_rwlockattr_setkind_np F
GLIBC_2.2.5 pthread_rwlockattr_setpshared F
GLIBC_2.2.5 pthread_setconcurrency F
-GLIBC_2.2.5 pthread_spin_lock F
GLIBC_2.2.5 pthread_spin_trylock F
GLIBC_2.2.5 pthread_testcancel F
GLIBC_2.2.5 pthread_yield F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index b25f343c52..2283b60695 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1518,6 +1518,7 @@ GLIBC_2.16 pthread_setspecific F
GLIBC_2.16 pthread_sigmask F
GLIBC_2.16 pthread_spin_destroy F
GLIBC_2.16 pthread_spin_init F
+GLIBC_2.16 pthread_spin_lock F
GLIBC_2.16 pthread_spin_unlock F
GLIBC_2.16 ptrace F
GLIBC_2.16 ptsname F
@@ -2297,4 +2298,5 @@ GLIBC_2.34 pthread_rwlock_wrlock F
GLIBC_2.34 pthread_setspecific F
GLIBC_2.34 pthread_spin_destroy F
GLIBC_2.34 pthread_spin_init F
+GLIBC_2.34 pthread_spin_lock F
GLIBC_2.34 pthread_spin_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 7387d79044..d956442154 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -55,7 +55,6 @@ GLIBC_2.16 pthread_setconcurrency F
GLIBC_2.16 pthread_setname_np F
GLIBC_2.16 pthread_setschedprio F
GLIBC_2.16 pthread_sigqueue F
-GLIBC_2.16 pthread_spin_lock F
GLIBC_2.16 pthread_spin_trylock F
GLIBC_2.16 pthread_testcancel F
GLIBC_2.16 pthread_timedjoin_np F
diff --git a/sysdeps/x86_64/nptl/pthread_spin_lock.S b/sysdeps/x86_64/nptl/pthread_spin_lock.S
index ff5e7525ca..bfc1b21aeb 100644
--- a/sysdeps/x86_64/nptl/pthread_spin_lock.S
+++ b/sysdeps/x86_64/nptl/pthread_spin_lock.S
@@ -16,8 +16,9 @@
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <shlib-compat.h>
-ENTRY(pthread_spin_lock)
+ENTRY(__pthread_spin_lock)
1: LOCK
decl 0(%rdi)
jne 2f
@@ -30,4 +31,9 @@ ENTRY(pthread_spin_lock)
cmpl $0, 0(%rdi)
jg 1b
jmp 2b
-END(pthread_spin_lock)
+END(__pthread_spin_lock)
+versioned_symbol (libc, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_34)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_lock, pthread_spin_lock, GLIBC_2_2)
+#endif