diff options
Diffstat (limited to 'extra/qt5/qatomic-before-mips32.patch')
-rw-r--r-- | extra/qt5/qatomic-before-mips32.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/extra/qt5/qatomic-before-mips32.patch b/extra/qt5/qatomic-before-mips32.patch new file mode 100644 index 000000000..47d550f93 --- /dev/null +++ b/extra/qt5/qatomic-before-mips32.patch @@ -0,0 +1,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 |