about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2004-06-11 10:15:39 +0000
committerRoland McGrath <roland@gnu.org>2004-06-11 10:15:39 +0000
commitf1847a84656ed3f8432d1c6d7c804e07b7caa84b (patch)
treee9e8662665fce7ee6f5a5865f167935425210304 /nptl
parentb80af23ac6973e69df6cd23d221fa44fffb21e17 (diff)
downloadglibc-f1847a84656ed3f8432d1c6d7c804e07b7caa84b.tar.gz
glibc-f1847a84656ed3f8432d1c6d7c804e07b7caa84b.tar.xz
glibc-f1847a84656ed3f8432d1c6d7c804e07b7caa84b.zip
* sysdeps/arm/strlen.S [__ARMEB__]: Compute correctly for big-endian.
	From Krzysztof Halasa <khc@pm.waw.pl>.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog7
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h6
2 files changed, 10 insertions, 3 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 1f5c3f6f43..01de11fa82 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,10 @@
+2004-06-11  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (lll_compare_and_swap):
+	Add memory clobber to inline assembly.
+	(__lll_mutex_trylock): Likewise.
+	(__lll_mutex_cond_trylock): Likewise.
+
 2004-06-07  Martin Schwidefsky  <schwidefsky@de.ibm.com>
 
 	* sysdeps/unix/sysv/linux/s390/lowlevellock.h (lll_futex_requeue):
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
index 9549cff64e..34f8b09f61 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
@@ -112,7 +112,7 @@
 		      "	  jl  0b\n"					      \
 		      "1:"						      \
 		      : "=Q" (*__futex), "=&d" (oldval), "=&d" (newval)	      \
-		      : "m" (*__futex) : "cc" );			      \
+		      : "m" (*__futex) : "cc", "memory" );		      \
   } while (0)
 
 
@@ -124,7 +124,7 @@ __lll_mutex_trylock (int *futex)
 
     __asm __volatile ("cs %0,%3,%1"
 		       : "=d" (old), "=Q" (*futex)
-		       : "0" (0), "d" (1), "m" (*futex) : "cc" );
+		       : "0" (0), "d" (1), "m" (*futex) : "cc", "memory" );
     return old != 0;
 }
 #define lll_mutex_trylock(futex) __lll_mutex_trylock (&(futex))
@@ -138,7 +138,7 @@ __lll_mutex_cond_trylock (int *futex)
 
     __asm __volatile ("cs %0,%3,%1"
 		       : "=d" (old), "=Q" (*futex)
-		       : "0" (0), "d" (2), "m" (*futex) : "cc" );
+		       : "0" (0), "d" (2), "m" (*futex) : "cc", "memory" );
     return old != 0;
 }
 #define lll_mutex_cond_trylock(futex) __lll_mutex_cond_trylock (&(futex))