From b7ec8e346bea007bbc2a33d9dba08b741e857f6b Mon Sep 17 00:00:00 2001
From: aph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri, 16 Jan 2004 17:25:26 +0000
Subject: [PATCH] 2004-01-16  Andrew Haley  <aph@redhat.com>

	* sysdep/x86-64/locks.h: Don't use in/out memory constraints.
	* sysdep/i386/locks.h: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75982 138bc75d-0d04-0410-961f-82ee72b054a4
---
 libjava/ChangeLog             | 5 +++++
 libjava/sysdep/i386/locks.h   | 4 ++--
 libjava/sysdep/x86-64/locks.h | 8 ++++----
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index c16a006c96b9..517aea5b2c41 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+2004-01-16  Andrew Haley  <aph@redhat.com>
+
+	* sysdep/x86-64/locks.h: Don't use in/out memory constraints.
+	* sysdep/i386/locks.h: Likewise.
+
 2004-01-16  Fernando Nasser  <fnasser@redhat.com>
 
 	* java/awt/EventDispatchThread.java (run): Stop running when
diff --git a/libjava/sysdep/i386/locks.h b/libjava/sysdep/i386/locks.h
index a9501ae99b23..0e2cd797148a 100644
--- a/libjava/sysdep/i386/locks.h
+++ b/libjava/sysdep/i386/locks.h
@@ -25,8 +25,8 @@ compare_and_swap(volatile obj_addr_t *addr,
 {
   char result;
   __asm__ __volatile__("lock; cmpxchgl %2, %0; setz %1"
-	      : "+m"(*(addr)), "=q"(result)
-	      : "r" (new_val), "a"(old)
+	      : "=m"(*addr), "=q"(result)
+	      : "r" (new_val), "a"(old), "m"(*addr)
 	      : "memory");
   return (bool) result;
 }
diff --git a/libjava/sysdep/x86-64/locks.h b/libjava/sysdep/x86-64/locks.h
index bad6de6dc6f6..7fb9bbba0bf6 100644
--- a/libjava/sysdep/x86-64/locks.h
+++ b/libjava/sysdep/x86-64/locks.h
@@ -26,13 +26,13 @@ compare_and_swap(volatile obj_addr_t *addr, obj_addr_t old, obj_addr_t new_val)
   char result;
 #ifdef __x86_64__
   __asm__ __volatile__("lock; cmpxchgq %2, %0; setz %1"
-	      : "+m"(*(addr)), "=q"(result)
-	      : "r" (new_val), "a"(old)
+	      : "=m"(*(addr)), "=q"(result)
+	      : "r" (new_val), "a"(old), "m"(*addr)
 	      : "memory");
 #else
   __asm__ __volatile__("lock; cmpxchgl %2, %0; setz %1"
-		       : "+m"(*(addr)), "=q"(result)
-		       : "r" (new_val), "a"(old)
+		       : "=m"(*(addr)), "=q"(result)
+		       : "r" (new_val), "a"(old), "m"(*addr)
 		       : "memory");
 #endif
   return (bool) result;
-- 
GitLab