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
|