about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-09-20 08:10:41 +0000
committerUlrich Drepper <drepper@redhat.com>2003-09-20 08:10:41 +0000
commit56a4aa9886dc1145f8feac66b66216a44cb092c1 (patch)
treed7d801c6161be3c4614941995313f70f45b47bb0 /nptl
parent8f31c0eff575bb20505c16635bebee530af533d7 (diff)
downloadglibc-56a4aa9886dc1145f8feac66b66216a44cb092c1.tar.gz
glibc-56a4aa9886dc1145f8feac66b66216a44cb092c1.tar.xz
glibc-56a4aa9886dc1145f8feac66b66216a44cb092c1.zip
Update.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Don't match memory
	in parameters of asm with output parameters.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog3
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h22
2 files changed, 14 insertions, 11 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 7671777f27..dd83161bbb 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,8 @@
 2003-09-20  Ulrich Drepper  <drepper@redhat.com>
 
+	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Don't match memory
+	in parameters of asm with output parameters.
+
 	* pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt): Change
 	type of DECR parameter to int.
 	* pthreadP.h: Adjust prototype of __pthread_mutex_unlock_usercnt.
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
index cf88c54a59..ebda2f8420 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
@@ -105,7 +105,7 @@ extern int __lll_mutex_unlock_wait (int *__futex)
   ({ unsigned char ret;							      \
      __asm __volatile (LOCK_INSTR "cmpxchgl %2, %1; setne %0"		      \
 		       : "=a" (ret), "=m" (futex)			      \
-		       : "r" (1), "1" (futex), "0" (0)			      \
+		       : "r" (1), "m" (futex), "0" (0)			      \
 		       : "memory");					      \
      ret; })
 
@@ -125,7 +125,7 @@ extern int __lll_mutex_unlock_wait (int *__futex)
 			      ".previous\n"				      \
 			      "1:"					      \
 			      : "=a" (ignore1), "=&c" (ignore2), "=m" (futex) \
-			      : "0" (1), "2" (futex)			      \
+			      : "0" (1), "m" (futex)			      \
 			      : "memory"); })
 
 
@@ -146,7 +146,7 @@ extern int __lll_mutex_unlock_wait (int *__futex)
 			      ".previous\n"				      \
 			      "1:"					      \
 			      : "=a" (ignore1), "=&c" (ignore2), "=m" (futex) \
-			      : "0" (2), "2" (futex)			      \
+			      : "0" (2), "m" (futex)			      \
 			      : "memory"); })
 
 
@@ -167,7 +167,7 @@ extern int __lll_mutex_unlock_wait (int *__futex)
 		       "1:"						      \
 		       : "=a" (result), "=&c" (ignore1), "=&d" (ignore2),     \
 			 "=m" (futex)					      \
-		       : "0" (1), "3" (futex), "m" (timeout)		      \
+		       : "0" (1), "m" (futex), "m" (timeout)		      \
 		       : "memory");					      \
      result; })
 
@@ -186,7 +186,7 @@ extern int __lll_mutex_unlock_wait (int *__futex)
 			      ".previous\n"				      \
 			      "1:"					      \
 			      : "=m" (futex), "=&a" (ignore)		      \
-			      : "0" (futex)				      \
+			      : "m" (futex)				      \
 			      : "memory"); })
 
 
@@ -223,7 +223,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
   ({ unsigned char ret;							      \
      __asm __volatile (LOCK_INSTR "cmpxchgl %2, %1; setne %0"		      \
 		       : "=a" (ret), "=m" (futex)			      \
-		       : "r" (0), "1" (futex), "0" (1)			      \
+		       : "r" (0), "m" (futex), "0" (1)			      \
 		       : "memory");					      \
      ret; })
 
@@ -242,7 +242,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
 			      ".previous\n"				      \
 			      "1:"					      \
 			      : "=a" (ignore1), "=&c" (ignore2), "=m" (futex) \
-			      : "0" (-1), "2" (futex)			      \
+			      : "0" (-1), "m" (futex)			      \
 			      : "memory"); })
 
 
@@ -260,7 +260,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
 			      ".previous\n"				      \
 			      "1:"					      \
 			      : "=m" (futex), "=&a" (ignore)		      \
-			      : "0" (futex)				      \
+			      : "m" (futex)				      \
 			      : "memory"); })
 #else
 /* Special versions of the macros for use in libc itself.  They avoid
@@ -276,7 +276,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
 		       "lock\n"						      \
 		       "0:\tcmpxchgl %2, %1; setne %0"			      \
 		       : "=a" (ret), "=m" (futex)			      \
-		       : "r" (0), "1" (futex), "0" (1),			      \
+		       : "r" (0), "m" (futex), "0" (1),			      \
 		         "i" (offsetof (tcbhead_t, multiple_threads))	      \
 		       : "memory");					      \
      ret; })
@@ -299,7 +299,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
 			      ".previous\n"				      \
 			      "2:"					      \
 			      : "=a" (ignore1), "=&c" (ignore2), "=m" (futex) \
-			      : "0" (-1), "2" (futex),			      \
+			      : "0" (-1), "m" (futex),			      \
 		                "i" (offsetof (tcbhead_t, multiple_threads))  \
 			      : "memory"); })
 
@@ -321,7 +321,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
 			      ".previous\n"				      \
 			      "2:"					      \
 			      : "=m" (futex), "=&a" (ignore)		      \
-			      : "0" (futex),				      \
+			      : "m" (futex),				      \
 				"i" (offsetof (tcbhead_t, multiple_threads))  \
 			      : "memory"); })
 #endif