diff options
author | Andreas Müller <schnitzeltony@googlemail.com> | 2016-01-04 11:04:16 +0100 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2016-01-14 11:13:58 +0100 |
commit | 511a3764506ce6bbdc5e9441a8f4e9d862ea1102 (patch) | |
tree | b55126b2484ccf36626f6313820ebf67a88511da | |
parent | d8b2426588abd64c079b8796b7fb3ff68fc2351e (diff) | |
download | meta-qt5-511a3764506ce6bbdc5e9441a8f4e9d862ea1102.tar.gz |
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.bb | 3 | ||||
-rw-r--r-- | recipes-qt/qt5/qtwebkit_git.bb | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/recipes-qt/qt5/qtscript_git.bb b/recipes-qt/qt5/qtscript_git.bb index c6dca51b..c53217a3 100644 --- a/recipes-qt/qt5/qtscript_git.bb +++ b/recipes-qt/qt5/qtscript_git.bb | |||
@@ -22,7 +22,8 @@ LIC_FILES_CHKSUM = " \ | |||
22 | #{standard input}:23: Error: selected processor does not support Thumb mode `stmdb sp!,{r4-r8,lr}' | 22 | #{standard input}:23: Error: selected processor does not support Thumb mode `stmdb sp!,{r4-r8,lr}' |
23 | #{standard input}:30: Error: lo register required -- `ldmia sp!,{r4-r8,lr}' | 23 | #{standard input}:30: Error: lo register required -- `ldmia sp!,{r4-r8,lr}' |
24 | #{standard input}:43: Error: lo register required -- `ldmia sp!,{r4-r8,lr}' | 24 | #{standard input}:43: Error: lo register required -- `ldmia sp!,{r4-r8,lr}' |
25 | ARM_INSTRUCTION_SET = "arm" | 25 | ARM_INSTRUCTION_SET_armv4 = "arm" |
26 | ARM_INSTRUCTION_SET_armv5 = "arm" | ||
26 | 27 | ||
27 | DEPENDS += "qtbase" | 28 | DEPENDS += "qtbase" |
28 | 29 | ||
diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb index 862abd28..a9523065 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" | |||
15 | # | {standard input}: Assembler messages: | 15 | # | {standard input}: Assembler messages: |
16 | # | {standard input}:106: Error: invalid immediate: 983040 is out of range | 16 | # | {standard input}:106: Error: invalid immediate: 983040 is out of range |
17 | # | {standard input}:106: Error: value of 983040 too large for field of 2 bytes at 146 | 17 | # | {standard input}:106: Error: value of 983040 too large for field of 2 bytes at 146 |
18 | ARM_INSTRUCTION_SET = "arm" | 18 | ARM_INSTRUCTION_SET_armv4 = "arm" |
19 | ARM_INSTRUCTION_SET_armv5 = "arm" | ||
19 | 20 | ||
20 | SRC_URI += "\ | 21 | SRC_URI += "\ |
21 | file://0001-qtwebkit-fix-QA-issue-bad-RPATH.patch \ | 22 | file://0001-qtwebkit-fix-QA-issue-bad-RPATH.patch \ |