about summary refs log tree commit diff
path: root/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-03-17 10:11:31 +0000
committerUlrich Drepper <drepper@redhat.com>2003-03-17 10:11:31 +0000
commit46a32546c924213322a0d0d5b6d636d2f58094c0 (patch)
tree2266b13e8fd91a2595fc1cadf0bef12cce712589 /nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
parentfb2ee178fa1e50dd1ec4b8ff5300f13afbbb1dd9 (diff)
downloadglibc-46a32546c924213322a0d0d5b6d636d2f58094c0.tar.gz
glibc-46a32546c924213322a0d0d5b6d636d2f58094c0.tar.xz
glibc-46a32546c924213322a0d0d5b6d636d2f58094c0.zip
Update.
2003-03-17  Ulrich Drepper  <drepper@redhat.com>

	* localedata/en_ZA: hanged %x for LC_TIME to use dd/mm/ccyy.
	Added ^ to LC_MESSAGES regex "^[yY].*".
	Confirmed LC_PAPER adn LC_MEASUREMENT settings.
	Added country and language names to LC_ADDRESS.
	Added missing info for LC_TELEPHONE.
	Patch by Dwayne Bailey <dwayne@obsidian.co.za>.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h19
1 files changed, 9 insertions, 10 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
index c593f6ac66..daece67eab 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
@@ -66,7 +66,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden;
 			      "testl %0, %0\n\t"			      \
 			      "jne 1f\n\t"				      \
 			      ".subsection 1\n"				      \
-			      "1:\tleaq %2, %%rsi\n\t"			      \
+			      "1:\tleaq %2, %%rdi\n\t"			      \
 			      "subq $128, %%rsp\n\t"			      \
 			      "callq __lll_mutex_lock_wait\n\t"		      \
 			      "addq $128, %%rsp\n\t"			      \
@@ -75,8 +75,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden;
 			      "2:"					      \
 			      : "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \
 			      : "0" (1), "2" (futex)			      \
-			      : "memory"); })
-
+			      : "cx", "r11", "cc", "memory"); })
 
 #define lll_mutex_timedlock(futex, timeout) \
   ({ int result, ignore1, ignore2, ignore3;				      \
@@ -95,7 +94,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden;
 		       : "=a" (result), "=&D" (ignore1), "=&S" (ignore2),     \
 			 "=&d" (ignore3), "=m" (futex)			      \
 		       : "0" (1), "4" (futex), "m" (timeout)		      \
-		       : "memory", "cx", "cc", "r10");			      \
+		       : "memory", "cx", "cc", "r10", "r11");		      \
      result; })
 
 
@@ -113,7 +112,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden;
 			      "2:"					      \
 			      : "=m" (futex), "=&D" (ignore)		      \
 			      : "0" (futex)				      \
-			      : "memory"); })
+			      : "cx", "r11", "cc", "memory"); })
 
 
 #define lll_mutex_islocked(futex) \
@@ -166,7 +165,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
 			      "2:"					      \
 			      : "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \
 			      : "0" (-1), "2" (futex)			      \
-			      : "memory"); })
+			      : "cx", "r11", "cc", "memory"); })
 
 
 # define lll_unlock(futex) \
@@ -183,7 +182,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
 			      "2:"					      \
 			      : "=m" (futex), "=&D" (ignore)		      \
 			      : "0" (futex)				      \
-			      : "memory"); })
+			      : "cx", "r11", "cc", "memory"); })
 #else
 /* Special versions of the macros for use in libc itself.  They avoid
    the lock prefix when the thread library is not used.
@@ -219,7 +218,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
 			      "2:"					      \
 			      : "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \
 			      : "0" (-1), "2" (futex)			      \
-			      : "memory"); })
+			      : "cx", "r11", "cc", "memory"); })
 
 
 # define lll_unlock(futex) \
@@ -239,7 +238,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
 			      "2:"					      \
 			      : "=m" (futex), "=&D" (ignore)		      \
 			      : "0" (futex)				      \
-			      : "memory"); })
+			      : "cx", "r11", "cc", "memory"); })
 #endif
 
 
@@ -259,7 +258,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
     register __typeof (tid) _tid asm ("edx") = (tid);			      \
     if (_tid != 0)							      \
       __asm __volatile ("xorq %%r10, %%r10\n\t"				      \
-			"1:\tmovq %3, %%rax\n\t"			      \
+			"1:\tmovq %2, %%rax\n\t"			      \
 			"syscall\n\t"					      \
 			"cmpl $0, (%%rdi)\n\t"				      \
 			"jne 1b"					      \