From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com ([143.182.124.21]) by linuxtogo.org with esmtp (Exim 4.72) (envelope-from ) id 1SPIMH-00044v-Sv for openembedded-core@lists.openembedded.org; Tue, 01 May 2012 21:03:34 +0200 Received: from azsmga002.ch.intel.com ([10.2.17.35]) by azsmga101.ch.intel.com with ESMTP; 01 May 2012 11:53:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.71,315,1320652800"; d="scan'208";a="95153661" Received: from unknown (HELO [10.255.12.182]) ([10.255.12.182]) by AZSMGA002.ch.intel.com with ESMTP; 01 May 2012 11:53:49 -0700 Message-ID: <4FA0313D.2080605@linux.intel.com> Date: Tue, 01 May 2012 11:53:49 -0700 From: Saul Wold User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120329 Thunderbird/11.0.1 MIME-Version: 1.0 To: Patches and discussions about the oe-core layer References: <1335524357-16990-1-git-send-email-ken.werner@linaro.org> In-Reply-To: <1335524357-16990-1-git-send-email-ken.werner@linaro.org> Cc: Ken Werner Subject: Re: [PATCH] Qt 4.8 GCC 4.7 fixes X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.11 Precedence: list Reply-To: Patches and discussions about the oe-core layer List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 May 2012 19:03:34 -0000 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 04/27/2012 03:59 AM, Ken Werner wrote: > 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" > Merged into OE-Core, but still needs updated patch headers please Thanks Sau!