From patchwork Fri Apr 27 10:59:17 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ken Werner X-Patchwork-Id: 8295 Return-Path: X-Original-To: patchwork@peony.canonical.com Delivered-To: patchwork@peony.canonical.com Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145]) by peony.canonical.com (Postfix) with ESMTP id 9E86523E5F for ; Fri, 27 Apr 2012 10:59:43 +0000 (UTC) Received: from mail-iy0-f180.google.com (mail-iy0-f180.google.com [209.85.210.180]) by fiordland.canonical.com (Postfix) with ESMTP id 4194FA18732 for ; Fri, 27 Apr 2012 10:59:43 +0000 (UTC) Received: by iage36 with SMTP id e36so1188288iag.11 for ; Fri, 27 Apr 2012 03:59:42 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-forwarded-to:x-forwarded-for:delivered-to:received-spf:from:to :subject:date:message-id:x-mailer:x-cbid:x-gm-message-state; bh=3hyik+KqHPxNvXrI8LGAOaHmj+NTkhRLds5FMU2N+xo=; b=FFrdnFYalizzkp0x2R71vnAoomAsyUx39yMCU8+dKRWtme+TFMmgGyll5D2eCIFBZI Ysq4NaFHfWwR3yBpVF+nHMXV1wypFISp0T5ITS4+koJmRWA6dnPRp+if1ap5IilCY+/f SZKqoGzNqiYdJyvm1AwJP3kqrDfZ6op6MqXmDSUMdj+4dKUO/jqyPhU48jhKWKOl8Noe JN2WI5FbCdVgzAMF51whbiGUqaz/7nF+1lefMZAXZI4buRx/3Y4gCYY7nknRz+49JFsB BkQxXifAyRh6qp4Mjh1rH8ldSKAXfU5Z2424ZyVmOvJgbz9HzFi0qjEiHIH3HDmiLZvq fP0g== Received: by 10.42.19.72 with SMTP id a8mr8550931icb.39.1335524382674; Fri, 27 Apr 2012 03:59:42 -0700 (PDT) X-Forwarded-To: linaro-patchwork@canonical.com X-Forwarded-For: patch@linaro.org linaro-patchwork@canonical.com Delivered-To: patches@linaro.org Received: by 10.231.137.198 with SMTP id x6csp17605ibt; Fri, 27 Apr 2012 03:59:41 -0700 (PDT) Received: by 10.180.88.169 with SMTP id bh9mr4932672wib.5.1335524380847; Fri, 27 Apr 2012 03:59:40 -0700 (PDT) Received: from e06smtp13.uk.ibm.com (e06smtp13.uk.ibm.com. [195.75.94.109]) by mx.google.com with ESMTPS id j10si7421508wed.69.2012.04.27.03.59.39 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 27 Apr 2012 03:59:40 -0700 (PDT) Received-SPF: neutral (google.com: 195.75.94.109 is neither permitted nor denied by best guess record for domain of ken.werner@linaro.org) client-ip=195.75.94.109; Authentication-Results: mx.google.com; spf=neutral (google.com: 195.75.94.109 is neither permitted nor denied by best guess record for domain of ken.werner@linaro.org) smtp.mail=ken.werner@linaro.org Received: from /spool/local by e06smtp13.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 27 Apr 2012 11:59:39 +0100 Received: from d06nrmr1707.portsmouth.uk.ibm.com (9.149.39.225) by e06smtp13.uk.ibm.com (192.168.101.143) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Fri, 27 Apr 2012 11:59:37 +0100 Received: from d06av08.portsmouth.uk.ibm.com (d06av08.portsmouth.uk.ibm.com [9.149.37.249]) by d06nrmr1707.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q3RAxb7g2187298 for ; Fri, 27 Apr 2012 11:59:37 +0100 Received: from d06av08.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av08.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q3RAxaK1007464 for ; Fri, 27 Apr 2012 04:59:36 -0600 Received: from bolide.boeblingen.de.ibm.com (dyn-9-152-213-71.boeblingen.de.ibm.com [9.152.213.71]) by d06av08.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id q3RAxaAE007458; Fri, 27 Apr 2012 04:59:36 -0600 From: Ken Werner To: openembedded-core@lists.openembedded.org Subject: [PATCH] Qt 4.8 GCC 4.7 fixes Date: Fri, 27 Apr 2012 12:59:17 +0200 Message-Id: <1335524357-16990-1-git-send-email-ken.werner@linaro.org> X-Mailer: git-send-email 1.7.5.4 x-cbid: 12042710-2966-0000-0000-000003E9B924 X-Gm-Message-State: ALoCoQmRnKS4pRIFdvhLDe9INHrIiegyT8GYBX3I6VxGQUp/VLQwWHEvgfFH9X8hAH8lSKB5iNtu This change introduces two new patches to Qt 4.8. One prevents the build system from using the -fuse-ld=gold GCC flag as this isn't upstream and therefore not supported by many toolchains out there. The second patch fixes a compile time error when using toolchains based on GCC 4.7. Signed-off-by: Ken Werner --- meta/recipes-qt/qt4/qt-4.8.1.inc | 2 + .../qt4/qt-4.8.1/disable-fuse-gold-flag.patch | 26 ++++++++++++++++ meta/recipes-qt/qt4/qt-4.8.1/gcc47-fix.patch | 31 ++++++++++++++++++++ meta/recipes-qt/qt4/qt4-embedded.inc | 2 +- 4 files changed, 60 insertions(+), 1 deletions(-) create mode 100644 meta/recipes-qt/qt4/qt-4.8.1/disable-fuse-gold-flag.patch create mode 100644 meta/recipes-qt/qt4/qt-4.8.1/gcc47-fix.patch diff --git a/meta/recipes-qt/qt4/qt-4.8.1.inc b/meta/recipes-qt/qt4/qt-4.8.1.inc index cd78401..b42ca01 100644 --- a/meta/recipes-qt/qt4/qt-4.8.1.inc +++ b/meta/recipes-qt/qt4/qt-4.8.1.inc @@ -20,6 +20,8 @@ SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}. file://pulseaudio-config.patch \ file://g++.conf \ file://linux.conf \ + file://gcc47-fix.patch \ + file://disable-fuse-gold-flag.patch \ " SRC_URI[md5sum] = "7960ba8e18ca31f0c6e4895a312f92ff" diff --git a/meta/recipes-qt/qt4/qt-4.8.1/disable-fuse-gold-flag.patch b/meta/recipes-qt/qt4/qt-4.8.1/disable-fuse-gold-flag.patch new file mode 100644 index 0000000..d49d7bc --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.8.1/disable-fuse-gold-flag.patch @@ -0,0 +1,26 @@ +Disable the -fuse-ld=gold flag. This option is a Debian/Ubuntu specific +extension to the g++ and causes upstream GCC to throw an error. + +Index: qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/common.pri +=================================================================== +--- qt-everywhere-opensource-src-4.8.0.orig/src/3rdparty/webkit/Source/common.pri ++++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/webkit/Source/common.pri +@@ -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/meta/recipes-qt/qt4/qt-4.8.1/gcc47-fix.patch b/meta/recipes-qt/qt4/qt-4.8.1/gcc47-fix.patch new file mode 100644 index 0000000..8252817 --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.8.1/gcc47-fix.patch @@ -0,0 +1,31 @@ +Fix compile error when using toolchains based on GCC 4.7. + +Index: qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h +=================================================================== +--- qt-everywhere-opensource-src-4.8.0.orig/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h ++++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSGlobalObject.h +@@ -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 +Index: qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h +=================================================================== +--- qt-everywhere-opensource-src-4.8.0.orig/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h ++++ qt-everywhere-opensource-src-4.8.0/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSStaticScopeObject.h +@@ -32,8 +32,7 @@ namespace JSC{ + + class JSStaticScopeObject : public JSVariableObject { + protected: +- using JSVariableObject::JSVariableObjectData; +- struct JSStaticScopeObjectData : public JSVariableObjectData { ++ struct JSStaticScopeObjectData : public JSVariableObjectData::JSVariableObjectData { + JSStaticScopeObjectData() + : JSVariableObjectData(&symbolTable, ®isterStore + 1) + { diff --git a/meta/recipes-qt/qt4/qt4-embedded.inc b/meta/recipes-qt/qt4/qt4-embedded.inc index 8c15352..291e62a 100644 --- a/meta/recipes-qt/qt4/qt4-embedded.inc +++ b/meta/recipes-qt/qt4/qt4-embedded.inc @@ -2,7 +2,7 @@ DESCRIPTION = "Qt is a versatile cross-platform application framework -- this is SECTION = "libs" HOMEPAGE = "http://qt.nokia.com" DEPENDS += "directfb tslib" -INC_PR = "r43" +INC_PR = "r44" QT_BASE_LIB ?= "libqt-embedded"