aboutsummaryrefslogtreecommitdiff
path: root/nptl/pthread_mutex_init.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-04-21 19:49:51 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-04-21 19:49:51 +0200
commit27a448223cb2d3bab191c61303db48cee66f871c (patch)
treee9cb7ab65f5efb5d486c79ee58b4ccadfbe7896c /nptl/pthread_mutex_init.c
parent60d5e40ab200033a982a9fd7594a1f83dcdb94a0 (diff)
downloadglibc-27a448223cb2d3bab191c61303db48cee66f871c.tar
glibc-27a448223cb2d3bab191c61303db48cee66f871c.tar.gz
glibc-27a448223cb2d3bab191c61303db48cee66f871c.tar.bz2
glibc-27a448223cb2d3bab191c61303db48cee66f871c.zip
nptl: Move core mutex functions into libc
This is complicated because of a second compilation of nptl/pthread_mutex_lock.c via nptl/pthread_mutex_cond_lock.c. PTHREAD_MUTEX_VERSIONS is introduced to suppress symbol versions in that case. The symbols __pthread_mutex_lock, __pthread_mutex_unlock, __pthread_mutex_init, __pthread_mutex_destroy, pthread_mutex_lock, pthread_mutex_unlock, pthread_mutex_init, pthread_mutex_destroy have been moved using scripts/move-symbol-to-libc.py. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'nptl/pthread_mutex_init.c')
-rw-r--r--nptl/pthread_mutex_init.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/nptl/pthread_mutex_init.c b/nptl/pthread_mutex_init.c
index f5c3a4b464..328f7b08a7 100644
--- a/nptl/pthread_mutex_init.c
+++ b/nptl/pthread_mutex_init.c
@@ -25,6 +25,7 @@
#include <atomic.h>
#include <pthread-offsets.h>
#include <futex-internal.h>
+#include <shlib-compat.h>
#include <stap-probe.h>
@@ -48,7 +49,7 @@ prio_inherit_missing (void)
}
int
-__pthread_mutex_init (pthread_mutex_t *mutex,
+___pthread_mutex_init (pthread_mutex_t *mutex,
const pthread_mutexattr_t *mutexattr)
{
const struct pthread_mutexattr *imutexattr;
@@ -150,5 +151,12 @@ __pthread_mutex_init (pthread_mutex_t *mutex,
return 0;
}
-weak_alias (__pthread_mutex_init, pthread_mutex_init)
-hidden_def (__pthread_mutex_init)
+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);
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_mutex_init, __pthread_mutex_init,
+ GLIBC_2_0);
+#endif