aboutsummaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/ia64
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-05-09 15:19:13 +0000
committerUlrich Drepper <drepper@redhat.com>2006-05-09 15:19:13 +0000
commitbe434a72b023edab7851c13da8f0639e46ee4fa8 (patch)
tree99f98e631af6a49de5add8870d12413a61e7fc47 /nptl/sysdeps/unix/sysv/linux/ia64
parentbf3635d31d18ed1d6274115ed332db374a3e7bcf (diff)
downloadglibc-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/ia64')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c7
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);
}