Bug 98031 - [Qt] QNX build fails due to disabled LLInt
Summary: [Qt] QNX build fails due to disabled LLInt
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Qt (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Milian Wolff
URL:
Keywords:
Depends on:
Blocks: 74040
  Show dependency treegraph
 
Reported: 2012-10-01 07:48 PDT by Milian Wolff
Modified: 2012-11-20 04:24 PST (History)
6 users (show)

See Also:


Attachments
Patch (2.37 KB, patch)
2012-10-01 08:43 PDT, Milian Wolff
hausmann: review-
hausmann: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Milian Wolff 2012-10-01 07:48:22 PDT
LLInt is enabled by default, whenever JIT is disabled, see Platform.h loc 932. On QNX, JIT is disabled, but LLInt for the Qt port is only enabled on Linux and non-ARM machines, see bug 95749.

Now, the patch from bug 95749 works just fine on ARMv7 QNX. Thus I propose to change the buildsystem to also enable LLInt on QNX. Sadly, I have not found a way to properly check for an ARMv7, as there QT_ARCH is also set to "arm".
Comment 1 Milian Wolff 2012-10-01 08:43:56 PDT
Created attachment 166483 [details]
Patch
Comment 2 Simon Hausmann 2012-10-21 23:33:42 PDT
Comment on attachment 166483 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=166483&action=review

> Source/JavaScriptCore/DerivedSources.pri:87
> -linux-*:!equals(QT_ARCH, "arm") {
> +!equals(QT_ARCH, "arm"):linux-*|qnx {

I think the safest way to write this is to use if():

    linux-*:!equals(QT_ARCH, "arm")

becomes

    if(linux-*|qnx):!equals(QT_ARCH, "arm")

Then it's unambigious to qmake as well as to the reader :)

Similar in the other cases below.
Comment 3 Milian Wolff 2012-11-01 09:37:44 PDT
Ok, I'll update the patch but first let me clarify something:


    if(linux-*|qnx):!equals(QT_ARCH, "arm")

That is actually *not* what I want, but instead

    if(linux-*:!equals(QT_ARCH, "arm"))|qnx

Using that I can actually compile QtWebKit on QNX/ARMv7le. But the above leads me to believe that the assembly-magic is not working on ARM, is that correct? How can one use webkit on an embedded ARM device, then? The JIT is disabled and without LLInt assembly the LLInt cannot be built. But either JIT or LLInt is a requirement, see Platform.h loc 932.
Comment 4 Milian Wolff 2012-11-19 04:07:19 PST
Closing this one as we should rather try to get the DFG running on QNX. LLInt is not a good choice for an ARM platform.
Comment 5 Sergio Martins 2012-11-20 04:24:41 PST
JIT will be enabled here: https://bugs.webkit.org/show_bug.cgi?id=102794