aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-04-22 15:18:12 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-04-23 17:06:44 +0200
commitce4b3b7befc1010a4be0294d28984d0af47b7bc2 (patch)
tree3a098b52827d0ba5ae835bafe65485dfe2b702ec
parentc7b1cd4ad100d01f3202a44ec3b84b87bea5ef19 (diff)
downloadglibc-ce4b3b7befc1010a4be0294d28984d0af47b7bc2.tar.xz
glibc-ce4b3b7befc1010a4be0294d28984d0af47b7bc2.zip
nptl: Move pthread_spin_init, Move pthread_spin_unlock into libc
For some architectures, the two functions are aliased, so these symbols need to be moved at the same time. The symbols were moved using scripts/move-symbol-to-libc.py.
-rw-r--r--nptl/Makefile4
-rw-r--r--nptl/Versions6
-rw-r--r--nptl/pthread_spin_init.c8
-rw-r--r--nptl/pthread_spin_unlock.c10
-rw-r--r--sysdeps/hppa/nptl/pthread_spin_init.c10
-rw-r--r--sysdeps/hppa/nptl/pthread_spin_unlock.c10
-rw-r--r--sysdeps/i386/nptl/pthread_spin_unlock.S16
-rw-r--r--sysdeps/ia64/nptl/pthread_spin_unlock.c11
-rw-r--r--sysdeps/powerpc/nptl/pthread_spin_unlock.c10
-rw-r--r--sysdeps/sh/nptl/pthread_spin_unlock.S21
-rw-r--r--sysdeps/sparc/sparc64/pthread_spin_unlock.S14
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/arc/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/csky/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/i386/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist2
-rw-r--r--sysdeps/x86_64/nptl/pthread_spin_unlock.S16
73 files changed, 233 insertions, 89 deletions
diff --git a/nptl/Makefile b/nptl/Makefile
index 7b36d85f6b..dd7fa95c2b 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -130,6 +130,8 @@ routines = \
pthread_setspecific \
pthread_sigmask \
pthread_spin_destroy \
+ pthread_spin_init \
+ pthread_spin_unlock \
tpp \
unwind \
@@ -195,10 +197,8 @@ libpthread-routines = \
pthread_setname \
pthread_setschedprio \
pthread_sigqueue \
- pthread_spin_init \
pthread_spin_lock \
pthread_spin_trylock \
- pthread_spin_unlock \
pthread_testcancel \
pthread_timedjoin \
pthread_tryjoin \
diff --git a/nptl/Versions b/nptl/Versions
index 22fd51ef12..8ec1d4bbd2 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -80,6 +80,8 @@ libc {
pthread_mutexattr_getpshared;
pthread_mutexattr_setpshared;
pthread_spin_destroy;
+ pthread_spin_init;
+ pthread_spin_unlock;
}
GLIBC_2.2.3 {
pthread_getattr_np;
@@ -181,6 +183,8 @@ libc {
pthread_rwlock_wrlock;
pthread_setspecific;
pthread_spin_destroy;
+ pthread_spin_init;
+ pthread_spin_unlock;
}
GLIBC_PRIVATE {
__futex_abstimed_wait64;
@@ -312,10 +316,8 @@ libpthread {
pthread_getcpuclockid;
pthread_rwlock_timedrdlock;
pthread_rwlock_timedwrlock;
- pthread_spin_init;
pthread_spin_lock;
pthread_spin_trylock;
- pthread_spin_unlock;
pthread_yield;
sem_timedwait;
}
diff --git a/nptl/pthread_spin_init.c b/nptl/pthread_spin_init.c
index 470a6fab63..c6a51477bf 100644
--- a/nptl/pthread_spin_init.c
+++ b/nptl/pthread_spin_init.c
@@ -18,11 +18,17 @@
<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
diff --git a/nptl/pthread_spin_unlock.c b/nptl/pthread_spin_unlock.c
index 9de75cbdcb..15921f726a 100644
--- a/nptl/pthread_spin_unlock.c
+++ b/nptl/pthread_spin_unlock.c
@@ -19,9 +19,10 @@
#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 /
@@ -29,3 +30,10 @@ 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
diff --git a/sysdeps/hppa/nptl/pthread_spin_init.c b/sysdeps/hppa/nptl/pthread_spin_init.c
index 6d63af586a..af7655519d 100644
--- a/sysdeps/hppa/nptl/pthread_spin_init.c
+++ b/sysdeps/hppa/nptl/pthread_spin_init.c
@@ -16,9 +16,10 @@