Blame SOURCES/aarch64_fix_atomic_set.patch

01fa84
Description: Fix aarch64 atomic test and set to set the right value.
01fa84
 QBasicAtomicInt::testAndSetRelaxed and
01fa84
 QBasicAtomicPointer<T>::testAndSetRelaxed would previously set the
01fa84
 target to a local stack frame pointer to the new value, rather than to
01fa84
 the new value itself.
01fa84
Author: William Grant <wgrant@ubuntu.com>
01fa84
01fa84
Index: qt4-x11-4.8.4+dfsg/src/corelib/arch/qatomic_aarch64.h
01fa84
===================================================================
01fa84
--- qt4-x11-4.8.4+dfsg.orig/src/corelib/arch/qatomic_aarch64.h	2013-10-13 22:23:58.000000000 +1100
01fa84
+++ qt4-x11-4.8.4+dfsg/src/corelib/arch/qatomic_aarch64.h	2013-10-13 22:24:56.810788571 +1100
01fa84
@@ -135,7 +135,7 @@
01fa84
     bool val;
01fa84
 
01fa84
     Q_COMPILER_MEMORY_BARRIER;
01fa84
-    val =  __atomic_compare_exchange_n (&_q_value, &expectedValue, &newValue,
01fa84
+    val =  __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue,
01fa84
 					false, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
01fa84
     Q_COMPILER_MEMORY_BARRIER;
01fa84
     return val;
01fa84
@@ -164,7 +164,7 @@
01fa84
 {
01fa84
     bool val;
01fa84
     Q_COMPILER_MEMORY_BARRIER;
01fa84
-    val =  __atomic_compare_exchange_n (&_q_value, &expectedValue, &newValue,
01fa84
+    val =  __atomic_compare_exchange_n (&_q_value, &expectedValue, newValue,
01fa84
 					false, __ATOMIC_RELAXED, __ATOMIC_RELAXED);
01fa84
     Q_COMPILER_MEMORY_BARRIER;
01fa84
     return val;