aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-05-03 08:12:11 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-05-03 08:15:22 +0200
commitf44c9a24edf0dff4fd76562975533d58c1cd6dd4 (patch)
tree196eb57d4feb0faca29e34dbb413c76cb4c761b6
parent17b67416c5ea65507c9b32aec1928afc88569eb2 (diff)
downloadglibc-f44c9a24edf0dff4fd76562975533d58c1cd6dd4.tar.xz
glibc-f44c9a24edf0dff4fd76562975533d58c1cd6dd4.zip
nptl: Move mtx_init into libc
The symbol was moved using scripts/move-symbol-to-libc.py. The calls to __pthread_mutex_init, __pthread_mutexattr_init, __pthread_mutexattr_settype are now private and no longer need to be exported. This allows the removal of the newly added GLIBC_2.34 symbol versions for those functions. Also clean up some weak declarations in <libc-lockP.h> for these functions. They are not needed and potentially incorrect for static linking of mtx_init. Reviewed-by: Carlos O'Donell <carlos@redhat.com> Tested-by: Carlos O'Donell <carlos@redhat.com>
-rw-r--r--nptl/Versions6
-rw-r--r--nptl/pthreadP.h2
-rw-r--r--nptl/pthread_mutex_init.c8
-rw-r--r--nptl/pthread_mutexattr_init.c6
-rw-r--r--nptl/pthread_mutexattr_settype.c6
-rw-r--r--sysdeps/nptl/libc-lockP.h8
-rw-r--r--sysdeps/pthread/Makefile3
-rw-r--r--sysdeps/pthread/mtx_init.c11
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/arc/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/csky/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/i386/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist1
-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.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist1
-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.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist1
69 files changed, 93 insertions, 146 deletions
diff --git a/nptl/Versions b/nptl/Versions
index 939bed94e9..ccba2ba980 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -134,6 +134,7 @@ libc {
cnd_timedwait;
cnd_wait;
mtx_destroy;
+ mtx_init;
thrd_current;
thrd_equal;
thrd_sleep;
@@ -155,11 +156,8 @@ libc {
__pthread_cleanup_routine;
__pthread_getspecific;
__pthread_key_create;
- __pthread_mutex_init;
__pthread_mutex_lock;
__pthread_mutex_unlock;
- __pthread_mutexattr_init;
- __pthread_mutexattr_settype;
__pthread_setspecific;
call_once;
cnd_broadcast;
@@ -169,6 +167,7 @@ libc {
cnd_timedwait;
cnd_wait;
mtx_destroy;
+ mtx_init;
pthread_cond_clockwait;
pthread_condattr_getclock;
pthread_condattr_getpshared;
@@ -381,7 +380,6 @@ libpthread {
# C11 thread symbols.
GLIBC_2.28 {
- mtx_init;
mtx_lock;
mtx_timedlock;
mtx_trylock;
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index db8983c711..3b070ee10d 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -411,8 +411,10 @@ extern int __pthread_mutex_unlock_usercnt (pthread_mutex_t *__mutex,
int __decr);
libc_hidden_proto (__pthread_mutex_unlock_usercnt)
extern int __pthread_mutexattr_init (pthread_mutexattr_t *attr);
+libc_hidden_proto (__pthread_mutexattr_init)
extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *attr);
extern int __pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind);
+libc_hidden_proto (__pthread_mutexattr_settype)
extern int __pthread_attr_destroy (pthread_attr_t *attr);
libc_hidden_proto (__pthread_attr_destroy)
extern int __pthread_attr_getdetachstate (const pthread_attr_t *attr,
diff --git a/nptl/pthread_mutex_init.c b/nptl/pthread_mutex_init.c
index 328f7b08a7..d9d7523ea4 100644
--- a/nptl/pthread_mutex_init.c
+++ b/nptl/pthread_mutex_init.c
@@ -151,11 +151,13 @@ ___pthread_mutex_init (pthread_mutex_t *mutex,
return 0;
}
-versioned_symbol (libpthread, ___pthread_mutex_init, __pthread_mutex_init,
- GLIBC_2_34);
-libc_hidden_ver (___pthread_mutex_init, __pthread_mutex_init)
versioned_symbol (libpthread, ___pthread_mutex_init, pthread_mutex_init,
GLIBC_2_0);
+libc_hidden_ver (___pthread_mutex_init, __pthread_mutex_init)
+#ifndef SHARED
+strong_alias (___pthread_mutex_init, __pthread_mutex_init)
+#endif
+
#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
compat_symbol (libpthread, ___pthread_mutex_init, __pthread_mutex_init,
GLIBC_2_0);
diff --git a/nptl/pthread_mutexattr_init.c b/nptl/pthread_mutexattr_init.c
index ca0c5e94dd..bb41fa169c 100644
--- a/nptl/pthread_mutexattr_init.c
+++ b/nptl/pthread_mutexattr_init.c
@@ -39,8 +39,10 @@ ___pthread_mutexattr_init (pthread_mutexattr_t *attr)
}
versioned_symbol (libc, ___pthread_mutexattr_init,
pthread_mutexattr_init, GLIBC_2_34);
-versioned_symbol (libc, ___pthread_mutexattr_init,
- __pthread_mutexattr_init, GLIBC_2_34);
+libc_hidden_ver (___pthread_mutexattr_init, __pthread_mutexattr_init)
+#ifndef SHARED
+strong_alias (___pthread_mutexattr_init, __pthread_mutexattr_init)
+#endif
#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
compat_symbol (libpthread, ___pthread_mutexattr_init,
diff --git a/nptl/pthread_mutexattr_settype.c b/nptl/pthread_mutexattr_settype.c
index df03def8bd..fb8d66c5ea 100644
--- a/nptl/pthread_mutexattr_settype.c
+++ b/nptl/pthread_mutexattr_settype.c
@@ -41,8 +41,10 @@ ___pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind)
}
versioned_symbol (libc, ___pthread_mutexattr_settype,
pthread_mutexattr_settype, GLIBC_2_34);
-versioned_symbol (libc, ___pthread_mutexattr_settype,
- __pthread_mutexattr_settype, GLIBC_2_34);
+libc_hidden_ver (___pthread_mutexattr_settype, __pthread_mutexattr_settype)
+#ifndef SHARED
+strong_alias (___pthread_mutexattr_settype, __pthread_mutexattr_settype)
+#endif
#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
compat_symbol (libpthread, ___pthread_mutexattr_settype,
diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
index aad9c9778c..239bd5ed86 100644
--- a/sysdeps/nptl/libc-lockP.h
+++ b/sysdeps/nptl/libc-lockP.h
@@ -269,13 +269,9 @@ extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);
libc_hidden_proto (__pthread_mutex_lock)
extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex);
libc_hidden_proto (__pthread_mutex_unlock)
-extern int __pthread_mutexattr_init (pthread_mutexattr_t *__attr)