<?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>113638</bug_id>
          
          <creation_ts>2013-03-30 03:06:26 -0700</creation_ts>
          <short_desc>webkitgtk 2.0.0 fails to build on OpenBSD (and maybe others) powerpc/mips64el/sparc64</short_desc>
          <delta_ts>2015-08-20 10:41:58 -0700</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>Other</op_sys>
          <bug_status>UNCONFIRMED</bug_status>
          <resolution></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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Landry Breuil">landry</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aaron.bamberger</cc>
    
    <cc>changseok</cc>
    
    <cc>dan</cc>
    
    <cc>fpizlo</cc>
    
    <cc>gnome</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>patrickdepinguin</cc>
    
    <cc>pochu27</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>866596</commentid>
    <comment_count>0</comment_count>
    <who name="Landry Breuil">landry</who>
    <bug_when>2013-03-30 03:06:26 -0700</bug_when>
    <thetext>As of now on those archs, build fails with :

rce/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp&apos; || echo &apos;./&apos;`Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp
In file included from ./Source/JavaScriptCore/bytecode/ValueRecovery.h:31,
                 from ./Source/JavaScriptCore/bytecode/CodeOrigin.h:31,
                 from ./Source/JavaScriptCore/bytecode/CodeBlock.h:39,
                 from Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:29:
./Source/JavaScriptCore/assembler/MacroAssembler.h:62:2: error: #error &quot;The MacroAssembler is not supported on this platform.&quot;
In file included from /usr/include/g++/iosfwd:45,
                 from /usr/include/g++/bits/stl_algobase.h:70,
                 from /usr/include/g++/algorithm:65,
                 from ./Source/WTF/wtf/Alignment.h:25,
                 from ./Source/WTF/wtf/HashTable.h:25,
                 from ./Source/WTF/wtf/HashMap.h:24,
                 from ./Source/JavaScriptCore/runtime/JSCJSValue.h:31,
                 from ./Source/JavaScriptCore/heap/HandleTypes.h:29,
                 from ./Source/JavaScriptCore/runtime/WriteBarrier.h:30,
                 from ./Source/JavaScriptCore/runtime/PropertyStorage.h:29,
                 from ./Source/JavaScriptCore/runtime/IndexingHeader.h:29,
                 from ./Source/JavaScriptCore/runtime/ArrayConventions.h:24,
                 from ./Source/JavaScriptCore/runtime/JSArray.h:24,
                 from ./Source/JavaScriptCore/bytecode/ArrayProfile.h:29,
                 from Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:28:
/usr/include/g++/powerpc-unknown-openbsd5.3/bits/c++locale.h: In function &apos;int std::__convert_from_v(int* const&amp;, char*, int, const char*, 
...)&apos;:
/usr/include/g++/powerpc-unknown-openbsd5.3/bits/c++locale.h:81: warning: function might be possible candidate for &apos;printf&apos; format attribut
e
In file included from ./Source/JavaScriptCore/bytecode/ValueRecovery.h:31,
                 from ./Source/JavaScriptCore/bytecode/CodeOrigin.h:31,
                 from ./Source/JavaScriptCore/bytecode/CodeBlock.h:39,
                 from Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:29:
./Source/JavaScriptCore/assembler/MacroAssembler.h: At global scope:
./Source/JavaScriptCore/assembler/MacroAssembler.h:67: error: expected class-name before &apos;{&apos; token
./Source/JavaScriptCore/assembler/MacroAssembler.h:70: error: &apos;MacroAssemblerBase&apos; has not been declared
./Source/JavaScriptCore/assembler/MacroAssembler.h:71: error: &apos;MacroAssemblerBase&apos; has not been declared
./Source/JavaScriptCore/assembler/MacroAssembler.h:72: error: &apos;MacroAssemblerBase&apos; has not been declared
./Source/JavaScriptCore/assembler/MacroAssembler.h:73: error: &apos;MacroAssemblerBase&apos; has not been declared
./Source/JavaScriptCore/assembler/MacroAssembler.h:161: error: &apos;RegisterID&apos; has not been declared
./Source/JavaScriptCore/assembler/MacroAssembler.h:166: error: &apos;Address&apos; does not name a type
./Source/JavaScriptCore/assembler/MacroAssembler.h:171: error: &apos;RegisterID&apos; has not been declared
./Source/JavaScriptCore/assembler/MacroAssembler.h:176: error: &apos;TrustedImm32&apos; has not been declared

etc etc etc..

If i force-disable assembler/yarr jit with JSC_CPPFLAGS=&quot;-DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0&quot; in the build env, it fails with :

./Source/WTF/wtf/MathExtras.h: In function &apos;bool std::signbit(double)&apos;:
./Source/WTF/wtf/MathExtras.h:112: warning: dereferencing type-punned pointer will break strict-aliasing rules
In file included from Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:406:
./DerivedSources/JavaScriptCore/LLIntAssembly.h: In static member function &apos;static JSC::JSValue JSC::LLInt::CLoop::execute(JSC:
:CallFrame*, JSC::OpcodeID, bool)&apos;:
./DerivedSources/JavaScriptCore/LLIntAssembly.h:2545: error: &apos;isnan&apos; was not declared in this scope
./DerivedSources/JavaScriptCore/LLIntAssembly.h:2548: error: &apos;Double2Ints&apos; was not declared in this scope
./DerivedSources/JavaScriptCore/LLIntAssembly.h:2834: error: &apos;isnan&apos; was not declared in this scope
./DerivedSources/JavaScriptCore/LLIntAssembly.h:4736: error: &apos;isnan&apos; was not declared in this scope


Help welcome. I suppose the logic for ENABLE_ASSEMBLER in Source/WTF/wtf/Platform.h is somewhat broken for those archs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866612</commentid>
    <comment_count>1</comment_count>
    <who name="Landry Breuil">landry</who>
    <bug_when>2013-03-30 07:33:54 -0700</bug_when>
    <thetext>Some more notes on this - the first problem of ENABLE_ASSEMBLER left out, the second issue can be worked around this way :

Backport http://trac.webkit.org/changeset/145551 -&gt; Fixes the &apos;error: &apos;Double2Ints&apos; was not declared in this scope&apos;
Fix  Source/JavaScriptCore/offlineasm/cloop.rb so that it only spits std::isnan and not std::isnan || isnan fixes the &apos;error: &apos;isnan&apos; was not declared in this scope&apos;

--- Source/JavaScriptCore/offlineasm/cloop.rb.orig      Tue Feb 19 08:44:37 2013
+++ Source/JavaScriptCore/offlineasm/cloop.rb   Sat Mar 30 13:06:32 2013
@@ -398,7 +398,7 @@ def cloopEmitUnaryOperation(operands, type, operator)
 end
 
 def cloopEmitCompareDoubleWithNaNCheckAndBranch(operands, condition)
-    $asm.putc &quot;if (std::isnan(#{operands[0].clValue(:double)}) || isnan(#{operands[1].clValue(:double)})&quot;
+    $asm.putc &quot;if (std::isnan(#{operands[0].clValue(:double)})&quot;
     $asm.putc &quot;    || (#{operands[0].clValue(:double)} #{condition} #{operands[1].clValue(:double)}))&quot;
     $asm.putc &quot;    goto #{operands[2].cLabel};&quot;
 end


On OpenBSD (don&apos;t know for the others), including &lt;cmath&gt; to reach std::isnan() #undefs isnan, and because of multiple inclusion protection including math.h again afterwards doesn&apos;t get isnan() defined back, so both cant be used at the same time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866757</commentid>
    <comment_count>2</comment_count>
    <who name="Landry Breuil">landry</who>
    <bug_when>2013-03-31 01:41:46 -0700</bug_when>
    <thetext>Using all the aforementioned changes (disable asm/yarr in env, backport r145551, fix cloop.rb wrt isnan) , i managed to get webkitgtk 1.11.91 to build on OpenBSD/ppc. Will try 2.0.0.

Unfortunately runtime seems broken: GtkLauncher just spits &apos;** Message: console message: undefined @0: RangeError: Maximum call stack size exceeded.&apos;, and midori crashes with what seems an infinite recursion in CLoop::execute :

(gdb) bt
#0  0x8e95a0d4 in JSC::LLInt::CLoop::execute () from /usr/local/lib/libjavascriptcoregtk-1.0.so.3.0
#1  0x8e95a1c8 in JSC::LLInt::CLoop::execute () from /usr/local/lib/libjavascriptcoregtk-1.0.so.3.0
#2  0x8e95a1c8 in JSC::LLInt::CLoop::execute () from /usr/local/lib/libjavascriptcoregtk-1.0.so.3.0
#3  0x8e95a1c8 in JSC::LLInt::CLoop::execute () from /usr/local/lib/libjavascriptcoregtk-1.0.so.3.0

Any guidance in where to look; which commits to backport, or what &apos;sort-of-related bug report&apos; to see is welcome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866760</commentid>
    <comment_count>3</comment_count>
    <who name="Landry Breuil">landry</who>
    <bug_when>2013-03-31 02:01:46 -0700</bug_when>
    <thetext>Thinking out loud, maybe  #103128 would fix ppc 32 bits ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866903</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-03-31 21:58:38 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Using all the aforementioned changes (disable asm/yarr in env, backport r145551, fix cloop.rb wrt isnan) , i managed to get webkitgtk 1.11.91 to build on OpenBSD/ppc. Will try 2.0.0.
&gt; 
&gt; Unfortunately runtime seems broken: GtkLauncher just spits &apos;** Message: console message: undefined @0: RangeError: Maximum call stack size exceeded.&apos;, and midori crashes with what seems an infinite recursion in CLoop::execute :
&gt; 
&gt; (gdb) bt
&gt; #0  0x8e95a0d4 in JSC::LLInt::CLoop::execute () from /usr/local/lib/libjavascriptcoregtk-1.0.so.3.0
&gt; #1  0x8e95a1c8 in JSC::LLInt::CLoop::execute () from /usr/local/lib/libjavascriptcoregtk-1.0.so.3.0
&gt; #2  0x8e95a1c8 in JSC::LLInt::CLoop::execute () from /usr/local/lib/libjavascriptcoregtk-1.0.so.3.0
&gt; #3  0x8e95a1c8 in JSC::LLInt::CLoop::execute () from /usr/local/lib/libjavascriptcoregtk-1.0.so.3.0
&gt; 
&gt; Any guidance in where to look; which commits to backport, or what &apos;sort-of-related bug report&apos; to see is welcome.

I would love to help but I don&apos;t have a big-endian 64-bit machine.

Can you enable LLINT_EXECUTION_TRACING (LLIntCommon.h) and try to run some of the basic tests?  Like run-javascriptcore-tests?  Or attempt to run GtkLauncher and see what happens?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867292</commentid>
    <comment_count>5</comment_count>
    <who name="Landry Breuil">landry</who>
    <bug_when>2013-04-01 12:48:17 -0700</bug_when>
    <thetext>as i said in #103128 ( sorry for being on both sides.. ), using a modified patchset from that bug &apos;fixes&apos; the infinite loop, but runtime still seems broken. I&apos;ll try LLINT_EXECUTION_TRACING.

Some questions : am i right that ENABLE_ASSEMBLER and ENABLE_YARR_JIT should _not_ be set on ppc/mips64el/sparc64 ? Is there a way to only build the js shell from a webkitgtk-2.0.0 src tarball, without spending 24h building the whole thing ? gmake jsc-1 should do the trick ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867731</commentid>
    <comment_count>6</comment_count>
    <who name="Dan Horák">dan</who>
    <bug_when>2013-04-02 04:21:39 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #2)
&gt; &gt; Using all the aforementioned changes (disable asm/yarr in env, backport r145551, fix cloop.rb wrt isnan) , i managed to get webkitgtk 1.11.91 to build on OpenBSD/ppc. Will try 2.0.0.
&gt; &gt; 
&gt; &gt; Unfortunately runtime seems broken: GtkLauncher just spits &apos;** Message: console message: undefined @0: RangeError: Maximum call stack size exceeded.&apos;, and midori crashes with what seems an infinite recursion in CLoop::execute :
&gt; &gt; 
&gt; &gt; (gdb) bt
&gt; &gt; #0  0x8e95a0d4 in JSC::LLInt::CLoop::execute () from /usr/local/lib/libjavascriptcoregtk-1.0.so.3.0
&gt; &gt; #1  0x8e95a1c8 in JSC::LLInt::CLoop::execute () from /usr/local/lib/libjavascriptcoregtk-1.0.so.3.0
&gt; &gt; #2  0x8e95a1c8 in JSC::LLInt::CLoop::execute () from /usr/local/lib/libjavascriptcoregtk-1.0.so.3.0
&gt; &gt; #3  0x8e95a1c8 in JSC::LLInt::CLoop::execute () from /usr/local/lib/libjavascriptcoregtk-1.0.so.3.0
&gt; &gt; 
&gt; &gt; Any guidance in where to look; which commits to backport, or what &apos;sort-of-related bug report&apos; to see is welcome.
&gt; 
&gt; I would love to help but I don&apos;t have a big-endian 64-bit machine.

this problem can most likely be solved, I&apos;ll come to you with the details when I&apos;ll have them</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867926</commentid>
    <comment_count>7</comment_count>
    <who name="Landry Breuil">landry</who>
    <bug_when>2013-04-02 09:22:22 -0700</bug_when>
    <thetext>Building with LLINT_EXECUTION_TRACING defined to 1 in LLIntCommon.h doesnt seem to make jsc more verbose. Maybe i&apos;m missing something ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923271</commentid>
    <comment_count>8</comment_count>
    <who name="Emilio Pozuelo Monfort">pochu27</who>
    <bug_when>2013-08-31 04:31:07 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; If i force-disable assembler/yarr jit with JSC_CPPFLAGS=&quot;-DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0&quot; in the build env, it fails with :

This is no longer possible in 2.1.x after the change from bug #119445. CPPFLAGS should be fine though.

The arches that don&apos;t support this stuff should define ENABLE_JIT, ENABLE_YARR_JIT and ENABLE_ASSEMBLER to 0 in Source/WTF/wtf/Platform.h

The problem seems to be that YARR_JIT and ASSEMBLER are enabled if one of JIT or LLINT_C_LOOP are enabled:

/* Yet Another Regex Runtime - turned on by default for JIT enabled ports. */
#if !defined(ENABLE_YARR_JIT) &amp;&amp; (ENABLE(JIT) || ENABLE(LLINT_C_LOOP)) &amp;&amp; !(OS(QNX) &amp;&amp; PLATFORM(QT))
#define ENABLE_YARR_JIT 1

But LLINT_C_LOOP is enabled if JIT is disabled, so the above check is always true:

/* If the jit is not available, enable the LLInt C Loop: */
#if !ENABLE(JIT)
#undef ENABLE_LLINT        /* Undef so that we can redefine it. */
#undef ENABLE_LLINT_C_LOOP /* Undef so that we can redefine it. */
#undef ENABLE_DFG_JIT      /* Undef so that we can redefine it. */
#define ENABLE_LLINT 1
#define ENABLE_LLINT_C_LOOP 1
#define ENABLE_DFG_JIT 0
#endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936764</commentid>
    <comment_count>9</comment_count>
    <who name="Landry Breuil">landry</who>
    <bug_when>2013-10-06 05:39:41 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #0)
&gt; &gt; If i force-disable assembler/yarr jit with JSC_CPPFLAGS=&quot;-DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0&quot; in the build env, it fails with :
&gt; 
&gt; This is no longer possible in 2.1.x after the change from bug #119445. CPPFLAGS should be fine though.
&gt; 
&gt; The arches that don&apos;t support this stuff should define ENABLE_JIT, ENABLE_YARR_JIT and ENABLE_ASSEMBLER to 0 in Source/WTF/wtf/Platform.h
&gt; 
&gt; The problem seems to be that YARR_JIT and ASSEMBLER are enabled if one of JIT or LLINT_C_LOOP are enabled:
&gt; 
&gt; /* Yet Another Regex Runtime - turned on by default for JIT enabled ports. */
&gt; #if !defined(ENABLE_YARR_JIT) &amp;&amp; (ENABLE(JIT) || ENABLE(LLINT_C_LOOP)) &amp;&amp; !(OS(QNX) &amp;&amp; PLATFORM(QT))
&gt; #define ENABLE_YARR_JIT 1
&gt; 
&gt; But LLINT_C_LOOP is enabled if JIT is disabled, so the above check is always true:
&gt; 
&gt; /* If the jit is not available, enable the LLInt C Loop: */
&gt; #if !ENABLE(JIT)
&gt; #undef ENABLE_LLINT        /* Undef so that we can redefine it. */
&gt; #undef ENABLE_LLINT_C_LOOP /* Undef so that we can redefine it. */
&gt; #undef ENABLE_DFG_JIT      /* Undef so that we can redefine it. */
&gt; #define ENABLE_LLINT 1
&gt; #define ENABLE_LLINT_C_LOOP 1
&gt; #define ENABLE_DFG_JIT 0
&gt; #endif

Fwiw, here&apos;s what i&apos;ve ended up to fix the build :

 /* Yet Another Regex Runtime - turned on by default for JIT enabled ports. */
-#if !defined(ENABLE_YARR_JIT) &amp;&amp; (ENABLE(JIT) || ENABLE(LLINT_C_LOOP)) &amp;&amp; !(OS(QNX) &amp;&amp; PLATFORM(QT))
+#if !defined(ENABLE_YARR_JIT) &amp;&amp; (ENABLE(JIT)) &amp;&amp; !(OS(QNX) &amp;&amp; PLATFORM(QT))
 #define ENABLE_YARR_JIT 1
 
 /* Setting this flag compares JIT results with interpreter results. */
@@ -863,7 +874,7 @@
 
 /* If either the JIT or the RegExp JIT is enabled, then the Assembler must be
    enabled as well: */
-#if ENABLE(JIT) || ENABLE(YARR_JIT)
+#if ENABLE(JIT)
 #if defined(ENABLE_ASSEMBLER) &amp;&amp; !ENABLE_ASSEMBLER
 #error &quot;Cannot enable the JIT or RegExp JIT without enabling the Assembler&quot;
 #else</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950169</commentid>
    <comment_count>10</comment_count>
    <who name="Thomas De Schampheleire">patrickdepinguin</who>
    <bug_when>2013-11-13 08:16:46 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; (In reply to comment #0)
[..]
&gt; 
&gt; Fwiw, here&apos;s what i&apos;ve ended up to fix the build :
&gt; 
&gt;  /* Yet Another Regex Runtime - turned on by default for JIT enabled ports. */
&gt; -#if !defined(ENABLE_YARR_JIT) &amp;&amp; (ENABLE(JIT) || ENABLE(LLINT_C_LOOP)) &amp;&amp; !(OS(QNX) &amp;&amp; PLATFORM(QT))
&gt; +#if !defined(ENABLE_YARR_JIT) &amp;&amp; (ENABLE(JIT)) &amp;&amp; !(OS(QNX) &amp;&amp; PLATFORM(QT))
&gt;  #define ENABLE_YARR_JIT 1

For most cases this will still set YARR_JIT to 1, because the last clause is almost always true: not QNX and QT. Instead, I have been trying the following change (on a different version):

-#if !defined(ENABLE_YARR_JIT) &amp;&amp; (ENABLE(JIT) || ENABLE(LLINT_C_LOOP)) &amp;&amp; !(OS(QNX) &amp;&amp; PLATFORM(QT))
+#if !defined(ENABLE_YARR_JIT) &amp;&amp; (ENABLE(JIT) &amp;&amp; !(OS(QNX) &amp;&amp; PLATFORM(QT)))

(so moving the platform check together with JIT, meaning that if JIT is not enabled, YARR JIT won&apos;t be either).

I&apos;m not 100% sure if this is correct, as I&apos;m in no way a webkit expert.

&gt; 
&gt;  /* Setting this flag compares JIT results with interpreter results. */
&gt; @@ -863,7 +874,7 @@
&gt; 
&gt;  /* If either the JIT or the RegExp JIT is enabled, then the Assembler must be
&gt;     enabled as well: */
&gt; -#if ENABLE(JIT) || ENABLE(YARR_JIT)
&gt; +#if ENABLE(JIT)
&gt;  #if defined(ENABLE_ASSEMBLER) &amp;&amp; !ENABLE_ASSEMBLER
&gt;  #error &quot;Cannot enable the JIT or RegExp JIT without enabling the Assembler&quot;
&gt;  #else

This does not seem correct. It makes sense that you need the assembler for all types of JIT (both JIT as YARR_JIT).


With the mentioned change in Platform.h, and the Double2Ints fix from comment #1, I can compile much further (I&apos;m building webkit 1.11.5 for a 32-bit powerpc target).
However, eventually I get a link problem, but I don&apos;t know if it&apos;s related to the above problem:

./.libs/libjavascriptcoregtk-1.0.so: undefined reference to `JSC::JSValue::tag() const&apos;
./.libs/libjavascriptcoregtk-1.0.so: undefined reference to `JSC::JSValue::decode(long long)&apos;
./.libs/libjavascriptcoregtk-1.0.so: undefined reference to `JSC::JSValue::payload() const&apos;
./.libs/libjavascriptcoregtk-1.0.so: undefined reference to `JSC::JSValue::asCell() const&apos;
./.libs/libjavascriptcoregtk-1.0.so: undefined reference to `JSC::JSValue::JSValue(int, int)&apos;
./.libs/libjavascriptcoregtk-1.0.so: undefined reference to `JSC::JSValue::JSValue()&apos;
collect2: ld returned 1 exit status
./.libs/libjavascriptcoregtk-1.0.so: undefined reference to `JSC::JSValue::tag() const&apos;
./.libs/libjavascriptcoregtk-1.0.so: undefined reference to `JSC::JSValue::decode(long long)&apos;
./.libs/libjavascriptcoregtk-1.0.so: undefined reference to `JSC::JSValue::payload() const&apos;
./.libs/libjavascriptcoregtk-1.0.so: undefined reference to `JSC::JSValue::asCell() const&apos;
./.libs/libjavascriptcoregtk-1.0.so: undefined reference to `JSC::JSValue::JSValue(int, int)&apos;
./.libs/libjavascriptcoregtk-1.0.so: undefined reference to `JSC::JSValue::JSValue()&apos;
collect2: ld returned 1 exit status
make[2]: *** [Programs/jsc-1] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [Programs/minidom] Error 1
make[2]: Leaving directory `/home/tdescham/repo/contrib/buildroot-webkit/output/build/webkit-1.11.5&apos;
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/tdescham/repo/contrib/buildroot-webkit/output/build/webkit-1.11.5&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950612</commentid>
    <comment_count>11</comment_count>
      <attachid>216925</attachid>
    <who name="YunQiang Su">wzssyqa</who>
    <bug_when>2013-11-14 05:17:16 -0800</bug_when>
    <thetext>Created attachment 216925
patches for mips64el build, workable for Debian GNU/Linux

With this patch, I can build webkitgtk 2.2.0 on Debian for MIPS64EL/Linux</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950617</commentid>
    <comment_count>12</comment_count>
    <who name="Landry Breuil">landry</who>
    <bug_when>2013-11-14 05:33:26 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Created an attachment (id=216925) [details]
&gt; patches for mips64el build, workable for Debian GNU/Linux
&gt; 
&gt; With this patch, I can build webkitgtk 2.2.0 on Debian for MIPS64EL/Linux

But does it actually run ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950634</commentid>
    <comment_count>13</comment_count>
    <who name="Emilio Pozuelo Monfort">pochu27</who>
    <bug_when>2013-11-14 07:09:05 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Created an attachment (id=216925) [details]
&gt; patches for mips64el build, workable for Debian GNU/Linux
&gt; 
&gt; With this patch, I can build webkitgtk 2.2.0 on Debian for MIPS64EL/Linux

That&apos;s unrelated, please open a new bug to add MIPS64 support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952027</commentid>
    <comment_count>14</comment_count>
    <who name="Thomas De Schampheleire">patrickdepinguin</who>
    <bug_when>2013-11-19 04:26:49 -0800</bug_when>
    <thetext>(In reply to comment #10)

Any feedback on these findings?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119289</commentid>
    <comment_count>15</comment_count>
    <who name="Aaron Bamberger">aaron.bamberger</who>
    <bug_when>2015-08-20 10:41:58 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #10)
&gt; 
&gt; Any feedback on these findings?

I realize this is years later, but I&apos;ve run into the same problem and was able to get webkitgtk to build with the JIT disabled by using both the patch from comment #1, and by using the patch in comment #56 on this bug: https://bugs.webkit.org/show_bug.cgi?id=105696
Changeset: http://trac.webkit.org/changeset/142489

to fix the linker errors mentioned in comment #14</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216925</attachid>
            <date>2013-11-14 05:17:16 -0800</date>
            <delta_ts>2013-11-14 05:17:16 -0800</delta_ts>
            <desc>patches for mips64el build, workable for Debian GNU/Linux</desc>
            <filename>mips64-webkit.diff</filename>
            <type>text/plain</type>
            <size>2764</size>
            <attacher name="YunQiang Su">wzssyqa</attacher>
            
              <data encoding="base64">SW5kZXg6IHdlYmtpdGd0ay9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IHdlYmtpdGd0ay5vcmlnL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgJMjAxMy0xMC0yOSAxNzoz
MjozOC4zNDkxMTY4NTggKzA4MDAKKysrIHdlYmtpdGd0ay9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bS5oCTIwMTMtMTAtMjkgMTc6NDc6MTguNDU4NDgyMDQyICswODAwCkBAIC04OSwxMSArODksMTAg
QEAKICNlbmRpZgogI2VuZGlmCiAKLS8qIENQVShNSVBTKSAtIE1JUFMgMzItYml0ICovCi0vKiBO
b3RlOiBPbmx5IE8zMiBBQkkgaXMgdGVzdGVkLCBzbyB3ZSBlbmFibGUgaXQgZm9yIE8zMiBBQkkg
Zm9yIG5vdy4gICovCi0jaWYgKGRlZmluZWQobWlwcykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwg
ZGVmaW5lZChNSVBTKSB8fCBkZWZpbmVkKF9NSVBTXykpIFwKLSAgICAmJiBkZWZpbmVkKF9BQklP
MzIpCisvKiBDUFUoTUlQUykgLSBNSVBTIE8zMi9OMzIvTjY0ICovCisjaWYgKGRlZmluZWQobWlw
cykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChNSVBTKSB8fCBkZWZpbmVkKF9NSVBT
XykpCiAjZGVmaW5lIFdURl9DUFVfTUlQUyAxCisjaW5jbHVkZSA8c2dpZGVmcy5oPgogI2lmIGRl
ZmluZWQoX19NSVBTRUJfXykKICNkZWZpbmUgV1RGX0NQVV9CSUdfRU5ESUFOIDEKICNlbmRpZgpA
QCAtMTA3LDYgKzEwNiwyMyBAQAogI2RlZmluZSBXVEZfTUlQU19GUDY0IChkZWZpbmVkIF9fbWlw
c19mcHIgJiYgX19taXBzX2ZwciA9PSA2NCkKIC8qIE1JUFMgcmVxdWlyZXMgYWxsb2NhdG9ycyB0
byB1c2UgYWxpZ25lZCBtZW1vcnkgKi8KICNkZWZpbmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElH
Tk1FTlRfSU5URUdFUiAxCisKKy8qIENQVShNSVBTNjQpIC0gTUlQUyA2NC1iaXQgYm90aCBCSUcg
YW5kIExJVFRMRSBlbmRpYW4gKi8KKyNpZiBkZWZpbmVkKF9NSVBTX1NJTV9BQkk2NCkgJiYgKF9N
SVBTX1NJTSA9PSBfTUlQU19TSU1fQUJJNjQpCisgICAjZGVmaW5lIFdURl9DUFVfTUlQUzY0IDEK
KyAgICNkZWZpbmUgRU5BQkxFX0pJVCAwCisjZW5kaWYKKworLyogQ1BVKE1JUFNOMzIpIC0gTUlQ
UyBOMzIgQUJJIGJvdGggQklHIGFuZCBMSVRUTEUgZW5kaWFuICovCisjaWYgZGVmaW5lZChfTUlQ
U19TSU1fQUJJTjMyKSAmJiAoX01JUFNfU0lNID09IF9NSVBTX1NJTV9BQklOMzIpCisjZGVmaW5l
IFdURl9DUFVfTUlQU04zMiAxCisjZW5kaWYKKworLyogQ1BVKE1JUFMzMikgLSBNSVBTIE8zMiBB
QkkgYm90aCBCSUcgYW5kIExJVFRMRSBlbmRpYW4gKi8KKyNpZiBkZWZpbmVkKF9NSVBTX1NJTV9B
QkkzMikgJiYgKF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fQUJJMzIpCisjZGVmaW5lIFdURl9DUFVf
TUlQUzMyIDEKKyNlbmRpZgorCiAjZW5kaWYgLyogTUlQUyAqLwogCiAvKiBDUFUoUFBDKSAtIFBv
d2VyUEMgMzItYml0ICovCkBAIC02OTcsNyArNzEzLDggQEAKICAgICB8fCBDUFUoQUxQSEEpIFwK
ICAgICB8fCBDUFUoU1BBUkM2NCkgXAogICAgIHx8IENQVShTMzkwWCkgXAotICAgIHx8IENQVShQ
UEM2NCkKKyAgICB8fCBDUFUoUFBDNjQpIFwKKyAgICB8fCBDUFUoTUlQUzY0KQogI2RlZmluZSBX
VEZfVVNFX0pTVkFMVUU2NCAxCiAjZWxzZQogI2RlZmluZSBXVEZfVVNFX0pTVkFMVUUzMl82NCAx
CkBAIC03MjIsNyArNzM5LDcgQEAKIAogLyogVGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQg
b24gYWxsIHg4NiwgeDg2LTY0LCBBUk0gJiBNSVBTIHBsYXRmb3Jtcy4gKi8KICNpZiAhZGVmaW5l
ZChFTkFCTEVfSklUKSBcCi0gICAgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShB
Uk0pIHx8IENQVShNSVBTKSkgXAorICAgICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBD
UFUoQVJNKSB8fCBDUFUoTUlQUzMyKSkgXAogICAgICYmIChPUyhEQVJXSU4pIHx8ICFDT01QSUxF
UihHQ0MpIHx8IEdDQ19WRVJTSU9OX0FUX0xFQVNUKDQsIDEsIDApKSBcCiAgICAgJiYgIU9TKFdJ
TkNFKSBcCiAgICAgJiYgIShPUyhRTlgpICYmICFQTEFURk9STShRVCkpIC8qIFdlIHVzZSBKSVQg
aW4gUU5YIFF0ICovCkBAIC03NjIsNyArNzc5LDcgQEAKICAgICAmJiBFTkFCTEUoSklUKSBcCiAg
ICAgJiYgKE9TKERBUldJTikgfHwgT1MoTElOVVgpKSBcCiAgICAgJiYgKFBMQVRGT1JNKE1BQykg
fHwgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSkgXAotICAg
ICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFS
TV9UUkFESVRJT05BTCkgfHwgQ1BVKE1JUFMpIHx8IENQVShTSDQpKQorICAgICYmIChDUFUoWDg2
KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNX1RIVU1CMikgfHwgQ1BVKEFSTV9UUkFESVRJT05B
TCkgfHwgQ1BVKE1JUFMzMikgfHwgQ1BVKFNINCkpCiAjZGVmaW5lIEVOQUJMRV9MTElOVCAxCiAj
ZW5kaWYKIApAQCAtNzc2LDcgKzc5Myw3IEBACiAjZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKICNl
bmRpZgogLyogRW5hYmxlIHRoZSBERkcgSklUIG9uIEFSTSwgTUlQUyBhbmQgU0g0LiAqLwotI2lm
IENQVShBUk1fVFJBRElUSU9OQUwpIHx8IENQVShNSVBTKSB8fCBDUFUoU0g0KQorI2lmIENQVShB
Uk1fVFJBRElUSU9OQUwpIHx8IENQVShNSVBTMzIpIHx8IENQVShTSDQpCiAjZGVmaW5lIEVOQUJM
RV9ERkdfSklUIDEKICNlbmRpZgogI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>