From: Saul Wold <sgw@linux.intel.com>
To: Patches and discussions about the oe-core layer
<openembedded-core@lists.openembedded.org>
Cc: Ken Werner <ken.werner@linaro.org>
Subject: Re: [PATCH] Qt 4.8 GCC 4.7 fixes
Date: Tue, 01 May 2012 11:53:49 -0700 [thread overview]
Message-ID: <4FA0313D.2080605@linux.intel.com> (raw)
In-Reply-To: <1335524357-16990-1-git-send-email-ken.werner@linaro.org>
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<ken.werner@linaro.org>
> ---
> 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!
next prev parent reply other threads:[~2012-05-01 19:03 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-27 10:59 [PATCH] Qt 4.8 GCC 4.7 fixes Ken Werner
2012-04-27 11:28 ` Richard Purdie
2012-04-27 14:43 ` Khem Raj
2012-04-27 16:19 ` Ken Werner
2012-04-27 12:53 ` Eric Bénard
2012-04-27 16:19 ` Ken Werner
2012-05-01 18:53 ` Saul Wold [this message]
2012-05-01 18:55 ` Saul Wold
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FA0313D.2080605@linux.intel.com \
--to=sgw@linux.intel.com \
--cc=ken.werner@linaro.org \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox