From c3758feebf7c8786231465da664743c6f0ec79cc Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 21 Sep 2010 10:47:14 -0700 Subject: [PATCH] Fix namespace pollution in pthread_cleanup_push. --- nptl/ChangeLog | 6 ++++++ nptl/sysdeps/pthread/pthread.h | 12 ++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 30631dc..dcb94b2 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,9 @@ +2010-09-21 Andreas Schwab + + * sysdeps/pthread/pthread.h (pthread_cleanup_push) + [!__EXCEPTIONS]: Mangle local variable not_first_call. + (pthread_cleanup_push_defer_np): Likewise. + 2010-09-03 Ulrich Drepper * sysdeps/pthread/allocalim.h (__libc_use_alloca): Expect blocks are diff --git a/nptl/sysdeps/pthread/pthread.h b/nptl/sysdeps/pthread/pthread.h index 44cf9f0..4c83665 100644 --- a/nptl/sysdeps/pthread/pthread.h +++ b/nptl/sysdeps/pthread/pthread.h @@ -650,9 +650,9 @@ __pthread_cleanup_routine (struct __pthread_cleanup_frame *__frame) __pthread_unwind_buf_t __cancel_buf; \ void (*__cancel_routine) (void *) = (routine); \ void *__cancel_arg = (arg); \ - int not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) (void *) \ - __cancel_buf.__cancel_jmp_buf, 0); \ - if (__builtin_expect (not_first_call, 0)) \ + int __not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) (void *) \ + __cancel_buf.__cancel_jmp_buf, 0); \ + if (__builtin_expect (__not_first_call, 0)) \ { \ __cancel_routine (__cancel_arg); \ __pthread_unwind_next (&__cancel_buf); \ @@ -685,9 +685,9 @@ extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf) __pthread_unwind_buf_t __cancel_buf; \ void (*__cancel_routine) (void *) = (routine); \ void *__cancel_arg = (arg); \ - int not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) (void *) \ - __cancel_buf.__cancel_jmp_buf, 0); \ - if (__builtin_expect (not_first_call, 0)) \ + int __not_first_call = __sigsetjmp ((struct __jmp_buf_tag *) (void *) \ + __cancel_buf.__cancel_jmp_buf, 0); \ + if (__builtin_expect (__not_first_call, 0)) \ { \ __cancel_routine (__cancel_arg); \ __pthread_unwind_next (&__cancel_buf); \ -- 2.7.4