diff options
author | Timo Teras <timo.teras@iki.fi> | 2010-04-16 16:56:00 +0300 |
---|---|---|
committer | Austin Foxley <austinf@cetoncorp.com> | 2010-04-16 10:14:06 -0700 |
commit | a501a33e9761f32b3d38ab9f113892abe7cef3f1 (patch) | |
tree | b40d9f2c93c4ed7ff094bddda0b38dfeb7fdf26d | |
parent | 0eadd98d30c51d26fde4062e6b8c48f3c9b5148d (diff) |
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 <timo.teras@iki.fi>
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
69 files changed, 70 insertions, 0 deletions
diff --git a/libpthread/nptl/cleanup_defer_compat.c b/libpthread/nptl/cleanup_defer_compat.c index 8fd9b5415..95fa4a061 100644 --- a/libpthread/nptl/cleanup_defer_compat.c +++ b/libpthread/nptl/cleanup_defer_compat.c @@ -21,6 +21,7 @@ void +attribute_protected _pthread_cleanup_push_defer ( struct _pthread_cleanup_buffer *buffer, void (*routine) (void *), @@ -60,6 +61,7 @@ strong_alias (_pthread_cleanup_push_defer, __pthread_cleanup_push_defer) void +attribute_protected _pthread_cleanup_pop_restore ( struct _pthread_cleanup_buffer *buffer, int execute) diff --git a/libpthread/nptl/pt-cleanup.c b/libpthread/nptl/pt-cleanup.c index f72ea26e9..97673b6c5 100644 --- a/libpthread/nptl/pt-cleanup.c +++ b/libpthread/nptl/pt-cleanup.c @@ -23,6 +23,7 @@ #include <jmpbuf-unwind.h> void +attribute_protected __pthread_cleanup_upto (__jmp_buf target, char *targetframe) { struct pthread *self = THREAD_SELF; diff --git a/libpthread/nptl/pthread_attr_destroy.c b/libpthread/nptl/pthread_attr_destroy.c index b8e6a374b..52bffaf84 100644 --- a/libpthread/nptl/pthread_attr_destroy.c +++ b/libpthread/nptl/pthread_attr_destroy.c @@ -24,6 +24,7 @@ #include "pthreadP.h" int +attribute_protected __pthread_attr_destroy ( pthread_attr_t *attr) { diff --git a/libpthread/nptl/pthread_attr_getdetachstate.c b/libpthread/nptl/pthread_attr_getdetachstate.c index 5f549ba2b..a55d5167f 100644 --- a/libpthread/nptl/pthread_attr_getdetachstate.c +++ b/libpthread/nptl/pthread_attr_getdetachstate.c @@ -22,6 +22,7 @@ int +attribute_protected __pthread_attr_getdetachstate ( const pthread_attr_t *attr, int *detachstate) diff --git a/libpthread/nptl/pthread_attr_getinheritsched.c b/libpthread/nptl/pthread_attr_getinheritsched.c index 3ff304094..f94f6b078 100644 --- a/libpthread/nptl/pthread_attr_getinheritsched.c +++ b/libpthread/nptl/pthread_attr_getinheritsched.c @@ -22,6 +22,7 @@ int +attribute_protected __pthread_attr_getinheritsched ( const pthread_attr_t *attr, int *inherit) diff --git a/libpthread/nptl/pthread_attr_getschedparam.c b/libpthread/nptl/pthread_attr_getschedparam.c index 82b237198..2f515b13c 100644 --- a/libpthread/nptl/pthread_attr_getschedparam.c +++ b/libpthread/nptl/pthread_attr_getschedparam.c @@ -23,6 +23,7 @@ int +attribute_protected __pthread_attr_getschedparam ( const pthread_attr_t *attr, struct sched_param *param) diff --git a/libpthread/nptl/pthread_attr_getschedpolicy.c b/libpthread/nptl/pthread_attr_getschedpolicy.c index 7b8f1deb6..924a4628f 100644 --- a/libpthread/nptl/pthread_attr_getschedpolicy.c +++ b/libpthread/nptl/pthread_attr_getschedpolicy.c @@ -22,6 +22,7 @@ int +attribute_protected __pthread_attr_getschedpolicy ( const pthread_attr_t *attr, int *policy) diff --git a/libpthread/nptl/pthread_attr_getscope.c b/libpthread/nptl/pthread_attr_getscope.c index 9b05ffaea..aaaf6b9fa 100644 --- a/libpthread/nptl/pthread_attr_getscope.c +++ b/libpthread/nptl/pthread_attr_getscope.c @@ -22,6 +22,7 @@ int +attribute_protected __pthread_attr_getscope ( const pthread_attr_t *attr, int *scope) diff --git a/libpthread/nptl/pthread_attr_init.c b/libpthread/nptl/pthread_attr_init.c index 65ce4e5e3..6de309d85 100644 --- a/libpthread/nptl/pthread_attr_init.c +++ b/libpthread/nptl/pthread_attr_init.c @@ -29,6 +29,7 @@ int __attr_list_lock = LLL_LOCK_INITIALIZER; int +attribute_protected __pthread_attr_init_2_1 ( pthread_attr_t *attr) { diff --git a/libpthread/nptl/pthread_attr_setdetachstate.c b/libpthread/nptl/pthread_attr_setdetachstate.c index b6d9bb52e..a038cbd5b 100644 --- a/libpthread/nptl/pthread_attr_setdetachstate.c +++ b/libpthread/nptl/pthread_attr_setdetachstate.c @@ -23,6 +23,7 @@ int +attribute_protected __pthread_attr_setdetachstate (pthread_attr_t *attr, int detachstate) { struct pthread_attr *iattr; diff --git a/libpthread/nptl/pthread_attr_setinheritsched.c b/libpthread/nptl/pthread_attr_setinheritsched.c index 9d0234aaa..3fc92e5a7 100644 --- a/libpthread/nptl/pthread_attr_setinheritsched.c +++ b/libpthread/nptl/pthread_attr_setinheritsched.c @@ -23,6 +23,7 @@ int +attribute_protected __pthread_attr_setinheritsched ( pthread_attr_t *attr, int inherit) diff --git a/libpthread/nptl/pthread_attr_setschedparam.c b/libpthread/nptl/pthread_attr_setschedparam.c index 741e641a6..13f7313b8 100644 --- a/libpthread/nptl/pthread_attr_setschedparam.c +++ b/libpthread/nptl/pthread_attr_setschedparam.c @@ -24,6 +24,7 @@ int +attribute_protected __pthread_attr_setschedparam ( pthread_attr_t *attr, const struct sched_param *param) diff --git a/libpthread/nptl/pthread_attr_setschedpolicy.c b/libpthread/nptl/pthread_attr_setschedpolicy.c index 1d87b53c0..bcc69ba36 100644 --- a/libpthread/nptl/pthread_attr_setschedpolicy.c +++ b/libpthread/nptl/pthread_attr_setschedpolicy.c @@ -23,6 +23,7 @@ int +attribute_protected __pthread_attr_setschedpolicy ( pthread_attr_t *attr, int policy) diff --git a/libpthread/nptl/pthread_attr_setscope.c b/libpthread/nptl/pthread_attr_setscope.c index cc4e46708..b9b752f81 100644 --- a/libpthread/nptl/pthread_attr_setscope.c +++ b/libpthread/nptl/pthread_attr_setscope.c @@ -23,6 +23,7 @@ int +attribute_protected __pthread_attr_setscope ( pthread_attr_t *attr, int scope) diff --git a/libpthread/nptl/pthread_cond_destroy.c b/libpthread/nptl/pthread_cond_destroy.c index b67b53506..cb49ce1db 100644 --- a/libpthread/nptl/pthread_cond_destroy.c +++ b/libpthread/nptl/pthread_cond_destroy.c @@ -22,6 +22,7 @@ int +attribute_protected __pthread_cond_destroy ( pthread_cond_t *cond) { diff --git a/libpthread/nptl/pthread_cond_init.c b/libpthread/nptl/pthread_cond_init.c index dec644465..f7187a39b 100644 --- a/libpthread/nptl/pthread_cond_init.c +++ b/libpthread/nptl/pthread_cond_init.c @@ -22,6 +22,7 @@ int +attribute_protected __pthread_cond_init ( pthread_cond_t *cond, const pthread_condattr_t *cond_attr) diff --git a/libpthread/nptl/pthread_condattr_destroy.c b/libpthread/nptl/pthread_condattr_destroy.c index bdb644152..dcaaa0fd5 100644 --- a/libpthread/nptl/pthread_condattr_destroy.c +++ b/libpthread/nptl/pthread_condattr_destroy.c @@ -21,6 +21,7 @@ int +attribute_protected __pthread_condattr_destroy (pthread_condattr_t *attr) { /* Nothing to be done. */ diff --git a/libpthread/nptl/pthread_condattr_init.c b/libpthread/nptl/pthread_condattr_init.c index d22ca1e1d..7cd82a823 100644 --- a/libpthread/nptl/pthread_condattr_init.c +++ b/libpthread/nptl/pthread_condattr_init.c @@ -22,6 +22,7 @@ int +attribute_protected __pthread_condattr_init (pthread_condattr_t *attr) { memset (attr, '\0', sizeof (*attr)); diff --git a/libpthread/nptl/pthread_equal.c b/libpthread/nptl/pthread_equal.c index 8587e0f52..c454a4822 100644 --- a/libpthread/nptl/pthread_equal.c +++ b/libpthread/nptl/pthread_equal.c @@ -21,6 +21,7 @@ int +attribute_protected __pthread_equal (pthread_t thread1, pthread_t thread2) { return thread1 == thread2; diff --git a/libpthread/nptl/pthread_exit.c b/libpthread/nptl/pthread_exit.c index a8c92fd29..88d3859b7 100644 --- a/libpthread/nptl/pthread_exit.c +++ b/libpthread/nptl/pthread_exit.c @@ -22,6 +22,7 @@ void +attribute_protected __pthread_exit (void* value) { THREAD_SETMEM (THREAD_SELF, result, value); diff --git a/libpthread/nptl/pthread_getschedparam.c b/libpthread/nptl/pthread_getschedparam.c index bb5f0a97e..53dc4113d 100644 --- a/libpthread/nptl/pthread_getschedparam.c +++ b/libpthread/nptl/pthread_getschedparam.c @@ -24,6 +24,7 @@ int +attribute_protected __pthread_getschedparam ( pthread_t threadid, int *policy, diff --git a/libpthread/nptl/pthread_getspecific.c b/libpthread/nptl/pthread_getspecific.c index 62c48fe8e..639a4fdeb 100644 --- a/libpthread/nptl/pthread_getspecific.c +++ b/libpthread/nptl/pthread_getspecific.c @@ -22,6 +22,7 @@ void * +attribute_protected __pthread_getspecific (pthread_key_t key) { struct pthread_key_data *data; diff --git a/libpthread/nptl/pthread_key_create.c b/libpthread/nptl/pthread_key_create.c index 3744c08ad..d3c1d2662 100644 --- a/libpthread/nptl/pthread_key_create.c +++ b/libpthread/nptl/pthread_key_create.c @@ -23,6 +23,7 @@ int +attribute_protected __pthread_key_create ( pthread_key_t *key, void (*destr) (void *)) diff --git a/libpthread/nptl/pthread_mutex_destroy.c b/libpthread/nptl/pthread_mutex_destroy.c index f487d617a..756e8bbe8 100644 --- a/libpthread/nptl/pthread_mutex_destroy.c +++ b/libpthread/nptl/pthread_mutex_destroy.c @@ -22,6 +22,7 @@ int +attribute_protected __pthread_mutex_destroy ( pthread_mutex_t *mutex) { diff --git a/libpthread/nptl/pthread_mutex_init.c b/libpthread/nptl/pthread_mutex_init.c index dd6e6d6fe..e942c1b72 100644 --- a/libpthread/nptl/pthread_mutex_init.c +++ b/libpthread/nptl/pthread_mutex_init.c @@ -37,6 +37,7 @@ static int tpi_supported; int +attribute_protected __pthread_mutex_init ( pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr) diff --git a/libpthread/nptl/pthread_mutex_lock.c b/libpthread/nptl/pthread_mutex_lock.c index 47e4d4158..6abf3236e 100644 --- a/libpthread/nptl/pthread_mutex_lock.c +++ b/libpthread/nptl/pthread_mutex_lock.c @@ -42,6 +42,7 @@ static int __pthread_mutex_lock_full (pthread_mutex_t *mutex) int +attribute_protected __pthread_mutex_lock ( pthread_mutex_t *mutex) { diff --git a/libpthread/nptl/pthread_mutex_unlock.c b/libpthread/nptl/pthread_mutex_unlock.c index f164cde3a..3abada235 100644 --- a/libpthread/nptl/pthread_mutex_unlock.c +++ b/libpthread/nptl/pthread_mutex_unlock.c @@ -284,6 +284,7 @@ __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr) int +attribute_protected __pthread_mutex_unlock ( pthread_mutex_t *mutex) { diff --git a/libpthread/nptl/pthread_self.c b/libpthread/nptl/pthread_self.c index f0e3b3f98..1ad528367 100644 --- a/libpthread/nptl/pthread_self.c +++ b/libpthread/nptl/pthread_self.c @@ -22,6 +22,7 @@ pthread_t +attribute_protected __pthread_self (void) { return (pthread_t) THREAD_SELF; diff --git a/libpthread/nptl/pthread_setcancelstate.c b/libpthread/nptl/pthread_setcancelstate.c index e53b52d67..ed6973584 100644 --- a/libpthread/nptl/pthread_setcancelstate.c +++ b/libpthread/nptl/pthread_setcancelstate.c @@ -23,6 +23,7 @@ int +attribute_protected __pthread_setcancelstate ( int state, int *oldstate) diff --git a/libpthread/nptl/pthread_setcanceltype.c b/libpthread/nptl/pthread_setcanceltype.c index 47c104b02..8ac0df300 100644 --- a/libpthread/nptl/pthread_setcanceltype.c +++ b/libpthread/nptl/pthread_setcanceltype.c @@ -23,6 +23,7 @@ int +attribute_protected __pthread_setcanceltype ( |