Bug 117800 - FTL: arm build is broken in ToT
Summary: FTL: arm build is broken in ToT
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other All
: P2 Normal
Assignee: Michael Saboff
Depends on:
Reported: 2013-06-19 10:15 PDT by Michael Saboff
Modified: 2013-06-19 10:43 PDT (History)
0 users

See Also:

Patch that will land. (2.01 KB, patch)
2013-06-19 10:40 PDT, Michael Saboff
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Saboff 2013-06-19 10:15:19 PDT
There are three errors I find building JSC for arm in the FTL branch:

compiling Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:
In file included from /Volumes/Data/src/webkit.ftl/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:29:
In file included from /Volumes/Data/src/webkit.ftl/Source/JavaScriptCore/bytecode/CodeBlock.h:36:
In file included from /Volumes/Data/src/webkit.ftl/Source/JavaScriptCore/bytecode/CallLinkInfo.h:29:
In file included from /Volumes/Data/src/webkit.ftl/Source/JavaScriptCore/jit/ClosureCallStubRoutine.h:33:
In file included from /Volumes/Data/src/webkit.ftl/Source/JavaScriptCore/bytecode/CodeOrigin.h:31:
In file included from /Volumes/Data/src/webkit.ftl/Source/JavaScriptCore/bytecode/ValueRecovery.h:31:
In file included from /Volumes/Data/src/webkit.ftl/Source/JavaScriptCore/assembler/MacroAssembler.h:34:
In file included from /Volumes/Data/src/webkit.ftl/Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:32:
/Volumes/Data/src/webkit.ftl/Source/JavaScriptCore/assembler/ARMv7Assembler.h:2089:16: error: non-const lvalue reference to type 'Vector<[2 * ...], struct WTF::UnsafeVectorOverflow>' cannot bind to a value of unrelated type 'Vector<[2 * ...], (default) class WTF::CrashOnOverflow>'
        return m_jumpsToLink;
1 error generated.

compiling Source/JavaScriptCore/ftl/WebKitLLVMLibraryAnchor.cpp:30:10: fatal error: 'WebKitLLVMLibraryToken.h' file not found
#include "WebKitLLVMLibraryToken.h"
1 error generated.

compiling Source/JavaScriptCore/jit/JITArithmetic32_64.cpp:1116:14: error: unused variable 'op1' [-Werror,-Wunused-variable]
    unsigned op1 = currentInstruction[2].u.operand;
1 error generated.
Comment 1 Michael Saboff 2013-06-19 10:40:37 PDT
Created attachment 205014 [details]
Patch that will land.

This addresses the errors compiling Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp and Source/JavaScriptCore/jit/JITArithmetic32_64.cpp.

The error compiling Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp is addressed if we could run build-webkit for arm.  The missing header file is created via the build script Tools/Scripts/copy-webkitlibraries-to-product-directory.  A workaround is to create the file manually:
   echo "/* This file fools WebKit's build system into relinking JavaScriptCore if the LLVM libraries changed. */" > WebKitBuild/{Debug,Release}-iphoneos/usr/local/include/WebKitLLVMLibraryToken.h
Comment 2 Michael Saboff 2013-06-19 10:43:56 PDT
Fixed landed in in change set <http://trac.webkit.org/changeset/151741>.