about summary refs log tree commit diff
path: root/nptl/sysdeps/s390
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sysdeps/s390')
-rw-r--r--nptl/sysdeps/s390/pthread_spin_lock.c4
-rw-r--r--nptl/sysdeps/s390/pthread_spin_trylock.c2
-rw-r--r--nptl/sysdeps/s390/tls.h4
3 files changed, 6 insertions, 4 deletions
diff --git a/nptl/sysdeps/s390/pthread_spin_lock.c b/nptl/sysdeps/s390/pthread_spin_lock.c
index 7d0067b0e9..f0fddf4ae8 100644
--- a/nptl/sysdeps/s390/pthread_spin_lock.c
+++ b/nptl/sysdeps/s390/pthread_spin_lock.c
@@ -23,12 +23,12 @@ int
 pthread_spin_lock (lock)
      pthread_spinlock_t *lock;
 {
-  unsigned long int oldval;
+  int oldval;
 
   __asm __volatile ("0: lhi %0,0\n"
 		    "   cs  %0,%2,%1\n"
 		    "   jl  0b"
-		    : "=d" (oldval), "=Q" (*lock)
+		    : "=&d" (oldval), "=Q" (*lock)
 		    : "d" (1), "m" (*lock) : "cc" );
   return 0;
 }
diff --git a/nptl/sysdeps/s390/pthread_spin_trylock.c b/nptl/sysdeps/s390/pthread_spin_trylock.c
index 8ed0a36647..0153b65dad 100644
--- a/nptl/sysdeps/s390/pthread_spin_trylock.c
+++ b/nptl/sysdeps/s390/pthread_spin_trylock.c
@@ -24,7 +24,7 @@ int
 pthread_spin_trylock (lock)
      pthread_spinlock_t *lock;
 {
-  unsigned long int old;
+  int old;
 
   __asm __volatile ("cs %0,%3,%1"
 		    : "=d" (old), "=Q" (*lock)
diff --git a/nptl/sysdeps/s390/tls.h b/nptl/sysdeps/s390/tls.h
index 4151f7fded..3f31823496 100644
--- a/nptl/sysdeps/s390/tls.h
+++ b/nptl/sysdeps/s390/tls.h
@@ -48,7 +48,9 @@ typedef struct
 #endif
 } tcbhead_t;
 
-# define TLS_MULTIPLE_THREADS_IN_TCB 1
+# ifndef __s390x__
+#  define TLS_MULTIPLE_THREADS_IN_TCB 1
+# endif
 
 #else /* __ASSEMBLER__ */
 # include <tcb-offsets.h>