Sometimes when changing build targets or updating source repository with changes to JavaScriptCore/llint/LowLevelInterpreter{32_64,64}.asm, building with Xcode will fail. The failure manifests in two different ways: A ruby exception from the Offline Assembler build phase offsets.rb:183:in `buildOffsetsMap': unhandled exception or a linker error when linking JavaScriptCore: Undefined symbols for architecture x86_64: "_llint_entry", referenced from: __ZN3JSC5LLInt10initializeEv in LLIntData.o (maybe you meant: _llint_entry_osr_function_for_construct_arityCheck, _llint_entry_osr_function_for_construct , _llint_entry_osr , _llint_entry_osr_function_for_call , _llint_entry_osr_function_for_call_arityCheck ) "_sanitizeStackForVMImpl", referenced from: __ZN3JSC18sanitizeStackForVMEPNS_2VME in VM.o "_vmEntryRecord", referenced from: __ZN3JSC9ExecState11callerFrameERPv in CallFrame.o "_vmEntryToJavaScript", referenced from: __ZN3JSC7JITCode7executeEPNS_2VMEPNS_14ProtoCallFrameE in JITCode.o "_vmEntryToNative", referenced from: __ZN3JSC11Interpreter11executeCallEPNS_9ExecStateEPNS_8JSObjectENS_8CallTypeERKNS_8CallDataENS_7JSValueERKNS_7ArgListE in Interpreter.o __ZN3JSC11Interpreter16executeConstructEPNS_9ExecStateEPNS_8JSObjectENS_13ConstructTypeERKNS_13ConstructDataERKNS_7ArgListE in Interpreter.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) This is due to the LLInt Offset build phase Generate Derived Sources has $(SRCROOT)/llint/LowLevelAssembler.asm declared as an input and $(BUILT_PRODUCTS_DIR)/LLIntOffsets/LLIntDesiredOffsets.h. When Xcode builds it does dependency analysis on those two files. These two file declarations can be eliminated as the ruby script itself does dependency analysis. rdar://problem/16974705
Created attachment 240364 [details] Patch
Comment on attachment 240364 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=240364&action=review r=me with typo fix. > Source/JavaScriptCore/ChangeLog:8 > + Removed from the nput file $(SRCROOT)/llint/LowLevelAssembler.asm and output file typo: nput ==> input
Committed r175141: <http://trac.webkit.org/changeset/175141>