about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ports/ChangeLog.arm6
-rw-r--r--ports/sysdeps/arm/bits/atomic.h2
2 files changed, 7 insertions, 1 deletions
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index a0c583b997..b6c0225165 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,3 +1,9 @@
+2012-09-21  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/arm/bits/atomic.h [!__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4]
+	(__arch_compare_and_exchange_val_32_acq): Correct order of
+	arguments of __arm_assisted_compare_and_exchange_val_32_acq.
+
 2012-09-12  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/arm/get-rounding-mode.h: New file.
diff --git a/ports/sysdeps/arm/bits/atomic.h b/ports/sysdeps/arm/bits/atomic.h
index 99842105cc..39e276f098 100644
--- a/ports/sysdeps/arm/bits/atomic.h
+++ b/ports/sysdeps/arm/bits/atomic.h
@@ -58,7 +58,7 @@ void __arm_link_error (void);
   __sync_val_compare_and_swap ((mem), (oldval), (newval))
 #else
 # define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
-  __arm_assisted_compare_and_exchange_val_32_acq ((mem), (oldval), (newval))
+  __arm_assisted_compare_and_exchange_val_32_acq ((mem), (newval), (oldval))
 #endif
 
 /* We don't support atomic operations on any non-word types.