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/pthread/pthread_cond_broadcast.c | 1 + libpthread/nptl/sysdeps/pthread/pthread_cond_signal.c | 1 + libpthread/nptl/sysdeps/pthread/pthread_cond_timedwait.c | 1 + libpthread/nptl/sysdeps/pthread/pthread_cond_wait.c | 1 + libpthread/nptl/sysdeps/pthread/pthread_rwlock_rdlock.c | 1 + libpthread/nptl/sysdeps/pthread/pthread_rwlock_unlock.c | 1 + libpthread/nptl/sysdeps/pthread/pthread_rwlock_wrlock.c | 1 + 7 files changed, 7 insertions(+) (limited to 'libpthread/nptl/sysdeps/pthread') diff --git a/libpthread/nptl/sysdeps/pthread/pthread_cond_broadcast.c b/libpthread/nptl/sysdeps/pthread/pthread_cond_broadcast.c index 5e7465774..df915523b 100644 --- a/libpthread/nptl/sysdeps/pthread/pthread_cond_broadcast.c +++ b/libpthread/nptl/sysdeps/pthread/pthread_cond_broadcast.c @@ -28,6 +28,7 @@ int +attribute_protected __pthread_cond_broadcast ( pthread_cond_t *cond) { diff --git a/libpthread/nptl/sysdeps/pthread/pthread_cond_signal.c b/libpthread/nptl/sysdeps/pthread/pthread_cond_signal.c index d66f3edbb..b207aa8e7 100644 --- a/libpthread/nptl/sysdeps/pthread/pthread_cond_signal.c +++ b/libpthread/nptl/sysdeps/pthread/pthread_cond_signal.c @@ -28,6 +28,7 @@ int +attribute_protected __pthread_cond_signal ( pthread_cond_t *cond) { diff --git a/libpthread/nptl/sysdeps/pthread/pthread_cond_timedwait.c b/libpthread/nptl/sysdeps/pthread/pthread_cond_timedwait.c index 4aaf5df75..7f3675381 100644 --- a/libpthread/nptl/sysdeps/pthread/pthread_cond_timedwait.c +++ b/libpthread/nptl/sysdeps/pthread/pthread_cond_timedwait.c @@ -39,6 +39,7 @@ struct _condvar_cleanup_buffer }; int +attribute_protected __pthread_cond_timedwait ( pthread_cond_t *cond, pthread_mutex_t *mutex, diff --git a/libpthread/nptl/sysdeps/pthread/pthread_cond_wait.c b/libpthread/nptl/sysdeps/pthread/pthread_cond_wait.c index 2fac02d83..05157ba13 100644 --- a/libpthread/nptl/sysdeps/pthread/pthread_cond_wait.c +++ b/libpthread/nptl/sysdeps/pthread/pthread_cond_wait.c @@ -89,6 +89,7 @@ __condvar_cleanup (void *arg) int +attribute_protected __pthread_cond_wait ( pthread_cond_t *cond, pthread_mutex_t *mutex) diff --git a/libpthread/nptl/sysdeps/pthread/pthread_rwlock_rdlock.c b/libpthread/nptl/sysdeps/pthread/pthread_rwlock_rdlock.c index dc00f2a08..98840f935 100644 --- a/libpthread/nptl/sysdeps/pthread/pthread_rwlock_rdlock.c +++ b/libpthread/nptl/sysdeps/pthread/pthread_rwlock_rdlock.c @@ -26,6 +26,7 @@ /* Acquire read lock for RWLOCK. */ int +attribute_protected __pthread_rwlock_rdlock ( pthread_rwlock_t *rwlock) { diff --git a/libpthread/nptl/sysdeps/pthread/pthread_rwlock_unlock.c b/libpthread/nptl/sysdeps/pthread/pthread_rwlock_unlock.c index a7ef71a11..855fc1984 100644 --- a/libpthread/nptl/sysdeps/pthread/pthread_rwlock_unlock.c +++ b/libpthread/nptl/sysdeps/pthread/pthread_rwlock_unlock.c @@ -25,6 +25,7 @@ /* Unlock RWLOCK. */ int +attribute_protected __pthread_rwlock_unlock (pthread_rwlock_t *rwlock) { lll_lock (rwlock->__data.__lock, rwlock->__data.__shared); diff --git a/libpthread/nptl/sysdeps/pthread/pthread_rwlock_wrlock.c b/libpthread/nptl/sysdeps/pthread/pthread_rwlock_wrlock.c index 81e6daa56..9a441afea 100644 --- a/libpthread/nptl/sysdeps/pthread/pthread_rwlock_wrlock.c +++ b/libpthread/nptl/sysdeps/pthread/pthread_rwlock_wrlock.c @@ -26,6 +26,7 @@ /* Acquire write lock for RWLOCK. */ int +attribute_protected __pthread_rwlock_wrlock ( pthread_rwlock_t *rwlock) { -- cgit v1.2.3