From be434a72b023edab7851c13da8f0639e46ee4fa8 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 9 May 2006 15:19:13 +0000 Subject: [BZ #2644] 2006-05-09 Ulrich Drepper [BZ #2644] * sysdeps/pthread/unwind-forcedunwind.c: Different solution for the reload problem. Change the one path in pthread_cancel_init which causes the problem. Force gcc to reload. Simplify callers. * sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c (_Unwind_GetBSP): Undo last patch. --- nptl/sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'nptl/sysdeps/unix') diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c b/nptl/sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c index a788fa31f9..d0c77a62e6 100644 --- a/nptl/sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c +++ b/nptl/sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c @@ -33,10 +33,7 @@ _Unwind_Word _Unwind_GetBSP (struct _Unwind_Context *context) { if (__builtin_expect (libgcc_s_getbsp == NULL, 0)) - { - pthread_cancel_init (); - /* The function pointer has changed, ensure we reload it. */ - asm volatile ("" : "+m" (libgcc_s_getbsp)); - } + pthread_cancel_init (); + return libgcc_s_getbsp (context); } -- cgit v1.2.3-70-g09d2