From a501a33e9761f32b3d38ab9f113892abe7cef3f1 Mon Sep 17 00:00:00 2001 From: Timo Teras Date: Fri, 16 Apr 2010 16:56:00 +0300 Subject: nptl: mark forwarded functions protected The libc stubs should never override the libpthread provided functions inside libpthread, otherwise the struct pthread_functions that is used by the forwarder stubs goes bad. Signed-off-by: Timo Teras Signed-off-by: Austin Foxley --- libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S | 1 + libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S | 1 + libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S | 1 + libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S | 1 + libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_once.S | 1 + libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S | 1 + libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S | 1 + libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S | 1 + 8 files changed, 8 insertions(+) (limited to 'libpthread/nptl/sysdeps/unix/sysv/linux/x86_64') 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..1a116cf8f 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 + .protected __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..9852e79fc 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 + .protected __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..3a965ad0b 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 + .protected __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..cc67ed9de 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 + .protected __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..9013d8fa0 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 + .protected __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..82badb1ee 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 + .protected __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..e34c42ea2 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 + .protected __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..c626d9e1a 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 + .protected __pthread_rwlock_wrlock .align 16 __pthread_rwlock_wrlock: cfi_startproc -- cgit v1.2.3