aboutsummaryrefslogtreecommitdiff
path: root/linuxthreads/sysdeps/unix
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-12-11 22:18:39 +0000
committerUlrich Drepper <drepper@redhat.com>2003-12-11 22:18:39 +0000
commit1ce9631b86cbc5ae3104561f37bf7ea22f8c437c (patch)
treeeb393aa2c055fe395a2ac18d527daa3a49cb2b0b /linuxthreads/sysdeps/unix
parent092eb73ca2507c29adb37cd8075730e43c1e3794 (diff)
downloadglibc-1ce9631b86cbc5ae3104561f37bf7ea22f8c437c.tar
glibc-1ce9631b86cbc5ae3104561f37bf7ea22f8c437c.tar.gz
glibc-1ce9631b86cbc5ae3104561f37bf7ea22f8c437c.tar.bz2
glibc-1ce9631b86cbc5ae3104561f37bf7ea22f8c437c.zip
Update.
2003-12-11 Carlos O'Donell <carlos@baldric.uwo.ca> * sysdeps/generic/dl-fptr.c (COMPARE_AND_SWAP): Pass new and old in the right order.
Diffstat (limited to 'linuxthreads/sysdeps/unix')
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h20
1 files changed, 5 insertions, 15 deletions
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h b/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
index 17fde9da2c..387229a466 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
+++ b/linuxthreads/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
@@ -89,22 +89,12 @@
# endif
# ifndef __ASSEMBLER__
-extern int __local_multiple_threads
-# if !defined NOT_IN_libc || defined IS_IN_libpthread
- attribute_hidden;
-# else
- ;
-# endif
-# define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
+# define SINGLE_THREAD_P \
+ __builtin_expect (THREAD_GETMEM (THREAD_SELF, p_multiple_threads) == 0, 1)
# else
-# define SINGLE_THREAD_P \
- .section ".toc","aw"; \
-.LC__local_multiple_threads:; \
- .tc __local_multiple_threads[TC],__local_multiple_threads; \
- .previous; \
- ld 10,.LC__local_multiple_threads@toc(2); \
- ld 10,0(10); \
- cmpdi 10,0
+# define SINGLE_THREAD_P \
+ lwz 10,MULTIPLE_THREADS_OFFSET(13); \
+ cmpwi 10,0
# endif
#elif !defined __ASSEMBLER__