diff options
Diffstat (limited to 'libpthread/nptl')
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 (       int type,       int *oldtype) diff --git a/libpthread/nptl/pthread_setschedparam.c b/libpthread/nptl/pthread_setschedparam.c index 9b33b3e3f..c97de7d8b 100644 --- a/libpthread/nptl/pthread_setschedparam.c +++ b/libpthread/nptl/pthread_setschedparam.c @@ -25,6 +25,7 @@  int +attribute_protected  __pthread_setschedparam (       pthread_t threadid,       int policy, diff --git a/libpthread/nptl/pthread_setspecific.c b/libpthread/nptl/pthread_setspecific.c index 8e24be723..13b24dcfa 100644 --- a/libpthread/nptl/pthread_setspecific.c +++ b/libpthread/nptl/pthread_setspecific.c @@ -23,6 +23,7 @@  int +attribute_protected  __pthread_setspecific (       pthread_key_t key,       const void *value) 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)  { 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..8adf8b44e 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_protected  __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..e977a7d0c 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_protected  __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..ca9ceca00 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 +	.protected	__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..118bc073b 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 +	.protected	__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..8a0c3fbf6 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 +	.protected	__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..006fc510c 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 +	.protected	__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..79501bd56 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 +	.protected	__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..cfab60c67 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 +	.protected	__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..5c96d900b 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 +	.protected	__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..7a2cbf464 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 +	.protected	__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..cc4658b32 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_protected  __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..bc5f3f0f1 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_protected  __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..233183177 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 +	.protected	__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..ca87336d9 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 +	.protected	__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..cacb037d8 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 +	.protected	__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..b0a4e9888 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 +	.protected	__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..46234459a 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 +	.protected	__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..21e05e192 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 +	.protected	__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..1f6c1d812 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 +	.protected	__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..e7bfe0d09 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 +	.protected	__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..24b74aca6 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_protected  __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..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 diff --git a/libpthread/nptl/unwind.c b/libpthread/nptl/unwind.c index 9a35695cb..c7e01e764 100644 --- a/libpthread/nptl/unwind.c +++ b/libpthread/nptl/unwind.c @@ -115,6 +115,7 @@ unwind_cleanup (_Unwind_Reason_Code reason, struct _Unwind_Exception *exc)  void +attribute_protected  __cleanup_fct_attribute __attribute ((noreturn))  __pthread_unwind (__pthread_unwind_buf_t *buf)  { | 
