[qt] - disable Using gold linker, g++ doesn't support flags gold linker - fix gcc-4.7 issue

Than Ngo than at fedoraproject.org
Tue Jan 24 13:36:05 UTC 2012


commit 119248cace71efb77d2b363cf06ede5b4265f7ed
Author: Than Ngo <than at redhat.com>
Date:   Tue Jan 24 14:35:56 2012 +0100

    - disable Using gold linker, g++ doesn't support flags gold linker
    - fix gcc-4.7 issue

 qt-everywhere-opensource-src-4.8.0-gcc-4.7.patch |   27 ++++++++++++++++++++++
 qt-everywhere-opensource-src-4.8.0-ld-gold.patch |   22 +++++++++++++++++
 qt.spec                                          |   14 ++++++++++-
 3 files changed, 62 insertions(+), 1 deletions(-)
---
diff --git a/qt-everywhere-opensource-src-4.8.0-gcc-4.7.patch b/qt-everywhere-opensource-src-4.8.0-gcc-4.7.patch
new file mode 100644
index 0000000..62c436e
--- /dev/null
+++ b/qt-everywhere-opensource-src-4.8.0-gcc-4.7.patch
@@ -0,0 +1,27 @@
+diff -up qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h.me qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h
+--- qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h.me	2012-01-24 11:24:14.729942043 +0100
++++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h	2012-01-24 14:28:39.848109534 +0100
+@@ -57,9 +57,7 @@ namespace JSC {
+     
+     class JSGlobalObject : public JSVariableObject {
+     protected:
+-        using JSVariableObject::JSVariableObjectData;
+-
+-        struct JSGlobalObjectData : public JSVariableObjectData {
++        struct JSGlobalObjectData : public JSVariableObject::JSVariableObjectData {
+             // We use an explicit destructor function pointer instead of a
+             // virtual destructor because we want to avoid adding a vtable
+             // pointer to this struct. Adding a vtable pointer would force the
+diff -up qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h.me qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h
+--- qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h.me	2012-01-24 11:40:07.167856677 +0100
++++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h	2012-01-24 14:28:34.640306629 +0100
+@@ -32,8 +32,7 @@ namespace JSC{
+     
+     class JSStaticScopeObject : public JSVariableObject {
+     protected:
+-        using JSVariableObject::JSVariableObjectData;
+-        struct JSStaticScopeObjectData : public JSVariableObjectData {
++        struct JSStaticScopeObjectData : public JSVariableObject::JSVariableObjectData {
+             JSStaticScopeObjectData()
+                 : JSVariableObjectData(&symbolTable, &registerStore + 1)
+             {
diff --git a/qt-everywhere-opensource-src-4.8.0-ld-gold.patch b/qt-everywhere-opensource-src-4.8.0-ld-gold.patch
new file mode 100644
index 0000000..0e3897e
--- /dev/null
+++ b/qt-everywhere-opensource-src-4.8.0-ld-gold.patch
@@ -0,0 +1,22 @@
+diff -up qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/common.pri.me qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/common.pri
+--- qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/common.pri.me	2012-01-24 13:05:50.460890750 +0100
++++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/common.pri	2012-01-24 13:19:08.836799974 +0100
+@@ -3,12 +3,12 @@
+ contains(JAVASCRIPTCORE_JIT,yes): DEFINES+=ENABLE_JIT=1
+ contains(JAVASCRIPTCORE_JIT,no): DEFINES+=ENABLE_JIT=0
+ 
+-linux-g++ {
+-isEmpty($$(SBOX_DPKG_INST_ARCH)):exists(/usr/bin/ld.gold) {
+-    message(Using gold linker)
+-    QMAKE_LFLAGS+=-fuse-ld=gold
+-}
+-}
++#linux-g++ {
++#isEmpty($$(SBOX_DPKG_INST_ARCH)):exists(/usr/bin/ld.gold) {
++#    message(Using gold linker)
++#    QMAKE_LFLAGS+=-fuse-ld=gold
++#}
++#}
+ 
+ # We use this flag on production branches
+ # See https://bugs.webkit.org/show_bug.cgi?id=60824
diff --git a/qt.spec b/qt.spec
index 6085fde..409675a 100644
--- a/qt.spec
+++ b/qt.spec
@@ -11,7 +11,7 @@ Summary: Qt toolkit
 Name:    qt
 Epoch:   1
 Version: 4.8.0
-Release: 7%{?dist}
+Release: 8%{?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
@@ -107,6 +107,12 @@ Patch78: qt-everywhere-opensource-src-4.8.0-filter_event.patch
 # fix qvfb build
 Patch79: qt-everywhere-opensource-src-4.8.0-qvfb.patch
 
+# gcc doesn't support flag -fuse-ld=gold
+Patch80: qt-everywhere-opensource-src-4.8.0-ld-gold.patch
+
+# gcc-4.7 build issue
+Patch81: qt-everywhere-opensource-src-4.8.0-gcc-4.7.patch
+
 # upstream patches
 
 # security patches
@@ -437,6 +443,8 @@ popd
 %patch77 -p1 -b .icu_no_spam
 %patch78 -p1 -b .filter_events
 %patch79 -p1 -b .qvfb
+%patch80 -p1 -b .ld.gold
+%patch81 -p1 -b .gcc-4.7
 
 # upstream patches
 
@@ -1064,6 +1072,10 @@ fi
 
 
 %changelog
+* Tue Jan 24 2012 Than Ngo <than at redhat.com> - 4.8.0-8
+- disable Using gold linker, g++ doesn't support flags gold linker
+- fix gcc-4.7 issue
+
 * Tue Jan 10 2012 Rex Dieter <rdieter at fedoraproject.org> 4.8.0-7
 - improved filter_event patch (kde#275469)
 


More information about the scm-commits mailing list