Bug 149919

Summary: Fix the WASM build on Linux
Product: WebKit Reporter: Csaba Osztrogonác <ossy>
Component: JavaScriptCoreAssignee: Csaba Osztrogonác <ossy>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, ggaren, mark.lam, msaboff, ossy, saam, sukolsak
Priority: P2    
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 146064    
Attachments:
Description Flags
Patch none

Description Csaba Osztrogonác 2015-10-08 02:37:24 PDT
build error #1
---------------
../../Source/JavaScriptCore/inspector/ScriptCallStackFactory.cpp: In member function 'JSC::StackVisitor::Status Inspector::CreateScriptCallStackFunctor::operator()(JSC::StackVisitor&)':
../../Source/JavaScriptCore/inspector/ScriptCallStackFactory.cpp:70:37: error: invalid use of incomplete type 'class JSC::CodeBlock'
In file included from ../../Source/JavaScriptCore/interpreter/JSStack.h:33:0,
                 from ../../Source/JavaScriptCore/interpreter/CallFrame.h:27,
                 from ../../Source/JavaScriptCore/inspector/ScriptCallStackFactory.cpp:36:
../../Source/JavaScriptCore/interpreter/Register.h:38:11: error: forward declaration of 'class JSC::CodeBlock'

-----> fix: CodeBlock.h should be included


build error #2
---------------
In file included from ../../Source/JavaScriptCore/wasm/WASMFunctionParser.cpp:34:0:
../../Source/JavaScriptCore/wasm/WASMFunctionLLVMIRGenerator.h:37:12: error: 'JSC::FTL::LBasicBlock' has not been declared
../../Source/JavaScriptCore/wasm/WASMFunctionLLVMIRGenerator.h:38:12: error: 'JSC::FTL::LValue' has not been declared
../../Source/JavaScriptCore/wasm/WASMFunctionLLVMIRGenerator.h:42:13: error: 'LValue' does not name a type

... [SNIP] ...

-----> fix: These symbols are FTL specific, we should add an ENABLE(FTL_JIT) guard for the whole file.


build error #3
---------------
In file included from ../../Source/JavaScriptCore/wasm/WASMFunctionParser.cpp:33:0:
../../Source/JavaScriptCore/wasm/WASMFunctionCompiler.h: In function 'size_t JSC::sizeOfMemoryType(JSC::WASMMemoryType)':
../../Source/JavaScriptCore/wasm/WASMFunctionCompiler.h:97:1: error: control reaches end of non-void function [-Werror=return-type]

-----> fix: We need an unreachable return to make GCC happy.


build error #4
---------------
Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/wasm/JSWASMModule.cpp.o:JSWASMModule.cpp:function JSC::JSWASMModule::visitChildren(JSC::JSCell*, JSC::SlotVisitor&): error: undefined reference to 'JSC::JSValue::JSValue(JSC::JSCell*)'
Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/wasm/JSWASMModule.cpp.o:JSWASMModule.cpp:function JSC::JSWASMModule::visitChildren(JSC::JSCell*, JSC::SlotVisitor&): error: undefined reference to 'JSC::JSValue::JSValue(JSC::JSCell*)'
Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/wasm/JSWASMModule.cpp.o:JSWASMModule.cpp:function JSC::JSWASMModule::visitChildren(JSC::JSCell*, JSC::SlotVisitor&): error: undefined reference to 'JSC::JSValue::JSValue(JSC::JSCell*)'
collect2: error: ld returned 1 exit status

-----> fix: We should include JSCJSValueInlines.h too.
Comment 1 Csaba Osztrogonác 2015-10-08 02:39:02 PDT
Created attachment 262682 [details]
Patch
Comment 2 Sukolsak Sakshuwong 2015-10-08 02:44:14 PDT
It looks good to me.
Comment 3 Mark Lam 2015-10-08 07:36:36 PDT
Comment on attachment 262682 [details]
Patch

r=me
Comment 4 WebKit Commit Bot 2015-10-08 08:21:24 PDT
Comment on attachment 262682 [details]
Patch

Clearing flags on attachment: 262682

Committed r190722: <http://trac.webkit.org/changeset/190722>
Comment 5 WebKit Commit Bot 2015-10-08 08:21:29 PDT
All reviewed patches have been landed.  Closing bug.