aboutsummaryrefslogtreecommitdiff
path: root/nptl/pthread_mutex_unlock.c
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/pthread_mutex_unlock.c')
-rw-r--r--nptl/pthread_mutex_unlock.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c
index 655093ee9a..ea88ba2986 100644
--- a/nptl/pthread_mutex_unlock.c
+++ b/nptl/pthread_mutex_unlock.c
@@ -23,6 +23,7 @@
#include <lowlevellock.h>
#include <stap-probe.h>
#include <futex-internal.h>
+#include <shlib-compat.h>
static int
__pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)
@@ -44,7 +45,6 @@ lll_mutex_unlock_optimized (pthread_mutex_t *mutex)
}
int
-attribute_hidden
__pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr)
{
/* See concurrency notes regarding mutex type which is loaded from __kind
@@ -103,6 +103,7 @@ __pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr)
goto normal;
}
}
+libc_hidden_def (__pthread_mutex_unlock_usercnt)
static int
@@ -363,9 +364,17 @@ __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)
int
-__pthread_mutex_unlock (pthread_mutex_t *mutex)
+___pthread_mutex_unlock (pthread_mutex_t *mutex)
{
return __pthread_mutex_unlock_usercnt (mutex, 1);
}
-weak_alias (__pthread_mutex_unlock, pthread_mutex_unlock)
-hidden_def (__pthread_mutex_unlock)
+versioned_symbol (libpthread, ___pthread_mutex_unlock, __pthread_mutex_unlock,
+ GLIBC_2_34);
+libc_hidden_ver (___pthread_mutex_unlock, __pthread_mutex_unlock)
+versioned_symbol (libpthread, ___pthread_mutex_unlock, pthread_mutex_unlock,
+ GLIBC_2_0);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libpthread, ___pthread_mutex_unlock, __pthread_mutex_unlock,
+ GLIBC_2_0);
+#endif