aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Müller <schnitzeltony@googlemail.com>2016-01-04 11:04:16 +0100
committerMartin Jansa <Martin.Jansa@gmail.com>2016-01-14 11:14:54 +0100
commit9bfcf79fcd824efb9f2a9bd72ecbedfee1315c96 (patch)
tree35c200385fa81f47d4cd22db1c7b299c9f0dc081
parent9f3f9e10bf6f7aee59087060273647bf058c5d4e (diff)
qtscript/qtwebkit: disable thumb for armv4 and armv5 only to fix segfault on armv7
We have a simple application containing a QWebView which segfaulted during loading a page on a CortexA9 (armv7 thumb2). After enabling debug information for qtwebkit and remote debug session the point of segfault was detected in Source/JavaScriptCore/llint/LowLevelInterpreter.asm:1082 callSlowPath(_llint_slow_path_new_func_exp) Further digging around lead to similar source in: * qtwebkit: Source/JavaScriptCore/assembler/ARMv7Assembler.h * qtscript: src/3rdparty/javascriptcore/JavaScriptCore/assembler/ARMv7Assembler.h In these files a class ARMThumbImmediate is declared and used in many places. This lead me to the suspicion that compiligng for armv7 expects thumb support. The following tests were performed: * our application is working fine again * qtscript and qtwebkit were build with 'ARM_INSTRUCTION_SET = "thumb"' => TUNE_FEATURES = "arm armv5 thumb dsp" for qemuarm without issues This is a partial/rebased revert of: commit 932b32c1c9e9a3ac833c82ff9273683345056ec7 Author: Martin Jansa <Martin.Jansa@gmail.com> Date: Wed Apr 22 15:33:01 2015 +0200 qtscript,qtwebking: disable thumb * qemuarm builds fail when thumb is enabled Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--recipes-qt/qt5/qtscript_git.bb3
-rw-r--r--recipes-qt/qt5/qtwebkit_git.bb3
2 files changed, 4 insertions, 2 deletions
diff --git a/recipes-qt/qt5/qtscript_git.bb b/recipes-qt/qt5/qtscript_git.bb
index b07675fe..14378445 100644
--- a/recipes-qt/qt5/qtscript_git.bb
+++ b/recipes-qt/qt5/qtscript_git.bb
@@ -22,7 +22,8 @@ LIC_FILES_CHKSUM = " \
#{standard input}:23: Error: selected processor does not support Thumb mode `stmdb sp!,{r4-r8,lr}'
#{standard input}:30: Error: lo register required -- `ldmia sp!,{r4-r8,lr}'
#{standard input}:43: Error: lo register required -- `ldmia sp!,{r4-r8,lr}'
-ARM_INSTRUCTION_SET = "arm"
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
DEPENDS += "qtbase"
diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb
index b0d1e4ef..513c26f4 100644
--- a/recipes-qt/qt5/qtwebkit_git.bb
+++ b/recipes-qt/qt5/qtwebkit_git.bb
@@ -15,7 +15,8 @@ DEPENDS += "qtbase qtdeclarative icu ruby-native sqlite3 glib-2.0 libxslt"
# | {standard input}: Assembler messages:
# | {standard input}:106: Error: invalid immediate: 983040 is out of range
# | {standard input}:106: Error: value of 983040 too large for field of 2 bytes at 146
-ARM_INSTRUCTION_SET = "arm"
+ARM_INSTRUCTION_SET_armv4 = "arm"
+ARM_INSTRUCTION_SET_armv5 = "arm"
SRC_URI += "\
file://0001-qtwebkit-fix-QA-issue-bad-RPATH.patch \