[oe] [meta-qt5] qtscript, qtwebking: disable thumb issues on armv7

Martin Jansa martin.jansa at gmail.com
Wed Dec 23 09:42:04 UTC 2015


On Wed, Dec 23, 2015 at 10:13:45AM +0100, Andreas Müller wrote:
> On Wed, Dec 23, 2015 at 9:19 AM, Andreas Müller
> <schnitzeltony at googlemail.com> wrote:
> > Hi
> >
> > The story occured on jethro but I think it is the same for master:
> On master fix for qtwebkit won't be necessary - qtwebkit will go away [1]
> 
> [1] http://blog.qt.io/blog/2015/12/18/qt-5-6-beta-released/

True, but there are some attempts to keep 5.5* qtwebkit compatible with
latest 5.6:
http://lists.qt-project.org/pipermail/releasing/2015-December/002026.html

so I wouldn't hope for qtwebkit recipe removal soon.

> 
> Andreas
> >
> > 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
> >
> > qtwebkit: 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 assumption that compiling for armv7
> > expects thumb support.
> >
> > So I removed the
> >
> > ARM_INSTRUCTION_SET = "arm"

You build it in distro with ARM_INSTRUCTION_SET set to "thumb", right?
Because the default is still "arm" so this issue you're describing is
still valid in default DISTRO-less builds.

> > and our application worked fine. To be a good boy I then build tested
> > with ARM_INSTRUCTION_SET = "thumb" and for qemuarm: It still fails.
> >
> > So what would the right way to go? Something like the pending patch
> > for icu replacing
> >
> > ARM_INSTRUCTION_SET = "arm"
> >
> > by
> >
> > ARM_INSTRUCTION_SET_armv4 = "arm"
> > ARM_INSTRUCTION_SET_armv5 = "arm"

This is OK with me, there was even a plan to use .inc file for all of
these overrides which will be included only for thumb1 tunes.

https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717

but because I didn't get an answer about putting recipes from other
layers to this .inc file I've added them directly to affected recipes.

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20151223/6eb0ac76/attachment-0002.sig>


More information about the Openembedded-devel mailing list