From c951f25012675662efad38814656ea8788171600 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mar 01 2010 17:45:56 +0000 Subject: - fix 64bit platform logic, use linux-g++-64 everywhere except x86_64 (#569542) --- diff --git a/qt-4.5-sparc64.patch b/qt-4.5-sparc64.patch deleted file mode 100644 index c7493f5..0000000 --- a/qt-4.5-sparc64.patch +++ /dev/null @@ -1,60 +0,0 @@ ---- qt-x11-opensource-src-4.5.0/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h.orig 2009-03-15 00:21:08.000000000 -0500 -+++ qt-x11-opensource-src-4.5.0/src/3rdparty/webkit/JavaScriptCore/wtf/Threading.h 2009-03-15 00:22:38.000000000 -0500 -@@ -196,14 +196,14 @@ - #elif COMPILER(GCC) - #define WTF_USE_LOCKFREE_THREADSAFESHARED 1 - --inline void atomicIncrement(int volatile* addend) { __gnu_cxx::__atomic_add(addend, 1); } --inline int atomicDecrement(int volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, -1) - 1; } -+inline void atomicIncrement(_Atomic_word volatile* addend) { __gnu_cxx::__atomic_add(addend, 1); } -+inline _Atomic_word atomicDecrement(_Atomic_word volatile* addend) { return __gnu_cxx::__exchange_and_add(addend, -1) - 1; } - - #endif - - template class ThreadSafeShared : Noncopyable { - public: -- ThreadSafeShared(int initialRefCount = 1) -+ ThreadSafeShared(_Atomic_word initialRefCount = 1) - : m_refCount(initialRefCount) - { - } -@@ -237,16 +237,16 @@ - return refCount() == 1; - } - -- int refCount() const -+ _Atomic_word refCount() const - { - #if !USE(LOCKFREE_THREADSAFESHARED) - MutexLocker locker(m_mutex); - #endif -- return static_cast(m_refCount); -+ return static_cast<_Atomic_word const volatile &>(m_refCount); - } - - private: -- int m_refCount; -+ _Atomic_word m_refCount; - #if !USE(LOCKFREE_THREADSAFESHARED) - mutable Mutex m_mutex; - #endif ---- qt-x11-opensource-src-4.5.0/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h.orig 2009-03-15 00:21:37.000000000 -0500 -+++ qt-x11-opensource-src-4.5.0/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h 2009-03-15 00:22:38.000000000 -0500 -@@ -214,9 +214,16 @@ - #endif - - /* PLATFORM(SPARC64) */ --#if defined(__sparc64__) -+#if defined(__sparc64__) \ -+ || defined(__sparc__) && defined(_arch64__) - #define WTF_PLATFORM_SPARC64 1 - #define WTF_PLATFORM_BIG_ENDIAN 1 -+#else -+/* PLATFORM(SPARC) */ -+#if defined(__sparc__) -+#define WTF_PLATFORM_SPARC 1 -+#define WTF_PLATFORM_BIG_ENDIAN 1 -+#endif - #endif - - /* PLATFORM(WIN_CE) && PLATFORM(QT) diff --git a/qt.spec b/qt.spec index c088e68..542e683 100644 --- a/qt.spec +++ b/qt.spec @@ -13,7 +13,7 @@ Summary: Qt toolkit Name: qt Epoch: 1 Version: 4.6.2 -Release: 3%{?dist} +Release: 4%{?dist} # See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -51,7 +51,6 @@ Requires: ca-certificates ## upstreamable bits # http://bugzilla.redhat.com/485677 Patch51: qt-everywhere-opensource-src-4.6.0-beta1-qdoc3.patch -Patch52: qt-4.5-sparc64.patch # fix invalid inline assembly in qatomic_{i386,x86_64}.h (de)ref implementations Patch53: qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch # fix invalid assumptions about mysql_config --libs @@ -399,8 +398,6 @@ Qt libraries used for drawing widgets and OpenGL items. %patch21 -p1 -b .gst-pulsaudio %patch22 -p1 -b .system_ca_certificates %patch51 -p1 -b .qdoc3 -## FIXME: port patch -#patch52 -p1 -b .sparc64 ## TODO: still worth carrying? if so, upstream it. %patch53 -p1 -b .qatomic-inline-asm ## TODO: upstream me @@ -423,10 +420,17 @@ Qt libraries used for drawing widgets and OpenGL items. RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'` %define platform linux-g++ -%if "%{_qt4_datadir}" != "%{_qt4_prefix}" && "%{_lib}" == "lib64" + +# some 64bit platforms assume -64 suffix, https://bugzilla.redhat.com/569542 +%if "%{?__isa_bits}" == "64" %define platform linux-g++-64 %endif +# https://bugzilla.redhat.com/478481 +%ifarch x86_64 +%define platform linux-g++ +%endif + sed -i \ -e "s|-O2|$RPM_OPT_FLAGS|g" \ -e "s|g++.conf|g++-multilib.conf|g" mkspecs/%{platform}/qmake.conf @@ -1005,6 +1009,9 @@ fi %changelog +* Mon Mar 01 2010 Rex Dieter - 4.6.2-4 +- fix 64bit platform logic, use linux-g++-64 everywhere except x86_64 (#569542) + * Sun Feb 28 2010 Kevin Kofler - 4.6.2-3 - fix CUPS patch not to crash if currentPPD is NULL (#566304)