summaryrefslogtreecommitdiff
path: root/libpthread/nptl/sysdeps/unix/sysv/linux
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2010-04-14 20:01:33 +0300
committerAustin Foxley <austinf@cetoncorp.com>2010-04-14 10:53:08 -0700
commit1610762362e651f86ca284ac59a1d7ec88034e4e (patch)
treedd0950ba51eb7cd72d4f2ae67ee262d51394994b /libpthread/nptl/sysdeps/unix/sysv/linux
parentbd881300eb5380e4bd636b092b706b4b31def7fb (diff)
nptl: mark symbols with libc forwarder hidden
Add attribute_hidden to all symbols having libc forwarder. This prevents recursive self calls which would happen if libc is before libpthread in linking order: the forwarder functions would call itself via the function table, since the libpthread symbols would get overwritten with libc ones. This has not been a problem in glibc since there these symbols are marked hidden with linker version-script. Since we don't use one, we need to mark these explicitly. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
Diffstat (limited to 'libpthread/nptl/sysdeps/unix/sysv/linux')
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/alpha/pthread_once.c1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/arm/pthread_once.c1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/mips/pthread_once.c1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/pthread_once.c1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_once.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pthread_once.c1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S1
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S1
29 files changed, 29 insertions, 0 deletions
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/pthread_once.c b/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/pthread_once.c
index 0e7e9790d..7edee6625 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/pthread_once.c
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/alpha/pthread_once.c
@@ -32,6 +32,7 @@ clear_once_control (void *arg)
}
int
+attribute_hidden
__pthread_once (pthread_once_t *once_control, void (*init_routine) (void))
{
for (;;)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/pthread_once.c b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/pthread_once.c
index d81ecd4e5..a482ddccd 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/pthread_once.c
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/pthread_once.c
@@ -31,6 +31,7 @@ clear_once_control (void *arg)
}
int
+attribute_hidden
__pthread_once (pthread_once_t *once_control, void (*init_routine) (void))
{
for (;;)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
index 0413cc13b..37dd9daea 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_broadcast.S
@@ -30,6 +30,7 @@
/* int pthread_cond_broadcast (pthread_cond_t *cond) */
.globl __pthread_cond_broadcast
.type __pthread_cond_broadcast, @function
+ .hidden __pthread_cond_broadcast
.align 16
__pthread_cond_broadcast:
cfi_startproc
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
index 2f3c9bc35..64d309dd3 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
@@ -31,6 +31,7 @@
/* int pthread_cond_signal (pthread_cond_t *cond) */
.globl __pthread_cond_signal
.type __pthread_cond_signal, @function
+ .hidden __pthread_cond_signal
.align 16
__pthread_cond_signal:
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
index c56dd7716..6646c8a72 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
@@ -31,6 +31,7 @@
const struct timespec *abstime) */
.globl __pthread_cond_timedwait
.type __pthread_cond_timedwait, @function
+ .hidden __pthread_cond_timedwait
.align 16
__pthread_cond_timedwait:
.LSTARTCODE:
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
index 6261805f1..137d576af 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
@@ -31,6 +31,7 @@
/* int pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex) */
.globl __pthread_cond_wait
.type __pthread_cond_wait, @function
+ .hidden __pthread_cond_wait
.align 16
__pthread_cond_wait:
.LSTARTCODE:
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S
index 6205a60ef..570771394 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S
@@ -29,6 +29,7 @@
.globl __pthread_rwlock_rdlock
.type __pthread_rwlock_rdlock,@function
+ .hidden __pthread_rwlock_rdlock
.align 16
__pthread_rwlock_rdlock:
cfi_startproc
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S
index 426ffdcd7..72563018d 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_unlock.S
@@ -28,6 +28,7 @@
.globl __pthread_rwlock_unlock
.type __pthread_rwlock_unlock,@function
+ .hidden __pthread_rwlock_unlock
.align 16
__pthread_rwlock_unlock:
cfi_startproc
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S
index 0414ba060..8ff7dfa56 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S
@@ -29,6 +29,7 @@
.globl __pthread_rwlock_wrlock
.type __pthread_rwlock_wrlock,@function
+ .hidden __pthread_rwlock_wrlock
.align 16
__pthread_rwlock_wrlock:
cfi_startproc
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S
index 409df15f8..a995709bf 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_once.S
@@ -31,6 +31,7 @@
.globl __pthread_once
.type __pthread_once,@function
+ .hidden __pthread_once
.align 16
cfi_startproc
__pthread_once:
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/pthread_once.c b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/pthread_once.c
index ddfd32bdb..f7b940f52 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/pthread_once.c
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/pthread_once.c
@@ -35,6 +35,7 @@ clear_once_control (void *arg)
int
+attribute_hidden
__pthread_once (once_control, init_routine)
pthread_once_t *once_control;
void (*init_routine) (void);
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/pthread_once.c b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/pthread_once.c
index 969078094..5f4b7e9c1 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/pthread_once.c
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/pthread_once.c
@@ -35,6 +35,7 @@ clear_once_control (void *arg)
int
+attribute_hidden
__pthread_once (pthread_once_t *once_control, void (*init_routine) (void))
{
for (;;)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S
index 1242fc2cc..0884c1381 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S
@@ -30,6 +30,7 @@
/* int pthread_cond_broadcast (pthread_cond_t *cond) */
.globl __pthread_cond_broadcast
.type __pthread_cond_broadcast, @function
+ .hidden __pthread_cond_broadcast
.align 5
__pthread_cond_broadcast:
mov.l r10, @-r15
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S
index 1c3bacbe6..d2d7c19dc 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S
@@ -29,6 +29,7 @@
/* int pthread_cond_signal (pthread_cond_t *cond) */
.globl __pthread_cond_signal
.type __pthread_cond_signal, @function
+ .hidden __pthread_cond_signal
.align 5
__pthread_cond_signal:
mov.l r8, @-r15
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
index 3e117564f..7db789f73 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
@@ -30,6 +30,7 @@
const struct timespec *abstime) */
.globl __pthread_cond_timedwait
.type __pthread_cond_timedwait, @function
+ .hidden __pthread_cond_timedwait
.align 5
__pthread_cond_timedwait:
.LSTARTCODE:
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
index 5a897f6fe..f4f22b645 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
@@ -28,6 +28,7 @@
/* int pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex) */
.globl __pthread_cond_wait
.type __pthread_cond_wait, @function
+ .hidden __pthread_cond_wait
.align 5
__pthread_cond_wait:
.LSTARTCODE:
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_once.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_once.S
index a1477b3ac..da6ecfb49 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_once.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_once.S
@@ -29,6 +29,7 @@
.text
.globl __pthread_once
.type __pthread_once,@function
+ .hidden __pthread_once
.align 5
cfi_startproc
__pthread_once:
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S
index 52fe5de10..5b100d8cd 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S
@@ -29,6 +29,7 @@
.globl __pthread_rwlock_rdlock
.type __pthread_rwlock_rdlock,@function
+ .hidden __pthread_rwlock_rdlock
.align 5
__pthread_rwlock_rdlock:
mov.l r12, @-r15
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S
index bc6c6c233..ca7a692f5 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S
@@ -28,6 +28,7 @@
.globl __pthread_rwlock_unlock
.type __pthread_rwlock_unlock,@function
+ .hidden __pthread_rwlock_unlock
.align 5
__pthread_rwlock_unlock:
mov.l r12, @-r15
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S
index 3d37fb486..fa051b1ec 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S
@@ -29,6 +29,7 @@
.globl __pthread_rwlock_wrlock
.type __pthread_rwlock_wrlock,@function
+ .hidden __pthread_rwlock_wrlock
.align 5
__pthread_rwlock_wrlock:
mov.l r12, @-r15
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pthread_once.c b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pthread_once.c
index 22e2dd3c0..a6a470c02 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pthread_once.c
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pthread_once.c
@@ -35,6 +35,7 @@ clear_once_control (void *arg)
int
+attribute_hidden
__pthread_once (once_control, init_routine)
pthread_once_t *once_control;
void (*init_routine) (void);
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
index 0f8037ba2..523bfdbdf 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S
@@ -31,6 +31,7 @@
/* int pthread_cond_broadcast (pthread_cond_t *cond) */
.globl __pthread_cond_broadcast
.type __pthread_cond_broadcast, @function
+ .hidden __pthread_cond_broadcast
.align 16
__pthread_cond_broadcast:
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
index 568c98470..cb1eb57c5 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S
@@ -30,6 +30,7 @@
/* int pthread_cond_signal (pthread_cond_t *cond) */
.globl __pthread_cond_signal
.type __pthread_cond_signal, @function
+ .hidden __pthread_cond_signal
.align 16
__pthread_cond_signal:
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
index bc5c0b39b..7365b5c09 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
@@ -36,6 +36,7 @@
const struct timespec *abstime) */
.globl __pthread_cond_timedwait
.type __pthread_cond_timedwait, @function
+ .hidden __pthread_cond_timedwait
.align 16
__pthread_cond_timedwait:
.LSTARTCODE:
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
index a44e7a756..45ce84e65 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
@@ -31,6 +31,7 @@
/* int pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex) */
.globl __pthread_cond_wait
.type __pthread_cond_wait, @function
+ .hidden __pthread_cond_wait
.align 16
__pthread_cond_wait:
.LSTARTCODE:
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S
index a808b9d7e..b0e3516e7 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S
@@ -30,6 +30,7 @@
.globl __pthread_once
.type __pthread_once,@function
+ .hidden __pthread_once
.align 16
__pthread_once:
.LSTARTCODE:
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S
index f36e7a765..2d42ec15e 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S
@@ -29,6 +29,7 @@
.globl __pthread_rwlock_rdlock
.type __pthread_rwlock_rdlock,@function
+ .hidden __pthread_rwlock_rdlock
.align 16
__pthread_rwlock_rdlock:
cfi_startproc
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S
index cfcc7a18c..c2741134c 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S
@@ -27,6 +27,7 @@
.globl __pthread_rwlock_unlock
.type __pthread_rwlock_unlock,@function
+ .hidden __pthread_rwlock_unlock
.align 16
__pthread_rwlock_unlock:
cfi_startproc
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S
index ccfc11b46..182745ed9 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S
@@ -29,6 +29,7 @@
.globl __pthread_rwlock_wrlock
.type __pthread_rwlock_wrlock,@function
+ .hidden __pthread_rwlock_wrlock
.align 16
__pthread_rwlock_wrlock:
cfi_startproc