summaryrefslogtreecommitdiff
path: root/extra/qt5/qatomic-before-mips32.patch
blob: 47d550f9340f2a453320d7f3318e45740338a15d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
ISAs before MIPS32 do not support the argument of sync, so build fails
with -march=mips3 (or -march=loongson2f).

Since the default argument of 0 does all work of other values, not
specifying it should keep the code correct on older ISAs.

A proper patch would detect if "sync 0x11" is accepted by the
assembler and choose the appropriate code.

--- qt-everywhere-opensource-src-5.0.1.orig/qtbase/src/corelib/arch/qatomic_mips.h	2013-03-03 18:52:14.370775913 +0100
+++ qt-everywhere-opensource-src-5.0.1/qtbase/src/corelib/arch/qatomic_mips.h	2013-03-03 19:30:16.209001188 +0100
@@ -122,19 +122,19 @@
 template <int size> template <typename T> inline
 void QBasicAtomicOps<size>::acquireMemoryFence(const T &) Q_DECL_NOTHROW
 {
-    asm volatile ("sync 0x11" ::: "memory");
+    asm volatile ("sync" ::: "memory");
 }
 
 template <int size> template <typename T> inline
 void QBasicAtomicOps<size>::releaseMemoryFence(const T &) Q_DECL_NOTHROW
 {
-    asm volatile ("sync 0x12" ::: "memory");
+    asm volatile ("sync" ::: "memory");
 }
 
 template <int size> template <typename T> inline
 void QBasicAtomicOps<size>::orderedMemoryFence(const T &) Q_DECL_NOTHROW
 {
-    asm volatile ("sync 0" ::: "memory");
+    asm volatile ("sync" ::: "memory");
 }
 
 template<> template<typename T> inline