about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/arm/bits/atomic.h6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 9c9b2c3a3b..3c0b5aeb5c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2014-07-17  Will Newton  <will.newton@linaro.org>
 
+	* sysdeps/arm/bits/atomic.h
+	(__arch_compare_and_exchange_bool_8_int): Evaluate to zero.
+	(__arch_compare_and_exchange_bool_16_int): Likewise.
+	(__arch_compare_and_exchange_bool_64_int): Likewise.
+
 	* iconv/loop.c: Move definition of LOOPFCT and gconv_btowc
 	into an #else block.
 
diff --git a/sysdeps/arm/bits/atomic.h b/sysdeps/arm/bits/atomic.h
index c2d5be5703..88cbe67926 100644
--- a/sysdeps/arm/bits/atomic.h
+++ b/sysdeps/arm/bits/atomic.h
@@ -96,10 +96,10 @@ void __arm_link_error (void);
    For all "bool" routines, we return FALSE if exchange succesful.  */
 
 # define __arch_compare_and_exchange_bool_8_int(mem, newval, oldval, model) \
-  ({__arm_link_error (); oldval; })
+  ({__arm_link_error (); 0; })
 
 # define __arch_compare_and_exchange_bool_16_int(mem, newval, oldval, model) \
-  ({__arm_link_error (); oldval; })
+  ({__arm_link_error (); 0; })
 
 # define __arch_compare_and_exchange_bool_32_int(mem, newval, oldval, model) \
   ({                                                                    \
@@ -109,7 +109,7 @@ void __arm_link_error (void);
   })
 
 # define __arch_compare_and_exchange_bool_64_int(mem, newval, oldval, model) \
-  ({__arm_link_error (); oldval; })
+  ({__arm_link_error (); 0; })
 
 # define __arch_compare_and_exchange_val_8_int(mem, newval, oldval, model) \
   ({__arm_link_error (); oldval; })