diff options
author | Ulrich Drepper <drepper@redhat.com> | 2006-05-09 15:19:13 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2006-05-09 15:19:13 +0000 |
commit | be434a72b023edab7851c13da8f0639e46ee4fa8 (patch) | |
tree | 99f98e631af6a49de5add8870d12413a61e7fc47 /nptl/sysdeps/unix/sysv/linux | |
parent | bf3635d31d18ed1d6274115ed332db374a3e7bcf (diff) | |
download | glibc-be434a72b023edab7851c13da8f0639e46ee4fa8.tar glibc-be434a72b023edab7851c13da8f0639e46ee4fa8.tar.gz glibc-be434a72b023edab7851c13da8f0639e46ee4fa8.tar.bz2 glibc-be434a72b023edab7851c13da8f0639e46ee4fa8.zip |
[BZ #2644]
2006-05-09 Ulrich Drepper <drepper@redhat.com>
[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.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c | 7 |
1 files changed, 2 insertions, 5 deletions
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); } |