[oe] [PATCH][meta-qt5][master/jethro] qtscript/qtwebkit: disable thumb for armv4 and armv5 only to fix segfault on armv7

Khem Raj raj.khem at gmail.com
Mon Jan 11 20:43:21 UTC 2016


> On Jan 4, 2016, at 2:04 AM, Andreas Müller <schnitzeltony at googlemail.com> wrote:
> 
> 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)


yes llint has issues with arm mode on armv7
> 
> 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 at 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 at gmail.com>
> 
> Signed-off-by: Andreas Müller <schnitzeltony at googlemail.com>
> ---
> recipes-qt/qt5/qtscript_git.bb | 3 ++-
> 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 c6dca51..c53217a 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 862abd2..a952306 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 \
> --
> 2.5.0
> 
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20160111/a11c1e96/attachment-0002.sig>


More information about the Openembedded-devel mailing list