about summary refs log tree commit diff
path: root/nptl/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sysdeps')
-rw-r--r--nptl/sysdeps/i386/Makefile4
-rw-r--r--nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h4
-rw-r--r--nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h2
-rw-r--r--nptl/sysdeps/x86_64/Makefile4
4 files changed, 11 insertions, 3 deletions
diff --git a/nptl/sysdeps/i386/Makefile b/nptl/sysdeps/i386/Makefile
index 24990a2b7e..a18c1bc8f1 100644
--- a/nptl/sysdeps/i386/Makefile
+++ b/nptl/sysdeps/i386/Makefile
@@ -19,3 +19,7 @@
 ifeq ($(subdir),csu)
 gen-as-const-headers += tcb-offsets.sym
 endif
+
+ifeq ($(subdir),nptl)
+CFLAGS-tst-align.c += -malign-double
+endif
diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h
index 8fa96ed6a2..24cbfe8cc3 100644
--- a/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h
@@ -103,7 +103,7 @@ static inline void
 __attribute__ ((always_inline))
 __lll_mutex_lock (int *futex)
 {
-  int val = __lll_add (futex, 1);
+  int val = atomic_exchange_and_add (futex, 1);
 
   if (__builtin_expect (val != 0, 0))
     __lll_lock_wait (futex, val);
@@ -119,7 +119,7 @@ static inline int
 __attribute__ ((always_inline))
 __lll_mutex_timedlock (int *futex, const struct timespec *abstime)
 {
-  int val = __lll_add (futex, 1);
+  int val = atomic_exchange_and_add (futex, 1);
   int result = 0;
 
   if (__builtin_expect (val != 0, 0))
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
index 7c9147e3cc..5483586c7b 100644
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
+++ b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
@@ -91,7 +91,7 @@
 # else
 #   define SINGLE_THREAD_P						\
   lwz   10,MULTIPLE_THREADS_OFFSET(13);				\
-  cmpdi 10,0
+  cmpwi 10,0
 # endif
 
 #elif !defined __ASSEMBLER__
diff --git a/nptl/sysdeps/x86_64/Makefile b/nptl/sysdeps/x86_64/Makefile
index 24990a2b7e..a18c1bc8f1 100644
--- a/nptl/sysdeps/x86_64/Makefile
+++ b/nptl/sysdeps/x86_64/Makefile
@@ -19,3 +19,7 @@
 ifeq ($(subdir),csu)
 gen-as-const-headers += tcb-offsets.sym
 endif
+
+ifeq ($(subdir),nptl)
+CFLAGS-tst-align.c += -malign-double
+endif