All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-qt5] qtscript,qtwebking: disable thumb issues on armv7
@ 2015-12-23  8:19 Andreas Müller
  2015-12-23  9:13 ` [meta-qt5] qtscript, qtwebking: " Andreas Müller
  2015-12-24  2:40 ` Khem Raj
  0 siblings, 2 replies; 6+ messages in thread
From: Andreas Müller @ 2015-12-23  8:19 UTC (permalink / raw)
  To: openembedded-devel@lists.openembedded.org

Hi

The story occured on jethro but I think it is the same for master:

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"

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"

Opinions?

Andreas


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [meta-qt5] qtscript, qtwebking: disable thumb issues on armv7
  2015-12-23  8:19 [meta-qt5] qtscript,qtwebking: disable thumb issues on armv7 Andreas Müller
@ 2015-12-23  9:13 ` Andreas Müller
  2015-12-23  9:42   ` Martin Jansa
  2015-12-24  2:40 ` Khem Raj
  1 sibling, 1 reply; 6+ messages in thread
From: Andreas Müller @ 2015-12-23  9:13 UTC (permalink / raw)
  To: openembedded-devel@lists.openembedded.org

On Wed, Dec 23, 2015 at 9:19 AM, Andreas Müller
<schnitzeltony@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/

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"
>
> 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"
>
> Opinions?
>
> Andreas


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [meta-qt5] qtscript, qtwebking: disable thumb issues on armv7
  2015-12-23  9:13 ` [meta-qt5] qtscript, qtwebking: " Andreas Müller
@ 2015-12-23  9:42   ` Martin Jansa
  2015-12-23  9:57     ` Andreas Müller
  0 siblings, 1 reply; 6+ messages in thread
From: Martin Jansa @ 2015-12-23  9:42 UTC (permalink / raw)
  To: openembedded-devel

[-- Attachment #1: Type: text/plain, Size: 2439 bytes --]

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@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@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [meta-qt5] qtscript, qtwebking: disable thumb issues on armv7
  2015-12-23  9:42   ` Martin Jansa
@ 2015-12-23  9:57     ` Andreas Müller
  2015-12-23 10:41       ` Martin Jansa
  0 siblings, 1 reply; 6+ messages in thread
From: Andreas Müller @ 2015-12-23  9:57 UTC (permalink / raw)
  To: openembedded-devel@lists.openembedded.org

On Wed, Dec 23, 2015 at 10:42 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> 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@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.
Yes - also in the blog I linked it was mentioned in the lower area but
my mail was already out when I read that.
>
>>
>> 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?
Correct

> Because the default is still "arm" so this issue you're describing is
> still valid in default DISTRO-less builds.
Ooh yes - so the right way for now (as long as other arm variants
don't fail) would be something like

ARM_INSTRUCTION_SET = "arm"
ARM_INSTRUCTION_SET_armv7 = "thumb"

If agreed I would send out patches for master and jethro with this.

Andreas


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [meta-qt5] qtscript, qtwebking: disable thumb issues on armv7
  2015-12-23  9:57     ` Andreas Müller
@ 2015-12-23 10:41       ` Martin Jansa
  0 siblings, 0 replies; 6+ messages in thread
From: Martin Jansa @ 2015-12-23 10:41 UTC (permalink / raw)
  To: openembedded-devel

[-- Attachment #1: Type: text/plain, Size: 2892 bytes --]

On Wed, Dec 23, 2015 at 10:57:18AM +0100, Andreas Müller wrote:
> On Wed, Dec 23, 2015 at 10:42 AM, Martin Jansa <martin.jansa@gmail.com> wrote:
> > 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@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.
> Yes - also in the blog I linked it was mentioned in the lower area but
> my mail was already out when I read that.
> >
> >>
> >> 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?
> Correct
> 
> > Because the default is still "arm" so this issue you're describing is
> > still valid in default DISTRO-less builds.
> Ooh yes - so the right way for now (as long as other arm variants
> don't fail) would be something like
> 
> ARM_INSTRUCTION_SET = "arm"
> ARM_INSTRUCTION_SET_armv7 = "thumb"
> 
> If agreed I would send out patches for master and jethro with this.

I'm not sure if I would go that far to set it to "thumb" here, just add
comment (even better with link to upstream bug).

It would be IMHO first case where we force thumb from the recipe.

Also note that there isn't armv7 override only armv7a, armv7m, armv7r,
armv7ve.

> 
> Andreas
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [meta-qt5] qtscript, qtwebking: disable thumb issues on armv7
  2015-12-23  8:19 [meta-qt5] qtscript,qtwebking: disable thumb issues on armv7 Andreas Müller
  2015-12-23  9:13 ` [meta-qt5] qtscript, qtwebking: " Andreas Müller
@ 2015-12-24  2:40 ` Khem Raj
  1 sibling, 0 replies; 6+ messages in thread
From: Khem Raj @ 2015-12-24  2:40 UTC (permalink / raw)
  To: openembeded-devel

On Wed, Dec 23, 2015 at 12:19 AM, Andreas Müller
<schnitzeltony@googlemail.com> wrote:
> Hi
>
> The story occured on jethro but I think it is the same for master:
>
> 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"

LLInt backend with JIT  is only supporting thumb2 instr set for armv7+
so thats what you did when you removed above. There are ways to disable JIT
in jscore but you have to dig for it.

>
> 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"
>
> Opinions?

this is right fix here.

>
> Andreas
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-12-24  2:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-23  8:19 [meta-qt5] qtscript,qtwebking: disable thumb issues on armv7 Andreas Müller
2015-12-23  9:13 ` [meta-qt5] qtscript, qtwebking: " Andreas Müller
2015-12-23  9:42   ` Martin Jansa
2015-12-23  9:57     ` Andreas Müller
2015-12-23 10:41       ` Martin Jansa
2015-12-24  2:40 ` Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.