<?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>126502</bug_id>
          
          <creation_ts>2014-01-05 11:40:48 -0800</creation_ts>
          <short_desc>[GTK] v2.3.3 fails to build in Debian / FreeBSD</short_desc>
          <delta_ts>2014-02-11 06:20:31 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>128598</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alberto Garcia">berto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mark.lam</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>964511</commentid>
    <comment_count>0</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2014-01-05 11:40:48 -0800</bug_when>
    <thetext>Here&apos;s the error:

../Source/JavaScriptCore/interpreter/Interpreter.cpp: In member function &apos;JSC::JSValue JSC::Interpreter::executeCall(JSC::CallFrame*, JSC::JSObject*, JSC::CallType, const JSC::CallData&amp;, JSC::JSValue, const JSC::ArgList&amp;)&apos;:
../Source/JavaScriptCore/interpreter/Interpreter.cpp:973:168: error: &apos;callToNativeFunction&apos; was not declared in this scope
             result = JSValue::decode(callToNativeFunction(reinterpret_cast&lt;void*&gt;(callData.native.function), &amp;vm.topCallFrame, &amp;protoCallFrame, m_stack.getTopOfStack()));
                                                                                                                                                                        ^
../Source/JavaScriptCore/interpreter/Interpreter.cpp: In member function &apos;JSC::JSObject* JSC::Interpreter::executeConstruct(JSC::CallFrame*, JSC::JSObject*, JSC::ConstructType, const JSC::ConstructData&amp;, const JSC::ArgList&amp;)&apos;:
../Source/JavaScriptCore/interpreter/Interpreter.cpp:1041:173: error: &apos;callToNativeFunction&apos; was not declared in this scope
             result = JSValue::decode(callToNativeFunction(reinterpret_cast&lt;void*&gt;(constructData.native.function), &amp;vm.topCallFrame, &amp;protoCallFrame, m_stack.getTopOfStack()));

Complete build output here:

https://buildd.debian.org/status/fetch.php?pkg=webkitgtk&amp;arch=kfreebsd-amd64&amp;ver=2.3.3-1&amp;stamp=1388886358</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>964585</commentid>
    <comment_count>1</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-01-06 01:52:45 -0800</bug_when>
    <thetext>ENABLE_LLINT is not being enabled on FreeBSD.
http://trac.webkit.org/browser/trunk/Source/WTF/wtf/Platform.h#L726</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968258</commentid>
    <comment_count>2</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2014-01-15 03:24:51 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; ENABLE_LLINT is not being enabled on FreeBSD.
&gt; http://trac.webkit.org/browser/trunk/Source/WTF/wtf/Platform.h#L726

Yeah, but JSC should anyway build without it, shouldn&apos;t it?

We can also enable LLINT in FreeBSD, is there any reason why it
wouldn&apos;t work? It seems to built fine at least...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968262</commentid>
    <comment_count>3</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2014-01-15 03:34:02 -0800</bug_when>
    <thetext>And it looks like this broke after r160186, adding Mark Lam to Cc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968307</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-01-15 07:01:04 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; ENABLE_LLINT is not being enabled on FreeBSD.
&gt; &gt; http://trac.webkit.org/browser/trunk/Source/WTF/wtf/Platform.h#L726
&gt; 
&gt; Yeah, but JSC should anyway build without it, shouldn&apos;t it?
&gt; 
&gt; We can also enable LLINT in FreeBSD, is there any reason why it
&gt; wouldn&apos;t work? It seems to built fine at least...

Sorry about the breakage, but going forward, the LLINT will be an essential part of the JSC build.  This (breakage) wasn’t by design, but it came out of a natural progression in the development of the JSC JIT.

If you build with the JIT, the LLINT is needed to provide glue trampoline (e.g. callToJavaScript and callToNativeFunction).  If you build without the JIT, the LLINT is needed to provide the C loop interpreter.  Either way, you will need the LLINT.

The only alternative to this is to build with JIT only and provide your own glue trampoline.  For example, see jit/JITStubsX86.h and jit/JITStubsMSVC64.asm.  This is no recommended because the LLINT assembly will be undergoing continual development over time, and these one off bits of ASM code can easily bit rot.

I recommend you add LLINT support to the FreeBSD port.  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968352</commentid>
    <comment_count>5</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2014-01-15 09:20:26 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; I recommend you add LLINT support to the FreeBSD port.  Thanks.

Thanks for the answer.

I wonder, instead of adding FREEBSD to the list, can I just replace
(OS(DARWIN) || OS(LINUX)) with OS(UNIX) or is there any reason why it
wouldn&apos;t work in some Unix system?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968355</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-01-15 09:23:22 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; I recommend you add LLINT support to the FreeBSD port.  Thanks.
&gt; 
&gt; Thanks for the answer.
&gt; 
&gt; I wonder, instead of adding FREEBSD to the list, can I just replace
&gt; (OS(DARWIN) || OS(LINUX)) with OS(UNIX) or is there any reason why it
&gt; wouldn&apos;t work in some Unix system?

The LLINT requires an extra build phase to generate LLIntAssembly.h.  It is not guaranteed that all platforms support this build phase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968358</commentid>
    <comment_count>7</comment_count>
      <attachid>221276</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2014-01-15 09:30:17 -0800</bug_when>
    <thetext>Created attachment 221276
Patch

(In reply to comment #6)
&gt; The LLINT requires an extra build phase to generate LLIntAssembly.h.
&gt; It is not guaranteed that all platforms support this build phase.

I see. Here&apos;s the patch with FreeBSD only then.

Thanks again!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968361</commentid>
    <comment_count>8</comment_count>
      <attachid>221276</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-01-15 09:32:41 -0800</bug_when>
    <thetext>Comment on attachment 221276
Patch

r=me assuming you’ve tested it and confirmed that it resolves the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968367</commentid>
    <comment_count>9</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2014-01-15 09:39:40 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 221276 [details])
&gt; r=me assuming you’ve tested it and confirmed that it resolves the issue.

Yeah, I&apos;ll anyway do a full rebuild again later to double check before
committing the change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968449</commentid>
    <comment_count>10</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2014-01-15 13:17:12 -0800</bug_when>
    <thetext>Committed r162086: &lt;http://trac.webkit.org/changeset/162086&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221276</attachid>
            <date>2014-01-15 09:30:17 -0800</date>
            <delta_ts>2014-01-15 09:32:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>126502.diff</filename>
            <type>text/plain</type>
            <size>1060</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggM2I5MzA5ZS4uZmIwNTYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNC0wMS0xNSAg
QWxiZXJ0byBHYXJjaWEgIDxiZXJ0b0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIHYyLjMu
MyBmYWlscyB0byBidWlsZCBpbiBEZWJpYW4gLyBGcmVlQlNECisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjY1MDIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOiBBZGQgTExJTlQg
c3VwcG9ydCB0byBGcmVlQlNELgorCiAyMDE0LTAxLTE0ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRl
cnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQW5kIHlldCBhbm90aGVyIGJ1aWxkIGZpeC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybS5oCmluZGV4IDZjYzExNWUuLjQ2YTA2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtNzE0LDcgKzcx
NCw3IEBACiAgICBsb3ctbGV2ZWwgaW50ZXJwcmV0ZXIuICovCiAjaWYgIWRlZmluZWQoRU5BQkxF
X0xMSU5UKSBcCiAgICAgJiYgRU5BQkxFKEpJVCkgXAotICAgICYmIChPUyhEQVJXSU4pIHx8IE9T
KExJTlVYKSkgXAorICAgICYmIChPUyhEQVJXSU4pIHx8IE9TKExJTlVYKSB8fCBPUyhGUkVFQlNE
KSkgXAogICAgICYmIChQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwgUExBVEZPUk0o
R1RLKSkgXAogICAgICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1C
MikgfHwgQ1BVKEFSTV9UUkFESVRJT05BTCkgfHwgQ1BVKEFSTTY0KSB8fCBDUFUoTUlQUykgfHwg
Q1BVKFNINCkpCiAjZGVmaW5lIEVOQUJMRV9MTElOVCAxCg==
</data>
<flag name="review"
          id="245156"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>