2008-04-04 Carlos O'Donell <carlos@codesourcery.com>
authorCarlos O'Donell <carlos@systemhalted.org>
Fri, 4 Apr 2008 18:57:47 +0000 (18:57 +0000)
committerCarlos O'Donell <carlos@systemhalted.org>
Fri, 4 Apr 2008 18:57:47 +0000 (18:57 +0000)
* sysdeps/unix/sysv/linux/hppa/bits/atomic.h: Remove
memory contraint and instead indicate that *mem is
written to.

ChangeLog.hppa
sysdeps/unix/sysv/linux/hppa/bits/atomic.h

index abe017e..d46a0e0 100644 (file)
@@ -1,3 +1,9 @@
+2008-04-04  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * sysdeps/unix/sysv/linux/hppa/bits/atomic.h: Remove
+       memory contraint and instead indicate that *mem is
+       written to.
+
 2008-03-24  Carlos O'Donell  <carlos@codesourcery.com>
 
        * sysdeps/unix/sysv/linux/hppa/sys/user.h: New file.
index 92a309d..b8959f7 100644 (file)
@@ -55,7 +55,7 @@ typedef uintmax_t uatomic_max_t;
 #define LWS "0xb0"
 #define LWS_CAS "0"
 /* Note r31 is the link register */
-#define LWS_CLOBBER "r1", "r26", "r25", "r24", "r23", "r22", "r21", "r20", "r28", "r31", "memory"
+#define LWS_CLOBBER "r1", "r26", "r25", "r24", "r23", "r22", "r21", "r20", "r28", "r31"
 #define ASM_EAGAIN "11" 
 
 #if __ASSUME_LWS_CAS
@@ -76,7 +76,7 @@ typedef uintmax_t uatomic_max_t;
        "stw    %%r28, %0                       \n\t"                   \
         "sub   %%r0, %%r21, %%r21              \n\t"                   \
        "stw    %%r21, %1                       \n\t"                   \
-       : "=m" (lws_ret), "=m" (lws_errno), "=m" (*mem)                 \
+       : "=m" (lws_ret), "=m" (lws_errno), "+m" (*mem)                 \
         : "r" (mem), "r" (oldval), "r" (newval)                                \
        : LWS_CLOBBER                                                   \
      );                                                                        \