backport the qatomic/ppc patch

This commit is contained in:
Lukáš Tinkl 2013-10-17 19:39:22 +02:00
parent 43bed6e9eb
commit c18de56126
2 changed files with 31 additions and 1 deletions

View File

@ -15,7 +15,7 @@
Summary: Qt5 - QtBase components
Name: qt5-qtbase
Version: 5.1.1
Release: 5%{?dist}
Release: 6%{?dist}
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
License: LGPLv2 with exceptions or GPLv3 with exceptions
@ -31,6 +31,9 @@ Patch1: qtbase-opensource-src-5.0.2-lowmem.patch
# support multilib optflags
Patch2: qtbase-multilib_optflags.patch
# qatomic on ppc/ppc64, http://bugzilla.redhat.com/1005482
Patch3: qtbase-qatomic-ppc.patch
# upstreamable patches
# support poll
# https://bugreports.qt-project.org/browse/QTBUG-27195
@ -166,6 +169,8 @@ Qt5 libraries used for drawing widgets and OpenGL items.
# drop backup file(s), else they get installed too, http://bugzilla.redhat.com/639463
rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags
%patch3 -p1 -b .qatomic-ppc
#patch50 -p1 -b .poll
%patch51 -p1 -b .bigendian
@ -539,6 +544,9 @@ popd
%changelog
* Thu Oct 17 2013 Lukáš Tinkl <ltinkl@redhat.com> - 5.1.1-6
- Fixes #1005482 - qtbase FTBFS on ppc/ppc64
* Mon Sep 23 2013 Dan Horák <dan[at]danny.cz> - 5.1.1-5
- fix big endian builds

22
qtbase-qatomic-ppc.patch Normal file
View File

@ -0,0 +1,22 @@
Index: qtbase-opensource-src-5.1.1/src/corelib/thread/qoldbasicatomic.h
===================================================================
--- qtbase-opensource-src-5.1.1.orig/src/corelib/thread/qoldbasicatomic.h
+++ qtbase-opensource-src-5.1.1/src/corelib/thread/qoldbasicatomic.h
@@ -63,7 +63,7 @@ public:
// Atomic API, implemented in qatomic_XXX.h
int load() const { return _q_value; }
- int loadAcquire() { return _q_value; }
+ int loadAcquire() const { return _q_value; }
void store(int newValue) { _q_value = newValue; }
void storeRelease(int newValue) { _q_value = newValue; }
@@ -107,7 +107,7 @@ public:
// Atomic API, implemented in qatomic_XXX.h
T *load() const { return _q_value; }
- T *loadAcquire() { return _q_value; }
+ T *loadAcquire() const { return _q_value; }
void store(T *newValue) { _q_value = newValue; }
void storeRelease(T *newValue) { _q_value = newValue; }