summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorYu Ke <ke.yu@intel.com>2010-09-06 16:52:52 +0800
committerRichard Purdie <rpurdie@linux.intel.com>2010-09-07 15:58:10 +0100
commitb49bfb2244c45de9539487eb5f83c24059f4b656 (patch)
tree42618a185727f3d9a7a71c1a4e0c1391c8942bb6 /meta
parentb86a5977e136fb8c2ccd4f7af93612f837b0388a (diff)
downloadpoky-b49bfb2244c45de9539487eb5f83c24059f4b656.tar.gz
QT4 mips: disable the LDFLAGS "-Bsymbolic-functions"
"-Bsymbolic-functions" flag makes ld to bind the global function symbol of shared library at compiling time, thus reduce the runtime relocation cost. However, this flag in binutil 2.20 cause QT4 mips building failure, which is "final link failed: Bad value" error in libQtWebKit.so linking stage. If downgrad to binutil 2.19, this error disappears. so before binutil new release is out, it is better to disable this flag for QT4 mips. Fix [BUGID #271] Signed-off-by: Yu Ke <ke.yu@intel.com>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-qt/qt4/files/mips-relocate.patch28
-rw-r--r--meta/recipes-qt/qt4/qt-4.6.3.inc1
2 files changed, 29 insertions, 0 deletions
diff --git a/meta/recipes-qt/qt4/files/mips-relocate.patch b/meta/recipes-qt/qt4/files/mips-relocate.patch
new file mode 100644
index 0000000000..2fde9a0dcf
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/mips-relocate.patch
@@ -0,0 +1,28 @@
1Disable the LDFLAGS "-Bsymbolic-functions" for mips
2
3"-Bsymbolic-functions" flag makes ld to bind the global function symbol of shared library at compiling time, thus reduce the runtime relocation cost.
4
5However, this flag in binutil 2.20 cause QT4 mips building failure, which is "final link failed: Bad value" error in libQtWebKit.so linking stage. If downgrad to binutil 2.19, this error disappears. further investigation showes commit http://sourceware.org/cgi-bin/cvsweb.cgi/src/ld/scripttempl/mips.sc.diff?r1=1.2&r2=1.3&cvsroot=src cause this error.
6
7So this patch disable this flag for QT4 mips. If future binutils version fix this issue, this patch can be safely removed.
8
9Signed-off-by: Yu Ke <ke.yu@intel.com>
10
11diff --git a/configure b/configure
12index ca14279..5db9926 100755
13--- a/configure
14+++ b/configure
15@@ -3035,6 +3035,13 @@ if [ "$CFG_REDUCE_RELOCATIONS" != "no" ]; then
16 fi
17 fi
18
19+# Temporily disable -Bsymbolic-functions for mips, because libQtWebKit can not pass the build
20+# if has -Bsymbolic-functions and binutil 2.20
21+# -Bsymbolic-functions is OK in binutil 2.19
22+if [ "$CFG_ARCH" = "mips" ]; then
23+ CFG_REDUCE_RELOCATIONS=no
24+fi
25+
26 # auto-detect GNU make support
27 if [ "$CFG_USE_GNUMAKE" = "auto" ] && "$MAKE" -v | grep "GNU Make" >/dev/null 2>&1; then
28 CFG_USE_GNUMAKE=yes
diff --git a/meta/recipes-qt/qt4/qt-4.6.3.inc b/meta/recipes-qt/qt4/qt-4.6.3.inc
index 9f4e221bb5..155af66b89 100644
--- a/meta/recipes-qt/qt4/qt-4.6.3.inc
+++ b/meta/recipes-qt/qt4/qt-4.6.3.inc
@@ -16,6 +16,7 @@ SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.
16 file://g++.conf \ 16 file://g++.conf \
17 file://linux.conf \ 17 file://linux.conf \
18 file://hack-out-pg_config.patch \ 18 file://hack-out-pg_config.patch \
19 file://mips-relocate.patch \
19 " 20 "
20 21
21S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}" 22S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"