pthread_setspecific \
pthread_sigmask \
pthread_spin_destroy \
+ pthread_spin_init \
+ pthread_spin_unlock \
tpp \
unwind \
pthread_setname \
pthread_setschedprio \
pthread_sigqueue \
- pthread_spin_init \
pthread_spin_lock \
pthread_spin_trylock \
- pthread_spin_unlock \
pthread_testcancel \
pthread_timedjoin \
pthread_tryjoin \
pthread_mutexattr_getpshared;
pthread_mutexattr_setpshared;
pthread_spin_destroy;
+ pthread_spin_init;
+ pthread_spin_unlock;
}
GLIBC_2.2.3 {
pthread_getattr_np;
pthread_rwlock_wrlock;
pthread_setspecific;
pthread_spin_destroy;
+ pthread_spin_init;
+ pthread_spin_unlock;
}
GLIBC_PRIVATE {
__futex_abstimed_wait64;
pthread_getcpuclockid;
pthread_rwlock_timedrdlock;
pthread_rwlock_timedwrlock;
- pthread_spin_init;
pthread_spin_lock;
pthread_spin_trylock;
- pthread_spin_unlock;
pthread_yield;
sem_timedwait;
}
<https://www.gnu.org/licenses/>. */
#include "pthreadP.h"
+#include <shlib-compat.h>
int
-pthread_spin_init (pthread_spinlock_t *lock, int pshared)
+__pthread_spin_init (pthread_spinlock_t *lock, int pshared)
{
/* Relaxed MO is fine because this is an initializing store. */
atomic_store_relaxed (lock, 0);
return 0;
}
+versioned_symbol (libc, __pthread_spin_init, pthread_spin_init, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_init, pthread_spin_init, GLIBC_2_2);
+#endif
#include "pthreadP.h"
#include <atomic.h>
+#include <shlib-compat.h>
int
-pthread_spin_unlock (pthread_spinlock_t *lock)
+__pthread_spin_unlock (pthread_spinlock_t *lock)
{
/* The atomic_store_release synchronizes-with the atomic_exchange_acquire
or atomic_compare_exchange_weak_acquire in pthread_spin_lock /
atomic_store_release (lock, 0);
return 0;
}
+versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_unlock,
+ GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_unlock,
+ GLIBC_2_2);
+#endif
<https://www.gnu.org/licenses/>. */
#include "pthreadP.h"
+#include <shlib-compat.h>
int
-pthread_spin_init (pthread_spinlock_t *lock, int pshared)
+__pthread_spin_init (pthread_spinlock_t *lock, int pshared)
{
/* CONCURRENCTY NOTES:
atomic_exchange_rel (lock, 0);
return 0;
}
+versioned_symbol (libc, __pthread_spin_init, pthread_spin_init,
+ GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_init, pthread_spin_init,
+ GLIBC_2_2);
+#endif
<https://www.gnu.org/licenses/>. */
#include "pthreadP.h"
+#include <shlib-compat.h>
int
-pthread_spin_unlock (pthread_spinlock_t *lock)
+__pthread_spin_unlock (pthread_spinlock_t *lock)
{
/* CONCURRENCTY NOTES:
atomic_exchange_rel (lock, 0);
return 0;
}
+versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_unlock,
+ GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_unlock,
+ GLIBC_2_2);
+#endif
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <shlib-compat.h>
-ENTRY (pthread_spin_unlock)
+ENTRY (__pthread_spin_unlock)
movl 4(%esp), %eax
movl $1, (%eax)
xorl %eax, %eax
ret
-END (pthread_spin_unlock)
+END (__pthread_spin_unlock)
+versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_unlock, GLIBC_2_34)
+/* The implementation of pthread_spin_init is identical. */
+versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_init, GLIBC_2_34)
- /* The implementation of pthread_spin_init is identical. */
- .globl pthread_spin_init
-pthread_spin_init = pthread_spin_unlock
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_unlock,
+ GLIBC_2_2)
+compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_init, GLIBC_2_2)
+#endif
<https://www.gnu.org/licenses/>. */
#include "pthreadP.h"
-
+#include <shlib-compat.h>
int
-pthread_spin_unlock (pthread_spinlock_t *lock)
+__pthread_spin_unlock (pthread_spinlock_t *lock)
{
__sync_lock_release ((int *) lock);
return 0;
}
+versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_unlock,
+ GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_unlock,
+ GLIBC_2_2);
+#endif
#include "pthreadP.h"
#include <lowlevellock.h>
+#include <shlib-compat.h>
int
-pthread_spin_unlock (pthread_spinlock_t *lock)
+__pthread_spin_unlock (pthread_spinlock_t *lock)
{
atomic_store_release (lock, 0);
return 0;
}
+versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_unlock,
+ GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_unlock,
+ GLIBC_2_2);
+#endif
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
- .globl pthread_spin_unlock
- .type pthread_spin_unlock,@function
+#include <shlib-compat.h>
+
+ .globl __pthread_spin_unlock
+ .type __pthread_spin_unlock,@function
.align 5
-pthread_spin_unlock:
+__pthread_spin_unlock:
mov #0,r0
rts
mov.l r0,@r4
- .size pthread_spin_unlock,.-pthread_spin_unlock
+ .size __pthread_spin_unlock,.-__pthread_spin_unlock
+versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_unlock, GLIBC_2_34)
+/* The implementation of pthread_spin_init is identical. */
+versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_init, GLIBC_2_34)
- /* The implementation of pthread_spin_init is identical. */
- .globl pthread_spin_init
-pthread_spin_init = pthread_spin_unlock
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_unlock,
+ GLIBC_2_2)
+compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_init, GLIBC_2_2)
+#endif
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <shlib-compat.h>
.text
-ENTRY(pthread_spin_unlock)
+ENTRY(__pthread_spin_unlock)
membar #StoreStore | #LoadStore
stb %g0, [%o0]
retl
clr %o0
-END(pthread_spin_unlock)
+END(__pthread_spin_unlock)
+versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_unlock, GLIBC_2_34)
+/* The implementation of pthread_spin_init is identical. */
+versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_init, GLIBC_2_34)
-strong_alias (pthread_spin_unlock, pthread_spin_init)
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_unlock,
+ GLIBC_2_2)
+compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_init, GLIBC_2_2)
+#endif
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_unlock F
GLIBC_2.17 ptrace F
GLIBC_2.17 ptsname F
GLIBC_2.17 ptsname_r F
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_unlock 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_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 pthread_testcancel F
GLIBC_2.17 pthread_timedjoin_np F
GLIBC_2.17 pthread_tryjoin_np F
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_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
GLIBC_2.2 putwchar F
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_unlock F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
GLIBC_2.4 _IO_sprintf 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_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 pthread_yield F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 __libpthread_version_placeholder F
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_unlock F
GLIBC_2.32 ptrace F
GLIBC_2.32 ptsname F
GLIBC_2.32 ptsname_r F
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_unlock 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_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 pthread_testcancel F
GLIBC_2.32 pthread_timedjoin_np F
GLIBC_2.32 pthread_tryjoin_np F
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_unlock F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
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_unlock F
GLIBC_2.4 ptrace F
GLIBC_2.4 ptsname F
GLIBC_2.4 ptsname_r 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_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 pthread_testcancel F
GLIBC_2.4 pthread_timedjoin_np F
GLIBC_2.4 pthread_tryjoin_np F
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_unlock F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
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_unlock F
GLIBC_2.4 ptrace F
GLIBC_2.4 ptsname F
GLIBC_2.4 ptsname_r 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_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 pthread_testcancel F
GLIBC_2.4 pthread_timedjoin_np F
GLIBC_2.4 pthread_tryjoin_np F
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_unlock F
GLIBC_2.29 ptrace F
GLIBC_2.29 ptsname F
GLIBC_2.29 ptsname_r F
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_unlock 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_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 pthread_testcancel F
GLIBC_2.29 pthread_timedjoin_np F
GLIBC_2.29 pthread_tryjoin_np F
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_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
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_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk 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_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 pthread_testcancel F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
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_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
GLIBC_2.2 putwchar F
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_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk 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_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 pthread_yield F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 __libpthread_version_placeholder F
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_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
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_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk 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_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 pthread_testcancel F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
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_unlock F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0x98
GLIBC_2.4 _IO_2_1_stdin_ D 0x98
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_unlock F
GLIBC_2.4 ptrace F
GLIBC_2.4 ptsname F
GLIBC_2.4 ptsname_r 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_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 pthread_testcancel F
GLIBC_2.4 pthread_timedjoin_np F
GLIBC_2.4 pthread_tryjoin_np F
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_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
GLIBC_2.2 putwchar F
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_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk 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_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 pthread_yield F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 __libpthread_version_placeholder F
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_unlock F
GLIBC_2.18 ptrace F
GLIBC_2.18 ptsname F
GLIBC_2.18 ptsname_r F
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_unlock 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_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 pthread_testcancel F
GLIBC_2.18 pthread_timedjoin_np F
GLIBC_2.18 pthread_tryjoin_np F
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_unlock F
GLIBC_2.18 ptrace F
GLIBC_2.18 ptsname F
GLIBC_2.18 ptsname_r F
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_unlock 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_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 pthread_testcancel F
GLIBC_2.18 pthread_timedjoin_np F
GLIBC_2.18 pthread_tryjoin_np F
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_unlock F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
GLIBC_2.2 putgrent F
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_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk 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_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 pthread_yield F
GLIBC_2.2 sem_close F
GLIBC_2.2 sem_destroy F
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_unlock F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
GLIBC_2.2 putgrent F
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_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk 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_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 pthread_yield F
GLIBC_2.2 sem_close F
GLIBC_2.2 sem_destroy F
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_unlock F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
GLIBC_2.2 putgrent F
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_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
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_unlock F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
GLIBC_2.2 putgrent F
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_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
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_unlock F
GLIBC_2.21 ptrace F
GLIBC_2.21 ptsname F
GLIBC_2.21 ptsname_r F
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_unlock 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_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 pthread_testcancel F
GLIBC_2.21 pthread_timedjoin_np F
GLIBC_2.21 pthread_tryjoin_np F
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_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
GLIBC_2.2 putwchar F
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_unlock F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
GLIBC_2.4 _IO_sprintf 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_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 pthread_yield F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 __libpthread_version_placeholder F
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_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
GLIBC_2.2 putwchar F
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_unlock F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
GLIBC_2.4 _IO_sprintf F
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_unlock F
GLIBC_2.3 ptrace F
GLIBC_2.3 ptsname F
GLIBC_2.3 ptsname_r F
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_unlock F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
GLIBC_2.4 _IO_sprintf 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_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 pthread_testcancel F
GLIBC_2.3 pthread_yield F
GLIBC_2.3 sem_close F
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_unlock F
GLIBC_2.17 ptrace F
GLIBC_2.17 ptsname F
GLIBC_2.17 ptsname_r F
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_unlock 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_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 pthread_testcancel F
GLIBC_2.17 pthread_timedjoin_np F
GLIBC_2.17 pthread_tryjoin_np F
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_unlock F
GLIBC_2.33 ptrace F
GLIBC_2.33 ptsname F
GLIBC_2.33 ptsname_r F
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_unlock 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_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 pthread_testcancel F
GLIBC_2.33 pthread_timedjoin_np F
GLIBC_2.33 pthread_tryjoin_np F
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_unlock F
GLIBC_2.27 ptrace F
GLIBC_2.27 ptsname F
GLIBC_2.27 ptsname_r F
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_unlock 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_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 pthread_testcancel F
GLIBC_2.27 pthread_timedjoin_np F
GLIBC_2.27 pthread_tryjoin_np F
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_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
GLIBC_2.2 putwchar F
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_unlock F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
GLIBC_2.4 _IO_sprintf 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_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 pthread_yield F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 __libpthread_version_placeholder F
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_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
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_unlock F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
GLIBC_2.4 _IO_sprintf 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_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 pthread_testcancel F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
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_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
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_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk 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_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 pthread_testcancel F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
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_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
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_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk 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_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 pthread_testcancel F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
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_unlock F
GLIBC_2.2 putwc F
GLIBC_2.2 putwc_unlocked F
GLIBC_2.2 putwchar F
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_unlock F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
GLIBC_2.4 _IO_sprintf 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_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 pthread_yield F
GLIBC_2.2 sem_timedwait F
GLIBC_2.2.3 __libpthread_version_placeholder F
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_unlock F
GLIBC_2.2 ptrace F
GLIBC_2.2 ptsname F
GLIBC_2.2 ptsname_r F
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_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk 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_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 pthread_testcancel F
GLIBC_2.2 pthread_yield F
GLIBC_2.2 sem_close F
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_unlock F
GLIBC_2.2.5 ptrace F
GLIBC_2.2.5 ptsname F
GLIBC_2.2.5 ptsname_r F
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_unlock F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk 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_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 pthread_testcancel F
GLIBC_2.2.5 pthread_yield F
GLIBC_2.2.5 sem_close F
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_unlock F
GLIBC_2.16 ptrace F
GLIBC_2.16 ptsname F
GLIBC_2.16 ptsname_r F
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_unlock 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_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 pthread_testcancel F
GLIBC_2.16 pthread_timedjoin_np F
GLIBC_2.16 pthread_tryjoin_np F
<https://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <shlib-compat.h>
-ENTRY(pthread_spin_unlock)
+ENTRY(__pthread_spin_unlock)
movl $1, (%rdi)
xorl %eax, %eax
retq
-END(pthread_spin_unlock)
+END(__pthread_spin_unlock)
+versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_unlock, GLIBC_2_34)
+/* The implementation of pthread_spin_init is identical. */
+versioned_symbol (libc, __pthread_spin_unlock, pthread_spin_init, GLIBC_2_34)
- /* The implementation of pthread_spin_init is identical. */
- .globl pthread_spin_init
-pthread_spin_init = pthread_spin_unlock
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_unlock,
+ GLIBC_2_2)
+compat_symbol (libpthread, __pthread_spin_unlock, pthread_spin_init, GLIBC_2_2)
+#endif