LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File qt4-fix-s390x-build.diff of Package libqt4-devel-doc-data (Project KDE:Qt:STABLE)

--- src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
+++ src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
@@ -189,6 +189,18 @@
 #define WTF_CPU_SPARC 1
 #endif
 
+/* CPU(S390X) - S390 64-bit */
+#if defined(__s390x__)
+#define WTF_CPU_S390X 1
+#define WTF_CPU_BIG_ENDIAN 1
+#endif
+
+/* CPU(S390) - S390 32-bit */
+#if defined(__s390__)
+#define WTF_CPU_S390 1
+#define WTF_CPU_BIG_ENDIAN 1
+#endif
+
 /* CPU(X86) - i386 / x86 32-bit */
 #if   defined(__i386__) \
     || defined(i386)     \
@@ -884,7 +896,7 @@
 #endif
 
 #if !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32) && !defined(WTF_USE_JSVALUE32_64)
-#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64)
+#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(S390X)
 #define WTF_USE_JSVALUE64 1
 #elif CPU(ARM) || CPU(PPC64)
 #define WTF_USE_JSVALUE32 1
--- src/corelib/arch/qatomic_s390.h
+++ src/corelib/arch/qatomic_s390.h
@@ -398,6 +398,15 @@
     return fetchAndStoreAcquire(newValue);
 }
 
+template <typename T>
+Q_INLINE_TEMPLATE T* QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd)
+{
+#ifndef __s390x__
+    return (T*)__CS_OLD_LOOP(&_q_value, (int)valueToAdd, "ar", "", "bcr 15,0\n");
+#else
+    return (T*)__CSG_OLD_LOOP(&_q_value, (long)valueToAdd, "agr", "", "bcr 15,0\n");
+#endif
+}
 
 template <typename T>
 Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)