aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.hppa6
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/atomic.h4
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog.hppa b/ChangeLog.hppa
index abe017e929..d46a0e0eb9 100644
--- a/ChangeLog.hppa
+++ b/ChangeLog.hppa
@@ -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.
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/atomic.h b/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
index 92a309d59f..b8959f7b68 100644
--- a/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
+++ b/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
@@ -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 \
); \