[qt] add missing method for QBasicAtomicPointer on s390(x)

Dan Horák sharkcz at fedoraproject.org
Mon Dec 19 09:13:24 UTC 2011


commit 41cb7e34913a5ff06d07701df3ec463720f0dc85
Author: Dan Horák <dan at danny.cz>
Date:   Mon Dec 19 10:13:20 2011 +0100

    add missing method for QBasicAtomicPointer on s390(x)

 ...erywhere-opensource-src-4.8.0-s390-atomic.patch |   20 ++++++++++++++++++++
 qt.spec                                            |    9 ++++++++-
 2 files changed, 28 insertions(+), 1 deletions(-)
---
diff --git a/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch b/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch
new file mode 100644
index 0000000..6fedcc8
--- /dev/null
+++ b/qt-everywhere-opensource-src-4.8.0-s390-atomic.patch
@@ -0,0 +1,20 @@
+diff -up qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h.s390-atomic qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h
+--- qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h.s390-atomic	2011-12-18 16:15:20.000000000 +0100
++++ qt-everywhere-opensource-src-4.8.0/src/corelib/arch/qatomic_s390.h	2011-12-18 16:17:34.000000000 +0100
+@@ -400,6 +400,16 @@ Q_INLINE_TEMPLATE T* QBasicAtomicPointer
+ 
+ 
+ template <typename T>
++Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddOrdered(qptrdiff valueToAdd)
++{
++#ifndef __s390x__
++    return (T *)__CS_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "ar", "", "bcr 15,0\n");
++#else
++    return (T *)__CSG_OLD_LOOP(&_q_value, valueToAdd * sizeof(T), "agr", "", "bcr 15,0\n");
++#endif
++}
++
++template <typename T>
+ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd)
+ {
+     return fetchAndAddOrdered(valueToAdd);
diff --git a/qt.spec b/qt.spec
index 3c0be39..72c1527 100644
--- a/qt.spec
+++ b/qt.spec
@@ -11,7 +11,7 @@ Summary: Qt toolkit
 Name:    qt
 Epoch:   1
 Version: 4.8.0
-Release: 1%{?dist}
+Release: 2%{?dist}
 
 # See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
 License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT
@@ -94,6 +94,9 @@ Patch74: qt-everywhere-opensource-src-4.7.4-tds_no_strict_aliasing.patch
 # workaround crash on ppc64
 Patch75: qt-ppc64-crash.patch
 
+# add missing method for QBasicAtomicPointer on s390(x)
+Patch76: qt-everywhere-opensource-src-4.8.0-s390-atomic.patch
+
 # upstream patches
 
 # security patches
@@ -420,6 +423,7 @@ popd
 %endif
 %patch74 -p1 -b .tds_no_strict_aliasing
 %patch75 -p1 -b .ppc64-crash
+%patch76 -p1 -b .s390-atomic
 
 # upstream patches
 
@@ -1046,6 +1050,9 @@ fi
 
 
 %changelog
+* Mon Dec 19 2011 Dan Horák <dan[at]dannu.cz> 4.8.0-2
+- add missing method for QBasicAtomicPointer on s390(x)
+
 * Thu Dec 15 2011 Jaroslav Reznik <jreznik at redhat.com> 4.8.0-1
 - 4.8.0
 


More information about the scm-commits mailing list