diff options
| author | Florian Weimer <fweimer@redhat.com> | 2021-04-23 09:49:00 +0200 |
|---|---|---|
| committer | Florian Weimer <fweimer@redhat.com> | 2021-04-23 09:51:57 +0200 |
| commit | b76c066d092d78124deeba9b687f5b10924e97de (patch) | |
| tree | f08d660e36637680cf8fd9bdada0263c94e54185 | |
| parent | 1ec4cd5ab42d6b16a81176b7051384a2221159e3 (diff) | |
| download | glibc-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.
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 |
