diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2017-08-19 12:45:34 +0200 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2017-08-20 19:28:47 +0200 |
commit | 648f7b0a2eb202d4378ce50ae566b6ca450dd010 (patch) | |
tree | 299c347748d06586f0a7b87f474e4058c6365a90 /recipes-qt/qt5/qtbase_git.bb | |
parent | 209e7e6dd8e23bc6501ada7d7b4caa99e449de6a (diff) | |
download | meta-qt5-648f7b0a2eb202d4378ce50ae566b6ca450dd010.tar.gz |
qtbase, qtgraphicaleffect, qtmultimedia, qtscript, qtlocation, qtwayland: disable gold to work around binutils bug
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'recipes-qt/qt5/qtbase_git.bb')
-rw-r--r-- | recipes-qt/qt5/qtbase_git.bb | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb index 8cd23a02..550968cd 100644 --- a/recipes-qt/qt5/qtbase_git.bb +++ b/recipes-qt/qt5/qtbase_git.bb | |||
@@ -41,6 +41,28 @@ SRC_URI += "\ | |||
41 | # for syncqt | 41 | # for syncqt |
42 | RDEPENDS_${PN}-tools += "perl" | 42 | RDEPENDS_${PN}-tools += "perl" |
43 | 43 | ||
44 | # workaround for gold bug: | ||
45 | # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842304 | ||
46 | # https://sourceware.org/bugzilla/show_bug.cgi?id=21712 | ||
47 | # it's triggered only in combination of gold and security_flags.inc, | ||
48 | # because security_flags.inc now enable pie by default. | ||
49 | # Adding -no-pie or changing -fuse-ld=gold to -fuse-ld=bfd | ||
50 | # works around this issue, will use -fuse-ld=bfd as it's considered | ||
51 | # binutils bug. | ||
52 | # OE @ ~/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/tests/auto/corelib/kernel/qmetatype $ i586-oe-linux-g++ -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -fuse-ld=gold -Wl,--enable-new-dtags -o tst_qmetatype .obj/tst_qmetatype.o -L/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/lib -lQt5Test -lQt5Core -lpthread | ||
53 | # .obj/tst_qmetatype.o(.qtversion+0x0): error: unexpected reloc 3 against global symbol qt_version_tag without base register in object file when generating a position-independent output file | ||
54 | # collect2: error: ld returned 1 exit status | ||
55 | # | ||
56 | # with -no-pie: | ||
57 | # OE @ ~/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/tests/auto/corelib/kernel/qmetatype $ i586-oe-linux-g++ -no-pie -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -fuse-ld=gold -Wl,--enable-new-dtags -o tst_qmetatype .obj/tst_qmetatype.o -L/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/lib -lQt5Test -lQt5Core -lpthread | ||
58 | # | ||
59 | # with -fuse-ld=gold replaced with -fuse-ld=bfd: | ||
60 | # OE @ ~/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/tests/auto/corelib/kernel/qmetatype $ i586-oe-linux-g++ -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed --sysroot=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/recipe-sysroot -Wl,-O1 -fuse-ld=bfd -Wl,--enable-new-dtags -o tst_qmetatype .obj/tst_qmetatype.o -L/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/qtbase/5.9.0+gitAUTOINC+f6b36eaafe-r0/build/lib -lQt5Test -lQt5Core -lpthread | ||
61 | # | ||
62 | # http://errors.yoctoproject.org/Errors/Details/150329/ | ||
63 | QT_CONFIG_FLAGS_GOLD_x86 = "-no-use-gold-linker" | ||
64 | LDFLAGS_append_x86 = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', ' -fuse-ld=bfd ', '', d)}" | ||
65 | |||
44 | # separate some parts of PACKAGECONFIG which are often changed | 66 | # separate some parts of PACKAGECONFIG which are often changed |
45 | PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)}" | 67 | PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)}" |
46 | PACKAGECONFIG_FB ?= "${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}" | 68 | PACKAGECONFIG_FB ?= "${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}" |
@@ -129,8 +151,9 @@ PACKAGECONFIG[libproxy] = "-libproxy,-no-libproxy,libproxy" | |||
129 | PACKAGECONFIG[libinput] = "-libinput,-no-libinput,libinput" | 151 | PACKAGECONFIG[libinput] = "-libinput,-no-libinput,libinput" |
130 | PACKAGECONFIG[journald] = "-journald,-no-journald,systemd" | 152 | PACKAGECONFIG[journald] = "-journald,-no-journald,systemd" |
131 | 153 | ||
154 | QT_CONFIG_FLAGS_GOLD = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '-use-gold-linker', '-no-use-gold-linker', d)}" | ||
132 | QT_CONFIG_FLAGS += " \ | 155 | QT_CONFIG_FLAGS += " \ |
133 | ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '-use-gold-linker', '-no-use-gold-linker', d)} \ | 156 | ${QT_CONFIG_FLAGS_GOLD} \ |
134 | -shared \ | 157 | -shared \ |
135 | -silent \ | 158 | -silent \ |
136 | -no-pch \ | 159 | -no-pch \ |