<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>101712</bug_id>
          
          <creation_ts>2012-11-08 22:33:38 -0800</creation_ts>
          <short_desc>[Qt] Fix the LLINT build from ARMv7 platform</short_desc>
          <delta_ts>2012-11-09 05:39:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>420+</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Csaba Osztrogonác">ossy</assigned_to>
          <cc>abecsi</cc>
    
    <cc>hausmann</cc>
    
    <cc>loki</cc>
    
    <cc>ossy</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>762577</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-11-08 22:33:38 -0800</bug_when>
    <thetext>The Qt build is broken on ARMv7 (Thumb2) platform:
/home/oszi/WebKit/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:541:27: fatal error: LLIntAssembly.h: No such file or directory

The reason is simple. LLINT is enabled by Platform.h:
/* On some of the platforms where we have a JIT, we want to also have the
   low-level interpreter. */
#if !defined(ENABLE_LLINT) \
    &amp;&amp; ENABLE(JIT) \
    &amp;&amp; (OS(DARWIN) || OS(LINUX)) \
    &amp;&amp; (PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(GTK) || (PLATFORM(QT) &amp;&amp; OS(LINUX))) \
    &amp;&amp; (CPU(X86) || CPU(X86_64) || CPU(ARM_THUMB2))
#define ENABLE_LLINT 1
#endif

But generating of LLIntAssembly.h is disabled all ARM platforms, not only ARM_TRADITIONAL.

Fix is coming soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762588</commentid>
    <comment_count>1</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-11-08 22:46:51 -0800</bug_when>
    <thetext>LLINT is disabled on MIPS, but generating isn&apos;t disabled. But it doesn&apos;t
cause any problem, because the genarator script automatically skip it:

ruby /data/buildbot/mips-1/qt-linux-mipsel-mips32r2-release/build/Source/JavaScriptCore/offlineasm/asm.rb /data/buildbot/mips-1/qt-linux-mipsel-mips32r2-release/build/Source/JavaScriptCore/llint/LowLevelInterpreter.asm LLIntOffsetsExtractor generated/LLIntAssembly.h
offlineasm: Parsing /data/buildbot/mips-1/qt-linux-mipsel-mips32r2-release/build/Source/JavaScriptCore/llint/LowLevelInterpreter.asm and LLIntOffsetsExtractor and creating assembly file generated/LLIntAssembly.h.
offlineasm: No magic values found. Skipping assembly file generation.

Here is the output on ARM_TRADITIONAL after enabling generation:

ruby /home/oszi/WebKit/Source/JavaScriptCore/offlineasm/asm.rb /home/oszi/WebKit/Source/JavaScriptCore/llint/LowLevelInterpreter.asm LLIntOffsetsExtractor generated/LLIntAssembly.h
offlineasm: Parsing /home/oszi/WebKit/Source/JavaScriptCore/llint/LowLevelInterpreter.asm and LLIntOffsetsExtractor and creating assembly file generated/LLIntAssembly.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762593</commentid>
    <comment_count>2</comment_count>
      <attachid>173208</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-11-08 22:49:41 -0800</bug_when>
    <thetext>Created attachment 173208
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762597</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-11-08 22:53:12 -0800</bug_when>
    <thetext>Of course we could implement a complex condition for generating similar to Platform.h . But it needs configure tests, etc. Additionally generating is
needed LLINT_C_LOOP (interpreter) platforms too, not only JIT&amp;&amp;LLINT platforms.

I think enabling generation on more platform than necessary is safe,
it won&apos;t cause any problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762665</commentid>
    <comment_count>4</comment_count>
      <attachid>173208</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-11-09 00:40:39 -0800</bug_when>
    <thetext>Comment on attachment 173208
Patch

Clearing flags on attachment: 173208

Committed r134025: &lt;http://trac.webkit.org/changeset/134025&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762666</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-11-09 00:40:44 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762724</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-11-09 01:58:15 -0800</bug_when>
    <thetext>Latest build error on ARM now: 

11:32:23 /work/build/qt/qtwebkit/Source/JavaScriptCore/release/libJavaScriptCore.a(JITPropertyAccess.o): In function `JSC::JIT::privateCompilePutByVal(JSC::ByValInfo*, JSC::ReturnAddressPtr, JSC::JITArrayMode)&apos;:
11:32:23 JITPropertyAccess.cpp:(.text+0x20fa): undefined reference to `JSC::AbstractMacroAssembler&lt;JSC::ARMv7Assembler&gt;::JumpList JSC::JIT::emitGenericContiguousPutByVal&lt;(unsigned char)20&gt;(JSC::Instruction*, JSC::AbstractMacroAssembler&lt;JSC::ARMv7Assembler&gt;::PatchableJump&amp;)&apos;
11:32:23 JITPropertyAccess.cpp:(.text+0x2134): undefined reference to `JSC::AbstractMacroAssembler&lt;JSC::ARMv7Assembler&gt;::JumpList JSC::JIT::emitGenericContiguousPutByVal&lt;(unsigned char)22&gt;(JSC::Instruction*, JSC::AbstractMacroAssembler&lt;JSC::ARMv7Assembler&gt;::PatchableJump&amp;)&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762773</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-11-09 03:03:08 -0800</bug_when>
    <thetext>Maybe http://trac.webkit.org/changeset/133953 is the culprit, let me check it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762894</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-11-09 05:39:16 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Maybe http://trac.webkit.org/changeset/133953 is the culprit, let me check it.
It is innocent, but r133985 is the culprit - https://bugs.webkit.org/show_bug.cgi?id=101740</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173208</attachid>
            <date>2012-11-08 22:49:41 -0800</date>
            <delta_ts>2012-11-09 00:40:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101712-20121109074749.patch</filename>
            <type>text/plain</type>
            <size>2251</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MDA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
OTA0MjRjOTdkNDM5NzQwM2I4NTNiNjJjYzk3Y2VlOWE0NTJkYjcxLi42NmY3MmY3Yjg1Y2RjNDIy
N2I5MGRkYWU4YjI3NmNkZjBiMmEwMDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxMi0xMS0wOCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFtRdF0gRml4IHRoZSBMTElOVCBidWlsZCBmcm9tIEFSTXY3IHBsYXRm
b3JtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE3
MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFi
bGUgZ2VuZXJhdGluZyBvZiBMTEludEFzc2VtYmx5Lmggb24gQVJNIHBsYXRmb3Jtcy4KKworICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLnByaToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5wcm86
CisKIDIwMTItMTEtMDggIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBcnJheVByb3RvdHlwZS5oIHNob3VsZCBoYXZlIGNvcnJlY3QgaW5kZW50YXRpb24KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMucHJpCmluZGV4IDAzYTkzNTU3NTc0OGZkYTk4
ZmJlMzUyYTM5ZWI4ODMwYjkxZjkyZGIuLmY5YmJiZjY3YzZlMjA3NDc1MzgyMWJhNmRkODJhMGJi
YWM2ZTBjMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNl
cy5wcmkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAt
MTAyLDcgKzEwMiw3IEBAIGZvcihkaXIsIERJUlMpIHsKICAgICBleGlzdHMoJCRmaWxlKTogTExJ
TlRfRklMRVMgKz0gJCRmaWxlCiB9CiAKLWlmKGxpbnV4LSp8d2luMzIpOiFlcXVhbHMoUVRfQVJD
SCwgImFybSIpIHsKK2lmKGxpbnV4LSp8d2luMzIpIHsKICAgICAjR0VORVJBVE9SOiBMTEludAog
ICAgIGxsaW50Lm91dHB1dCA9ICR7UU1BS0VfRklMRV9JTl9QQVRIfSQke1FNQUtFX0RJUl9TRVB9
TExJbnRBc3NlbWJseS5oCiAgICAgbGxpbnQuc2NyaXB0ID0gJCRQV0Qvb2ZmbGluZWFzbS9hc20u
cmIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5wcm8g
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJvCmluZGV4IGM4NmNhOGUz
ZDU5Mzk5OTk3N2ZiNzQ0ZWE5NDMyNmU2ZWY4NjhmNjEuLjkyNDI2MWQ0ZmNiNmRlYjI4YTAxNzA0
MjBhYjY0ZWNmN2JjZTU3OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5wcm8KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnBybwpAQCAtNyw3ICs3LDcgQEAKIFRFTVBMQVRFID0gc3ViZGlycwogQ09ORklHICs9IG9yZGVy
ZWQKIAotaWYobGludXgtKnx3aW4zMiopOiFlcXVhbHMoUVRfQVJDSCwgImFybSIpIHsKK2lmKGxp
bnV4LSp8d2luMzIqKSB7CiAgICAgTExJbnRPZmZzZXRzRXh0cmFjdG9yLmZpbGUgPSBMTEludE9m
ZnNldHNFeHRyYWN0b3IucHJvCiAgICAgTExJbnRPZmZzZXRzRXh0cmFjdG9yLm1ha2VmaWxlID0g
TWFrZWZpbGUuTExJbnRPZmZzZXRzRXh0cmFjdG9yCiAgICAgU1VCRElSUyArPSBMTEludE9mZnNl
dHNFeHRyYWN0b3IKQEAgLTE4LDcgKzE4LDcgQEAgdGFyZ2V0LmZpbGUgPSBUYXJnZXQucHJpCiAK
IFNVQkRJUlMgKz0gZGVyaXZlZF9zb3VyY2VzIHRhcmdldAogCi1pZihsaW51eC0qfHdpbjMyKik6
IWVxdWFscyhRVF9BUkNILCAiYXJtIik6YWRkU3RyaWN0U3ViZGlyT3JkZXJCZXR3ZWVuKExMSW50
T2Zmc2V0c0V4dHJhY3RvciwgZGVyaXZlZF9zb3VyY2VzKQoraWYobGludXgtKnx3aW4zMiopOmFk
ZFN0cmljdFN1YmRpck9yZGVyQmV0d2VlbihMTEludE9mZnNldHNFeHRyYWN0b3IsIGRlcml2ZWRf
c291cmNlcykKIGFkZFN0cmljdFN1YmRpck9yZGVyQmV0d2VlbihkZXJpdmVkX3NvdXJjZXMsIHRh
cmdldCkKIAoganNjLmZpbGUgPSBqc2MucHJvCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>