diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2014-07-30 15:52:48 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2014-07-30 15:53:07 +0200 |
commit | 87d15f2c1b5f890d5477c2979227a872e3ce207b (patch) | |
tree | b88ad027d3c99ecc4c9e4fe462dab72a4a4a9c8d /src/corelib | |
parent | 3866c89dee50e3a1156097f3f866e280b327ba28 (diff) | |
parent | 3fed060b94ff04131de603d4d668ae7853e50a53 (diff) |
Merge remote-tracking branch 'origin/stable' into 5.3
Change-Id: I2a044d44ca991ba20ddd710053b85afb51e362d3
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/arch/qatomic_mips.h | 10 | ||||
-rw-r--r-- | src/corelib/global/qprocessordetection.h | 15 |
2 files changed, 17 insertions, 8 deletions
diff --git a/src/corelib/arch/qatomic_mips.h b/src/corelib/arch/qatomic_mips.h index 463612212b..7bfe16a450 100644 --- a/src/corelib/arch/qatomic_mips.h +++ b/src/corelib/arch/qatomic_mips.h @@ -110,13 +110,19 @@ template <typename T> struct QAtomicOps : QBasicAtomicOps<sizeof(T)> template <int size> template <typename T> inline void QBasicAtomicOps<size>::acquireMemoryFence(const T &) Q_DECL_NOTHROW { - asm volatile ("sync 0x11" ::: "memory"); + asm volatile (".set push\n" + ".set mips32\n" + "sync 0x11\n" + ".set pop\n" ::: "memory"); } template <int size> template <typename T> inline void QBasicAtomicOps<size>::releaseMemoryFence(const T &) Q_DECL_NOTHROW { - asm volatile ("sync 0x12" ::: "memory"); + asm volatile (".set push\n" + ".set mips32\n" + "sync 0x11\n" + ".set pop\n" ::: "memory"); } template <int size> template <typename T> inline diff --git a/src/corelib/global/qprocessordetection.h b/src/corelib/global/qprocessordetection.h index 384df8fd54..c9fb728593 100644 --- a/src/corelib/global/qprocessordetection.h +++ b/src/corelib/global/qprocessordetection.h @@ -294,12 +294,15 @@ SPARC is big-endian only prior to V9, while V9 is bi-endian with big-endian as the default byte order. Assume all SPARC systems are big-endian. */ -// #elif defined(__sparc__) -// # define Q_PROCESSOR_SPARC -// # if defined(__sparc_v9__) -// # define Q_PROCESSOR_SPARC_V9 -// # endif -// # define Q_BYTE_ORDER Q_BIG_ENDIAN +#elif defined(__sparc__) +# define Q_PROCESSOR_SPARC +# if defined(__sparc_v9__) +# define Q_PROCESSOR_SPARC_V9 +# endif +# if defined(__sparc64__) +# define Q_PROCESSOR_SPARC_64 +# endif +# define Q_BYTE_ORDER Q_BIG_ENDIAN #endif |