aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-04-23 10:23:24 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-04-23 17:06:48 +0200
commit4baf02b33235b7cdcb252bafebc132c66020eedd (patch)
tree7ef1a1e8205d89a0224743f19c15443ce793aead
parentda8e3710d8791f4b7f164ba9eb45b823ada44634 (diff)
downloadglibc-4baf02b33235b7cdcb252bafebc132c66020eedd.zip
glibc-4baf02b33235b7cdcb252bafebc132c66020eedd.tar.gz
glibc-4baf02b33235b7cdcb252bafebc132c66020eedd.tar.bz2
nptl: Move pthread_spin_trylock into libc
The symbol was moved using scripts/move-symbol-to-libc.py.
-rw-r--r--nptl/Makefile2
-rw-r--r--nptl/Versions3
-rw-r--r--nptl/pthread_spin_trylock.c10
-rw-r--r--sysdeps/alpha/nptl/pthread_spin_trylock.S16
-rw-r--r--sysdeps/i386/pthread_spin_trylock.S13
-rw-r--r--sysdeps/ia64/nptl/pthread_spin_trylock.c10
-rw-r--r--sysdeps/powerpc/nptl/pthread_spin_trylock.c10
-rw-r--r--sysdeps/sh/nptl/pthread_spin_trylock.S16
-rw-r--r--sysdeps/sparc/sparc32/pthread_spin_trylock.S12
-rw-r--r--sysdeps/sparc/sparc64/pthread_spin_trylock.S12
-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_trylock.S13
72 files changed, 158 insertions, 52 deletions
diff --git a/nptl/Makefile b/nptl/Makefile
index 011f53e..a736ad7 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -132,6 +132,7 @@ routines = \
pthread_spin_destroy \
pthread_spin_init \
pthread_spin_lock \
+ pthread_spin_trylock \
pthread_spin_unlock \
tpp \
unwind \
@@ -198,7 +199,6 @@ libpthread-routines = \
pthread_setname \
pthread_setschedprio \
pthread_sigqueue \
- pthread_spin_trylock \
pthread_testcancel \
pthread_timedjoin \
pthread_tryjoin \
diff --git a/nptl/Versions b/nptl/Versions
index 242c3a3..760c066 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -82,6 +82,7 @@ libc {
pthread_spin_destroy;
pthread_spin_init;
pthread_spin_lock;
+ pthread_spin_trylock;
pthread_spin_unlock;
}
GLIBC_2.2.3 {
@@ -186,6 +187,7 @@ libc {
pthread_spin_destroy;
pthread_spin_init;
pthread_spin_lock;
+ pthread_spin_trylock;
pthread_spin_unlock;
}
GLIBC_PRIVATE {
@@ -318,7 +320,6 @@ libpthread {
pthread_getcpuclockid;
pthread_rwlock_timedrdlock;
pthread_rwlock_timedwrlock;
- pthread_spin_trylock;
pthread_yield;
sem_timedwait;
}
diff --git a/nptl/pthread_spin_trylock.c b/nptl/pthread_spin_trylock.c
index 470734a..498c188 100644
--- a/nptl/pthread_spin_trylock.c
+++ b/nptl/pthread_spin_trylock.c
@@ -19,9 +19,10 @@
#include <errno.h>
#include <atomic.h>
#include "pthreadP.h"
+#include <shlib-compat.h>
int
-pthread_spin_trylock (pthread_spinlock_t *lock)
+__pthread_spin_trylock (pthread_spinlock_t *lock)
{
/* For the spin try lock, we have the following possibilities:
@@ -77,3 +78,10 @@ pthread_spin_trylock (pthread_spinlock_t *lock)
return EBUSY;
}
+versioned_symbol (libc, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_2);
+#endif
diff --git a/sysdeps/alpha/nptl/pthread_spin_trylock.S b/sysdeps/alpha/nptl/pthread_spin_trylock.S
index ea4a55f..31ba507 100644
--- a/sysdeps/alpha/nptl/pthread_spin_trylock.S
+++ b/sysdeps/alpha/nptl/pthread_spin_trylock.S
@@ -16,6 +16,7 @@
License along with the GNU C Library. If not, see
<https://www.gnu.org/licenses/>. */
+#include <shlib-compat.h>
#define _ERRNO_H 1
#include <bits/errno.h>
@@ -23,9 +24,9 @@
.text
.align 4
- .globl pthread_spin_trylock
- .ent pthread_spin_trylock
-pthread_spin_trylock:
+ .globl __pthread_spin_trylock
+ .ent __pthread_spin_trylock
+__pthread_spin_trylock:
.frame $sp, 0, $26, 0
.prologue 0
@@ -42,4 +43,11 @@ pthread_spin_trylock:
1: ret
2: br 0b
- .end pthread_spin_trylock
+ .end __pthread_spin_trylock
+versioned_symbol (libc, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_34)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_2)
+#endif
diff --git a/sysdeps/i386/pthread_spin_trylock.S b/sysdeps/i386/pthread_spin_trylock.S
index e90d728..9be0cb7 100644
--- a/sysdeps/i386/pthread_spin_trylock.S
+++ b/sysdeps/i386/pthread_spin_trylock.S
@@ -18,9 +18,9 @@
#include <sysdep.h>
#include <errno.h>
+#include <shlib-compat.h>
-
-ENTRY (pthread_spin_trylock)
+ENTRY (__pthread_spin_trylock)
movl 4(%esp), %edx
movl $1, %eax
xorl %ecx, %ecx
@@ -35,4 +35,11 @@ ENTRY (pthread_spin_trylock)
0:
#endif
ret
-END (pthread_spin_trylock)
+END (__pthread_spin_trylock)
+versioned_symbol (libc, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_34)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_2)
+#endif
diff --git a/sysdeps/ia64/nptl/pthread_spin_trylock.c b/sysdeps/ia64/nptl/pthread_spin_trylock.c
index c0dd8da..323af6b 100644
--- a/sysdeps/ia64/nptl/pthread_spin_trylock.c
+++ b/sysdeps/ia64/nptl/pthread_spin_trylock.c
@@ -18,9 +18,17 @@
#include <errno.h>
#include "pthreadP.h"
+#include <shlib-compat.h>
int
-pthread_spin_trylock (pthread_spinlock_t *lock)
+__pthread_spin_trylock (pthread_spinlock_t *lock)
{
return __sync_val_compare_and_swap ((int *) lock, 0, 1) == 0 ? 0 : EBUSY;
}
+versioned_symbol (libc, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_2);
+#endif
diff --git a/sysdeps/powerpc/nptl/pthread_spin_trylock.c b/sysdeps/powerpc/nptl/pthread_spin_trylock.c
index 34faec1..a9021b2 100644
--- a/sysdeps/powerpc/nptl/pthread_spin_trylock.c
+++ b/sysdeps/powerpc/nptl/pthread_spin_trylock.c
@@ -18,9 +18,10 @@
#include <errno.h>
#include "pthreadP.h"
+#include <shlib-compat.h>
int
-pthread_spin_trylock (pthread_spinlock_t *lock)
+__pthread_spin_trylock (pthread_spinlock_t *lock)
{
unsigned int old;
int err = EBUSY;
@@ -39,3 +40,10 @@ pthread_spin_trylock (pthread_spinlock_t *lock)
return err;
}
+versioned_symbol (libc, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_2);
+#endif
diff --git a/sysdeps/sh/nptl/pthread_spin_trylock.S b/sysdeps/sh/nptl/pthread_spin_trylock.S
index 12c2c58..0200dc3 100644
--- a/sysdeps/sh/nptl/pthread_spin_trylock.S
+++ b/sysdeps/sh/nptl/pthread_spin_trylock.S
@@ -16,11 +16,12 @@
<https://www.gnu.org/licenses/>. */
#include <errno.h>
+#include <shlib-compat.h>
- .globl pthread_spin_trylock
- .type pthread_spin_trylock,@function
+ .globl __pthread_spin_trylock
+ .type __pthread_spin_trylock,@function
.align 5
-pthread_spin_trylock:
+__pthread_spin_trylock:
tas.b @r4
bf/s 1f
mov #EBUSY, r0
@@ -28,4 +29,11 @@ pthread_spin_trylock:
1:
rts
nop
- .size pthread_spin_trylock,.-pthread_spin_trylock
+ .size __pthread_spin_trylock,.-__pthread_spin_trylock
+versioned_symbol (libc, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_34)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_2)
+#endif
diff --git a/sysdeps/sparc/sparc32/pthread_spin_trylock.S b/sysdeps/sparc/sparc32/pthread_spin_trylock.S
index 8ed6ef0..5de33f1 100644
--- a/sysdeps/sparc/sparc32/pthread_spin_trylock.S
+++ b/sysdeps/sparc/sparc32/pthread_spin_trylock.S
@@ -17,13 +17,21 @@
#include <sysdep.h>
#include <errno.h>
+#include <shlib-compat.h>
.text
-ENTRY(pthread_spin_trylock)
+ENTRY(__pthread_spin_trylock)
ldstub [%o0], %o0
cmp %o0, 0
bne,a 1f
mov EBUSY, %o0
1: retl
nop
-END(pthread_spin_trylock)
+END(__pthread_spin_trylock)
+versioned_symbol (libc, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_34)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_2)
+#endif
diff --git a/sysdeps/sparc/sparc64/pthread_spin_trylock.S b/sysdeps/sparc/sparc64/pthread_spin_trylock.S
index 0c41550..c6ece81 100644
--- a/sysdeps/sparc/sparc64/pthread_spin_trylock.S
+++ b/sysdeps/sparc/sparc64/pthread_spin_trylock.S
@@ -17,11 +17,19 @@
#include <sysdep.h>
#include <errno.h>
+#include <shlib-compat.h>
.text
-ENTRY(pthread_spin_trylock)
+ENTRY(__pthread_spin_trylock)
ldstub [%o0], %o0
membar #StoreLoad | #StoreStore
retl
movrnz %o0, EBUSY, %o0
-END(pthread_spin_trylock)
+END(__pthread_spin_trylock)
+versioned_symbol (libc, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_34)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_2)
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 749272e..96f61e9 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1512,6 +1512,7 @@ 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_trylock F
GLIBC_2.17 pthread_spin_unlock F
GLIBC_2.17 ptrace F
GLIBC_2.17 ptsname F
@@ -2284,4 +2285,5 @@ 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_trylock 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 1232524..28f9ddf 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_trylock F
GLIBC_2.17 pthread_testcancel F
GLIBC_2.17 pthread_timedjoin_np F
GLIBC_2.17 pthread_tryjoin_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 5f17986..46e59e7 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1986,6 +1986,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
@@ -2365,6 +2366,7 @@ 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_trylock 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 64e08a4..2efe071 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_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index fe7619a..49687f0 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1440,6 +1440,7 @@ 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_trylock F
GLIBC_2.32 pthread_spin_unlock F
GLIBC_2.32 ptrace F
GLIBC_2.32 ptsname F
@@ -2043,4 +2044,5 @@ 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_trylock 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 540e578..07c8f54 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_trylock F
GLIBC_2.32 pthread_testcancel F
GLIBC_2.32 pthread_timedjoin_np F
GLIBC_2.32 pthread_tryjoin_np F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 31822a4..4d6abee 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -209,6 +209,7 @@ 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_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
@@ -1655,6 +1656,7 @@ 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_trylock 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 63b144e..81e140e 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_trylock F
GLIBC_2.4 pthread_testcancel F
GLIBC_2.4 pthread_timedjoin_np F
GLIBC_2.4 pthread_tryjoin_np F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 163d37c..91243f3 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -206,6 +206,7 @@ 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_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
@@ -1652,6 +1653,7 @@ 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_trylock 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 63b144e..81e140e 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_trylock F
GLIBC_2.4 pthread_testcancel F
GLIBC_2.4 pthread_timedjoin_np F
GLIBC_2.4 pthread_tryjoin_np F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 9b10ca5..c7cec5e 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1499,6 +1499,7 @@ 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_trylock F
GLIBC_2.29 pthread_spin_unlock F
GLIBC_2.29 ptrace F
GLIBC_2.29 ptsname F
@@ -2227,4 +2228,5 @@ 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_trylock 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 9b76948..10f70a7 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_trylock F
GLIBC_2.29 pthread_testcancel F
GLIBC_2.29 pthread_timedjoin_np F
GLIBC_2.29 pthread_tryjoin_np F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 5a5cb83..69d2d7f 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1323,6 +1323,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
@@ -2178,6 +2179,7 @@ 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_trylock 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 267e924..aa3588e 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_trylock F
GLIBC_2.2 pthread_testcancel F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index eef29a7..cd4e29c 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1995,6 +1995,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
@@ -2355,6 +2356,7 @@ 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_trylock 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 128e39d..4e0a5b2 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_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index fed954c..e64d081 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1344,6 +1344,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
@@ -2212,6 +2213,7 @@ 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_trylock 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 b315631..eddc764 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_trylock F
GLIBC_2.2 pthread_testcancel F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index d7ef911..19bb593 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -210,6 +210,7 @@ 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_trylock F
GLIBC_2.34 pthread_spin_unlock F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0x98
@@ -1635,6 +1636,7 @@ 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_trylock 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 63b144e..81e140e 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_trylock F
GLIBC_2.4 pthread_testcancel F
GLIBC_2.4 pthread_timedjoin_np F
GLIBC_2.4 pthread_tryjoin_np F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index d4cfede..a4cc4f8 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1951,6 +1951,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
@@ -2298,6 +2299,7 @@ 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_trylock 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 128e39d..4e0a5b2 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_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 2bbf146..e2f65f7 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1514,6 +1514,7 @@ 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_trylock F
GLIBC_2.18 pthread_spin_unlock F
GLIBC_2.18 ptrace F
GLIBC_2.18 ptsname F
@@ -2278,4 +2279,5 @@ 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_trylock 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 53fe092..9360932 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_trylock F
GLIBC_2.18 pthread_testcancel F
GLIBC_2.18 pthread_timedjoin_np F
GLIBC_2.18 pthread_tryjoin_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 9af47ff..417c311 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1514,6 +1514,7 @@ 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_trylock F
GLIBC_2.18 pthread_spin_unlock F
GLIBC_2.18 ptrace F
GLIBC_2.18 ptsname F
@@ -2275,4 +2276,5 @@ 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_trylock 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 53fe092..9360932 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_trylock F
GLIBC_2.18 pthread_testcancel F
GLIBC_2.18 pthread_timedjoin_np F
GLIBC_2.18 pthread_tryjoin_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 d952b85..00b3cf0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1847,6 +1847,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
@@ -2261,6 +2262,7 @@ 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_trylock 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 80021ec..3add8d0 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_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
GLIBC_2.2 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 4d7539a..8cbc935 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1845,6 +1845,7 @@ 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_trylock 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_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_trylock 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 80021ec..3add8d0 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_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
GLIBC_2.2 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index c222612..1d9f61c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1845,6 +1845,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
@@ -2267,6 +2268,7 @@ 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_trylock 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 228c1e7..c410132 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1841,6 +1841,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
@@ -2261,6 +2262,7 @@ 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_trylock 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 75b9de3..412a99f 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1557,6 +1557,7 @@ 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_trylock F
GLIBC_2.21 pthread_spin_unlock F
GLIBC_2.21 ptrace F
GLIBC_2.21 ptsname F
@@ -2317,4 +2318,5 @@ 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_trylock 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 60939ea..7f8293f 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_trylock F
GLIBC_2.21 pthread_testcancel F
GLIBC_2.21 pthread_timedjoin_np F
GLIBC_2.21 pthread_tryjoin_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 094a426..2b4bca9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1956,6 +1956,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
@@ -2325,6 +2326,7 @@ 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_trylock 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 41c1dae..13499d9 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_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 8ac7a56..3802eaa 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1960,6 +1960,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
@@ -2358,6 +2359,7 @@ 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_trylock 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 9538fd6..4383f4d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1429,6 +1429,7 @@ 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_trylock F
GLIBC_2.3 pthread_spin_unlock F
GLIBC_2.3 ptrace F
GLIBC_2.3 ptsname F
@@ -2179,6 +2180,7 @@ 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_trylock 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 5c53722..8524600 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_trylock F
GLIBC_2.3 pthread_testcancel F
GLIBC_2.3 pthread_yield F
GLIBC_2.3 sem_close F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 896656e..b272c02 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1600,6 +1600,7 @@ 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_trylock F
GLIBC_2.17 pthread_spin_unlock F
GLIBC_2.17 ptrace F
GLIBC_2.17 ptsname F
@@ -2480,4 +2481,5 @@ 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_trylock 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 1232524..28f9ddf 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_trylock F
GLIBC_2.17 pthread_testcancel F
GLIBC_2.17 pthread_timedjoin_np F
GLIBC_2.17 pthread_tryjoin_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index d70ffb2..27556ad 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1442,6 +1442,7 @@ 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_trylock F
GLIBC_2.33 pthread_spin_unlock F
GLIBC_2.33 ptrace F
GLIBC_2.33 ptsname F
@@ -2045,4 +2046,5 @@ 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_trylock 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 c35eef1..dac10a0 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_trylock F
GLIBC_2.33 pthread_testcancel F
GLIBC_2.33 pthread_timedjoin_np F
GLIBC_2.33 pthread_tryjoin_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 80bbb7d..d9b8afe 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1502,6 +1502,7 @@ 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_trylock F
GLIBC_2.27 pthread_spin_unlock F
GLIBC_2.27 ptrace F
GLIBC_2.27 ptsname F
@@ -2245,4 +2246,5 @@ 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_trylock 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 d00521a..ae35fd5 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_trylock F
GLIBC_2.27 pthread_testcancel F
GLIBC_2.27 pthread_timedjoin_np F
GLIBC_2.27 pthread_tryjoin_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 56856b8..551a180 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1954,6 +1954,7 @@ 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_trylock 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_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_trylock 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 445ddba..c73dad6 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_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index a7523b3..df4c296 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1341,6 +1341,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
@@ -2216,6 +2217,7 @@ 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_trylock 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 5e5b60f..11ff7ab 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_trylock F
GLIBC_2.2 pthread_testcancel F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 1029eda..94818d5 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1327,6 +1327,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
@@ -2185,6 +2186,7 @@ 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_trylock 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 267e924..aa3588e 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_trylock F
GLIBC_2.2 pthread_testcancel F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 5ab6b86..b2cc36b 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1327,6 +1327,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
@@ -2182,6 +2183,7 @@ 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_trylock 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 267e924..aa3588e 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_trylock F
GLIBC_2.2 pthread_testcancel F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 6cb35ba..fa32910 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1950,6 +1950,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
@@ -2314,6 +2315,7 @@ 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_trylock 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 64e08a4..2efe071 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_trylock F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 09a993f..d673ec9 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1370,6 +1370,7 @@ 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_trylock F
GLIBC_2.2 pthread_spin_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
@@ -2233,6 +2234,7 @@ 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_trylock 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 b315631..eddc764 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_trylock F
GLIBC_2.2 pthread_testcancel F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 8fc8fbb..0a1608d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1338,6 +1338,7 @@ 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_trylock F
GLIBC_2.2.5 pthread_spin_unlock F
GLIBC_2.2.5 ptrace F
GLIBC_2.2.5 ptsname F
@@ -2194,6 +2195,7 @@ 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_trylock 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 3d94383..4859da3 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_trylock F
GLIBC_2.2.5 pthread_testcancel F
GLIBC_2.2.5 pthread_yield F
GLIBC_2.2.5 sem_close F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 2283b60..f49596e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1519,6 +1519,7 @@ 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_trylock F
GLIBC_2.16 pthread_spin_unlock F
GLIBC_2.16 ptrace F
GLIBC_2.16 ptsname F
@@ -2299,4 +2300,5 @@ 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_trylock 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 d956442..a228acd 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_trylock F
GLIBC_2.16 pthread_testcancel F
GLIBC_2.16 pthread_timedjoin_np F
GLIBC_2.16 pthread_tryjoin_np F
diff --git a/sysdeps/x86_64/nptl/pthread_spin_trylock.S b/sysdeps/x86_64/nptl/pthread_spin_trylock.S
index 1a70b2d..f4829d6 100644
--- a/sysdeps/x86_64/nptl/pthread_spin_trylock.S
+++ b/sysdeps/x86_64/nptl/pthread_spin_trylock.S
@@ -18,9 +18,9 @@
#include <sysdep.h>
#include <errno.h>
+#include <shlib-compat.h>
-
-ENTRY(pthread_spin_trylock)
+ENTRY(__pthread_spin_trylock)
movl $1, %eax
xorl %ecx, %ecx
lock
@@ -28,4 +28,11 @@ ENTRY(pthread_spin_trylock)
movl $EBUSY, %eax
cmovel %ecx, %eax
retq
-END(pthread_spin_trylock)
+END(__pthread_spin_trylock)
+versioned_symbol (libc, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_34)
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_trylock, pthread_spin_trylock,
+ GLIBC_2_2)
+#endif