aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-04-23 09:49:00 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-04-23 09:51:57 +0200
commitb76c066d092d78124deeba9b687f5b10924e97de (patch)
treef08d660e36637680cf8fd9bdada0263c94e54185
parent1ec4cd5ab42d6b16a81176b7051384a2221159e3 (diff)
downloadglibc-b76c066d092d78124deeba9b687f5b10924e97de.tar.xz
glibc-b76c066d092d78124deeba9b687f5b10924e97de.zip
nptl: Move pthread_mutexattr_settype, __pthread_mutexattr_settype into libc
And pthread_mutexattr_setkind_np as a compatibility symbol. __pthread_mutexattr_settype is used in mtx_init from libpthread, so this commit adds a GLIBC_2.34 symbol version for it. The symbols were moved using scripts/move-symbol-to-libc.py.
-rw-r--r--nptl/Makefile2
-rw-r--r--nptl/Versions8
-rw-r--r--nptl/pthreadP.h1
-rw-r--r--nptl/pthread_mutexattr_settype.c23
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/arc/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libpthread.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libpthread.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/csky/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/i386/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist3
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist3
65 files changed, 187 insertions, 97 deletions
diff --git a/nptl/Makefile b/nptl/Makefile
index 27588a87dd..99a54ff975 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -114,6 +114,7 @@ routines = \
pthread_mutexattr_setprotocol \
pthread_mutexattr_setpshared \
pthread_mutexattr_setrobust \
+ pthread_mutexattr_settype \
pthread_once \
pthread_rwlock_rdlock \
pthread_rwlock_unlock \
@@ -173,7 +174,6 @@ libpthread-routines = \
pthread_getname \
pthread_join \
pthread_join_common \
- pthread_mutexattr_settype \
pthread_rwlock_clockrdlock \
pthread_rwlock_clockwrlock \
pthread_rwlock_destroy \
diff --git a/nptl/Versions b/nptl/Versions
index 97eb60548d..87412e674a 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -9,6 +9,7 @@ libc {
__pthread_mutex_unlock;
__pthread_mutexattr_destroy;
__pthread_mutexattr_init;
+ __pthread_mutexattr_settype;
__pthread_once;
__pthread_setspecific;
_pthread_cleanup_pop;
@@ -52,6 +53,7 @@ libc {
pthread_mutexattr_destroy;
pthread_mutexattr_getkind_np;
pthread_mutexattr_init;
+ pthread_mutexattr_setkind_np;
pthread_once;
pthread_self;
pthread_setcancelstate;
@@ -63,6 +65,7 @@ libc {
GLIBC_2.1 {
pthread_attr_init;
pthread_mutexattr_gettype;
+ pthread_mutexattr_settype;
pthread_rwlock_rdlock;
pthread_rwlock_unlock;
pthread_rwlock_wrlock;
@@ -140,6 +143,7 @@ libc {
__pthread_mutex_lock;
__pthread_mutex_unlock;
__pthread_mutexattr_init;
+ __pthread_mutexattr_settype;
__pthread_once;
__pthread_setspecific;
pthread_cond_clockwait;
@@ -161,6 +165,7 @@ libc {
pthread_mutexattr_setprotocol;
pthread_mutexattr_setpshared;
pthread_mutexattr_setrobust;
+ pthread_mutexattr_settype;
pthread_once;
pthread_rwlock_rdlock;
pthread_rwlock_unlock;
@@ -224,7 +229,6 @@ libpthread {
_IO_funlockfile;
__errno_location;
__h_errno_location;
- __pthread_mutexattr_settype;
_exit;
flockfile;
ftrylockfile;
@@ -233,7 +237,6 @@ libpthread {
pthread_create;
pthread_detach;
pthread_join;
- pthread_mutexattr_setkind_np;
pthread_sigmask;
pthread_testcancel;
sem_destroy;
@@ -253,7 +256,6 @@ libpthread {
pthread_attr_setstacksize;
pthread_create;
pthread_getconcurrency;
- pthread_mutexattr_settype;
pthread_rwlock_destroy;
pthread_rwlock_init;
pthread_rwlock_tryrdlock;
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 115dbed52c..db8983c711 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -579,7 +579,6 @@ libc_hidden_proto (__pthread_sigmask);
#if IS_IN (libpthread)
hidden_proto (__pthread_rwlock_unlock)
hidden_proto (__pthread_testcancel)
-hidden_proto (__pthread_mutexattr_settype)
#endif
extern int __pthread_cond_broadcast_2_0 (pthread_cond_2_0_t *cond);
diff --git a/nptl/pthread_mutexattr_settype.c b/nptl/pthread_mutexattr_settype.c
index a275dec9d5..df03def8bd 100644
--- a/nptl/pthread_mutexattr_settype.c
+++ b/nptl/pthread_mutexattr_settype.c
@@ -18,10 +18,10 @@
#include <errno.h>
#include <pthreadP.h>
-
+#include <shlib-compat.h>
int
-__pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind)
+___pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind)
{
struct pthread_mutexattr *iattr;
@@ -39,6 +39,19 @@ __pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind)
return 0;
}
-weak_alias (__pthread_mutexattr_settype, pthread_mutexattr_setkind_np)
-weak_alias (__pthread_mutexattr_settype, pthread_mutexattr_settype)
-hidden_def (__pthread_mutexattr_settype)
+versioned_symbol (libc, ___pthread_mutexattr_settype,
+ pthread_mutexattr_settype, GLIBC_2_34);
+versioned_symbol (libc, ___pthread_mutexattr_settype,
+ __pthread_mutexattr_settype, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_mutexattr_settype,
+ pthread_mutexattr_setkind_np, GLIBC_2_0);
+compat_symbol (libpthread, ___pthread_mutexattr_settype,
+ __pthread_mutexattr_settype, GLIBC_2_0);
+#endif
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_mutexattr_settype,
+ pthread_mutexattr_settype, GLIBC_2_1);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 71fdc865ff..61efeac09f 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -348,6 +348,7 @@ GLIBC_2.17 __pthread_mutex_trylock F
GLIBC_2.17 __pthread_mutex_unlock F
GLIBC_2.17 __pthread_mutexattr_destroy F
GLIBC_2.17 __pthread_mutexattr_init F
+GLIBC_2.17 __pthread_mutexattr_settype F
GLIBC_2.17 __pthread_once F
GLIBC_2.17 __pthread_rwlock_rdlock F
GLIBC_2.17 __pthread_rwlock_unlock F
@@ -1487,11 +1488,13 @@ GLIBC_2.17 pthread_mutexattr_getrobust F
GLIBC_2.17 pthread_mutexattr_getrobust_np F
GLIBC_2.17 pthread_mutexattr_gettype F
GLIBC_2.17 pthread_mutexattr_init F
+GLIBC_2.17 pthread_mutexattr_setkind_np F
GLIBC_2.17 pthread_mutexattr_setprioceiling F
GLIBC_2.17 pthread_mutexattr_setprotocol F
GLIBC_2.17 pthread_mutexattr_setpshared F
GLIBC_2.17 pthread_mutexattr_setrobust F
GLIBC_2.17 pthread_mutexattr_setrobust_np F
+GLIBC_2.17 pthread_mutexattr_settype F
GLIBC_2.17 pthread_once F
GLIBC_2.17 pthread_rwlock_rdlock F
GLIBC_2.17 pthread_rwlock_unlock F
@@ -2234,6 +2237,7 @@ GLIBC_2.34 __pthread_mut