| Summary: | [CMake][WPE] WebKitTestRunner shouldn't link object files of JavaScriptCore and WebCore | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Fujii Hironori <Hironori.Fujii> | ||||||||||
| Component: | CMake | Assignee: | Fujii Hironori <Hironori.Fujii> | ||||||||||
| Status: | REOPENED --- | ||||||||||||
| Severity: | Normal | CC: | annulen, aperez, cgarcia, don.olmstead, ews-watchlist, gyuyoung.kim, keith_miller, mark.lam, mcatanzaro, msaboff, ryuan.choi, saam, sergio, tzagallo | ||||||||||
| Priority: | P2 | ||||||||||||
| Version: | WebKit Nightly Build | ||||||||||||
| Hardware: | Unspecified | ||||||||||||
| OS: | Unspecified | ||||||||||||
| See Also: |
https://bugs.webkit.org/show_bug.cgi?id=240755 https://bugs.webkit.org/show_bug.cgi?id=249368 |
||||||||||||
| Bug Depends on: | 242340 | ||||||||||||
| Bug Blocks: | |||||||||||||
| Attachments: |
|
||||||||||||
|
Description
Fujii Hironori
2022-05-26 22:20:13 PDT
In WPE builds, bin/WebKitTestRunner depends on a lot of object files of JSC and WebCore. ./Tools/Scripts/build-webkit --wpe --release |& tee build.log ninja -C WebKitBuild/WPE/Release -t query bin/WebKitTestRunner On the other hand, GTK doesn't. ./Tools/Scripts/build-webkit --gtk --release --generate-project-only ninja -C WebKitBuild/GTK/Release -t query bin/WebKitTestRunner Created attachment 459802 [details] WIP patch This WIP patch fixes the dependency by reverting the part of Bug 222860. But it can't compile. FAILED: bin/WebKitTestRunner : && /usr/bin/c++ -fdiagnostics-color=always -Wextra -Wall -pipe -Wno-odr -Wno-stringop-overread -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wcast-align -Wno-tautological-compare -fno-strict-aliasing -fno-exceptions -fno-rtti -O3 -DNDEBUG -fuse-ld=lld -Wl,--disable-new-dtags Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/CyclicRedundancyCheck.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/GeolocationProviderMock.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/Options.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/PixelDumpSupport.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/TestController.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/TestInvocation.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/TestOptions.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/UIScriptControllerCommon.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/WebNotificationProvider.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/WorkQueueManager.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/cairo/TestInvocationCairo.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/libwpe/EventSenderProxyLibWPE.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/libwpe/PlatformWebViewLibWPE.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/wpe/TestControllerWPE.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/wpe/UIScriptControllerWPE.cpp.o Tools/WebKitTestRunner/CMakeFiles/WebKitTestRunner.dir/wpe/main.cpp.o -o bin/WebKitTestRunner -Wl,-rpath,/app/webkit/WebKitBuild/Release/lib Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/./llint/LowLevelInterpreter.cpp.o lib/libTestRunnerShared.a /usr/lib/x86_64-linux-gnu/libglib-2.0.so -lxkbcommon /usr/lib/x86_64-linux-gnu/libWPEBackend-fdo-1.0.so /usr/lib/x86_64-linux-gnu/libcairo.so lib/libWebCoreTestSupport.a lib/libPAL.a lib/libWPEWebKit-1.1.so.0.2.0 /usr/lib/x86_64-linux-gnu/libseccomp.so -latomic /usr/lib/x86_64-linux-gnu/libicudata.so /usr/lib/x86_64-linux-gnu/libicui18n.so /usr/lib/x86_64-linux-gnu/libicuuc.so -lpthread /usr/lib/x86_64-linux-gnu/libsystemd.so /usr/lib/x86_64-linux-gnu/libxml2.so /usr/lib/x86_64-linux-gnu/libsqlite3.so /usr/lib/x86_64-linux-gnu/libxslt.so lib/libANGLE.a -ldl /usr/lib/x86_64-linux-gnu/liblcms2.so /usr/lib/x86_64-linux-gnu/libwoff2dec.so lib/libxdgmime.a /usr/lib/x86_64-linux-gnu/libfontconfig.so /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/x86_64-linux-gnu/libharfbuzz.so /usr/lib/x86_64-linux-gnu/libharfbuzz-icu.so /usr/lib/x86_64-linux-gnu/libgcrypt.so /usr/lib/x86_64-linux-gnu/libgpg-error.so /usr/lib/x86_64-linux-gnu/libgstallocators-1.0.so /usr/lib/x86_64-linux-gnu/libgstapp-1.0.so /usr/lib/x86_64-linux-gnu/libgstbase-1.0.so /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so /usr/lib/x86_64-linux-gnu/libgstpbutils-1.0.so /usr/lib/x86_64-linux-gnu/libgstaudio-1.0.so /usr/lib/x86_64-linux-gnu/libgsttranscoder-1.0.so /usr/lib/x86_64-linux-gnu/libgsttag-1.0.so /usr/lib/x86_64-linux-gnu/libgstvideo-1.0.so /usr/lib/x86_64-linux-gnu/libgstgl-1.0.so /usr/lib/x86_64-linux-gnu/libgstrtp-1.0.so /usr/lib/x86_64-linux-gnu/libgstsdp-1.0.so /usr/lib/x86_64-linux-gnu/libgstwebrtc-1.0.so /usr/lib/x86_64-linux-gnu/libcrypto.so /usr/lib/x86_64-linux-gnu/libgstfft-1.0.so /usr/lib/x86_64-linux-gnu/libocdm.so /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so /usr/lib/x86_64-linux-gnu/libgio-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/x86_64-linux-gnu/libopenjp2.so /usr/lib/x86_64-linux-gnu/libwebpdemux.so /usr/lib/x86_64-linux-gnu/libwebp.so /usr/lib/x86_64-linux-gnu/libjxl.so /usr/lib/x86_64-linux-gnu/libavif.so /usr/lib/x86_64-linux-gnu/libsoup-3.0.so /usr/lib/x86_64-linux-gnu/libtasn1.so /usr/lib/x86_64-linux-gnu/libopenxr_loader.so /usr/lib/x86_64-linux-gnu/libgbm.so /usr/lib/x86_64-linux-gnu/libdrm.so lib/libWPEToolingBackends.a -lxkbcommon /usr/lib/x86_64-linux-gnu/libcairo.so /usr/lib/x86_64-linux-gnu/libepoxy.so /usr/lib/x86_64-linux-gnu/libwpe-1.0.so /usr/lib/x86_64-linux-gnu/libatk-1.0.so /usr/lib/x86_64-linux-gnu/libglib-2.0.so -lwayland-server -lwayland-egl -lwayland-client /usr/lib/x86_64-linux-gnu/libWPEBackend-fdo-1.0.so /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so && : ld.lld: error: undefined symbol: llint_throw_stack_overflow_error >>> referenced by LowLevelInterpreter.cpp >>> Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/./llint/LowLevelInterpreter.cpp.o:(vmEntryToJavaScript) >>> referenced by LowLevelInterpreter.cpp >>> Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/./llint/LowLevelInterpreter.cpp.o:(vmEntryToNative) Created attachment 459849 [details]
Patch
Created attachment 459850 [details]
Patch
Created attachment 459852 [details]
Patch
Found 3 new test failures: webgl/2.0.0/conformance/textures/image_bitmap_from_image_bitmap/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html, webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rg16f-rg-half_float.html, webgl/2.0.0/conformance2/textures/image_bitmap_from_image_bitmap/tex-2d-rgb32f-rgb-float.html Committed r295034 (251129@main): <https://commits.webkit.org/251129@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 459852 [details]. This broke builds with LTO enabled. I will try to get the linker error message to paste here. /usr/bin/ld: /tmp/cc7qCcvm.ltrans29.ltrans.o: in function `WTF::SharedTaskFunctor<void (JSC::LinkBuffer&), JSC::AccessCase::generateImpl(JSC::AccessGenerationState&)::{lambda(JSC::LinkBuffer&)#3}>::run(JSC::LinkBuffer&)':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/assembler/X86Assembler.h:4055: undefined reference to `vmEntryCustomSetter'
/usr/bin/ld: /builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/assembler/X86Assembler.h:4055: undefined reference to `vmEntryCustomGetter'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans29.ltrans.o: in function `WTF::SharedTaskFunctor<void (JSC::LinkBuffer&), JSC::AccessCase::generateImpl(JSC::AccessGenerationState&)::{lambda(JSC::LinkBuffer&)#3}>::run(JSC::LinkBuffer&)':
/usr/include/bits/string_fortified.h:29: undefined reference to `vmEntryCustomGetter'
/usr/bin/ld: /usr/include/bits/string_fortified.h:29: undefined reference to `vmEntryCustomSetter'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans50.ltrans.o: in function `JSC::DFG::SpeculativeJIT::compileCallDOMGetter(JSC::DFG::Node*)':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/dfg/DFGJITCompiler.h:71: undefined reference to `vmEntryCustomGetter'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans61.ltrans.o: in function `JSC::FTL::(anonymous namespace)::LowerDFGToB3::compileCallDOMGetter() [clone .lto_priv.0]':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:15719: undefined reference to `vmEntryCustomGetter'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans71.ltrans.o: in function `JSC::CallFrame::callerFrame(JSC::EntryFrame*&) const':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/interpreter/CallFrame.cpp:189: undefined reference to `vmEntryRecord'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans71.ltrans.o: in function `JSC::CallFrame::convertToStackOverflowFrame(JSC::VM&, JSC::CodeBlock*)':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/interpreter/CallFrame.cpp:350: undefined reference to `vmEntryRecord'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans71.ltrans.o: in function `JSC::isFromJSCode(void*)':
/usr/include/bits/string_fortified.h:29: undefined reference to `llintPCRangeStart'
/usr/bin/ld: /usr/include/bits/string_fortified.h:29: undefined reference to `llintPCRangeEnd'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans71.ltrans.o: in function `JSC::AssemblyHelpers::restoreCalleeSavesFromVMEntryFrameCalleeSavesBufferImpl(JSC::X86Registers::RegisterID, JSC::RegisterSet const&)':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/interpreter/EntryFrame.h:38: undefined reference to `vmEntryRecord'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans71.ltrans.o: in function `JSC::AssemblyHelpers::copyCalleeSavesToEntryFrameCalleeSavesBufferImpl(JSC::X86Registers::RegisterID)':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/interpreter/EntryFrame.h:38: undefined reference to `vmEntryRecord'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans71.ltrans.o: in function `JSC::AssemblyHelpers::copyLLIntBaselineCalleeSavesFromFrameOrRegisterToEntryFrameCalleeSavesBuffer(JSC::EntryFrame*&, JSC::TempRegisterSet const&)':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/interpreter/EntryFrame.h:38: undefined reference to `vmEntryRecord'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans74.ltrans.o: in function `operationOptimize':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/dfg/DFGOSREntry.cpp:302: undefined reference to `vmEntryRecord'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans74.ltrans.o:/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/dfg/DFGOSREntry.cpp:302: undefined reference to `vmEntryRecord'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans80.ltrans.o: in function `WTF::SharedTaskFunctor<void (JSC::LinkBuffer&), JSC::nativeForGenerator(JSC::VM&, JSC::ThunkFunctionType, JSC::CodeSpecializationKind, JSC::ThunkEntryType)::{lambda(JSC::LinkBuffer&)#2}>::run(JSC::LinkBuffer&) [clone .lto_priv.0]':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/assembler/X86Assembler.h:4055: undefined reference to `vmEntryHostFunction'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans80.ltrans.o: in function `WTF::SharedTaskFunctor<void (JSC::LinkBuffer&), JSC::nativeForGenerator(JSC::VM&, JSC::ThunkFunctionType, JSC::CodeSpecializationKind, JSC::ThunkEntryType)::{lambda(JSC::LinkBuffer&)#2}>::run(JSC::LinkBuffer&) [clone .lto_priv.0]':
/usr/include/bits/string_fortified.h:29: undefined reference to `vmEntryHostFunction'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans80.ltrans.o: in function `WTF::SharedTaskFunctor<void (JSC::LinkBuffer&), JSC::nativeForGenerator(JSC::VM&, JSC::ThunkFunctionType, JSC::CodeSpecializationKind, JSC::ThunkEntryType)::{lambda(JSC::LinkBuffer&)#1}>::run(JSC::LinkBuffer&) [clone .lto_priv.0]':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/assembler/X86Assembler.h:4055: undefined reference to `vmEntryHostFunction'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans80.ltrans.o: in function `WTF::SharedTaskFunctor<void (JSC::LinkBuffer&), JSC::nativeForGenerator(JSC::VM&, JSC::ThunkFunctionType, JSC::CodeSpecializationKind, JSC::ThunkEntryType)::{lambda(JSC::LinkBuffer&)#1}>::run(JSC::LinkBuffer&) [clone .lto_priv.0]':
/usr/include/bits/string_fortified.h:29: undefined reference to `vmEntryHostFunction'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans85.ltrans.o: in function `JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/interpreter/Interpreter.cpp:1022: undefined reference to `vmEntryToNative'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans85.ltrans.o: in function `JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&)':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/jit/JITCodeInlines.h:42: undefined reference to `vmEntryToJavaScript'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans86.ltrans.o: in function `JSC::construct(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&, JSC::ArgList const&, JSC::JSValue)':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/interpreter/Interpreter.cpp:1101: undefined reference to `vmEntryToNative'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans86.ltrans.o: in function `JSC::construct(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&, JSC::ArgList const&, JSC::JSValue)':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/jit/JITCodeInlines.h:42: undefined reference to `vmEntryToJavaScript'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans87.ltrans.o: in function `std::once_flag::_Prepare_execution::_Prepare_execution<std::call_once<JSC::initialize()::{lambda()#1}>(std::once_flag&, JSC::initialize()::{lambda()#1}&&)::{lambda()#1}>(JSC::initialize()::{lambda()#1}&)::{lambda()#1}::_FUN()':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/llint/LLIntData.cpp:78: undefined reference to `llint_entry'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans87.ltrans.o:/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/llint/LLIntData.cpp:81: undefined reference to `wasm_entry'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans92.ltrans.o: in function `JSC::JSModuleRecord::evaluate(JSC::JSGlobalObject*, JSC::JSValue, JSC::JSValue)':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/jit/JITCodeInlines.h:42: undefined reference to `vmEntryToJavaScript'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans97.ltrans.o: in function `operationStringProtoFuncReplaceRegExpEmptyStr':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/jit/JITCodeInlines.h:42: undefined reference to `vmEntryToJavaScript'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans98.ltrans.o: in function `operationStringProtoFuncReplaceRegExpString':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/jit/JITCodeInlines.h:42: undefined reference to `vmEntryToJavaScript'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans98.ltrans.o: in function `JSC::stringProtoFuncReplaceUsingRegExp(JSC::JSGlobalObject*, JSC::CallFrame*) [clone .lto_priv.0]':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/jit/JITCodeInlines.h:42: undefined reference to `vmEntryToJavaScript'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans98.ltrans.o: in function `JSC::stringProtoFuncReplaceUsingStringSearch(JSC::JSGlobalObject*, JSC::CallFrame*) [clone .lto_priv.0]':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/jit/JITCodeInlines.h:42: undefined reference to `vmEntryToJavaScript'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans98.ltrans.o:/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/jit/JITCodeInlines.h:42: more undefined references to `vmEntryToJavaScript' follow
/usr/bin/ld: /tmp/cc7qCcvm.ltrans99.ltrans.o: in function `JSC::sanitizeStackForVM(JSC::VM&)':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/runtime/VM.cpp:1302: undefined reference to `sanitizeStackForVMImpl'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans100.ltrans.o: in function `WTF::ScopedLambdaRefFunctor<void (WTF::PlatformRegisters&), JSC::VMTraps::SignalSender::work()::{lambda(WTF::PlatformRegisters&)#1}>::implFunction(void*, WTF::PlatformRegisters&)':
/usr/include/bits/string_fortified.h:29: undefined reference to `llintPCRangeStart'
/usr/bin/ld: /usr/include/bits/string_fortified.h:29: undefined reference to `llintPCRangeEnd'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans104.ltrans.o: in function `WTF::Detail::CallableWrapper<JSC::Wasm::prepareFastMemory()::{lambda()#1}::operator()() const::{lambda(WTF::Signal, WTF::SigInfo&, WTF::PlatformRegisters&)#1}, WTF::SignalAction, WTF::Signal, WTF::SigInfo&, WTF::PlatformRegisters&>::call(WTF::Signal, WTF::SigInfo&, WTF::PlatformRegisters&)':
/usr/include/bits/string_fortified.h:29: undefined reference to `wasmLLIntPCRangeStart'
/usr/bin/ld: /usr/include/bits/string_fortified.h:29: undefined reference to `wasmLLIntPCRangeEnd'
/usr/bin/ld: /usr/include/bits/string_fortified.h:29: undefined reference to `wasmLLIntPCRangeStart'
/usr/bin/ld: /usr/include/bits/string_fortified.h:29: undefined reference to `wasmLLIntPCRangeEnd'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans107.ltrans.o: in function `JSC::callWebAssemblyFunction(JSC::JSGlobalObject*, JSC::CallFrame*)':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/llint/LLIntThunks.h:64: undefined reference to `vmEntryToJavaScript'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans115.ltrans.o: in function `JSC::SamplingProfiler::takeSample(WTF::Seconds&) [clone .part.0] [clone .constprop.0]':
/usr/include/bits/string_fortified.h:29: undefined reference to `llintPCRangeStart'
/usr/bin/ld: /usr/include/bits/string_fortified.h:29: undefined reference to `llintPCRangeEnd'
/usr/bin/ld: /usr/include/bits/string_fortified.h:29: undefined reference to `llintPCRangeStart'
/usr/bin/ld: /usr/include/bits/string_fortified.h:29: undefined reference to `llintPCRangeEnd'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans115.ltrans.o: in function `JSC::SamplingProfiler::takeSample(WTF::Seconds&) [clone .part.0] [clone .constprop.0]':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/interpreter/CallFrame.cpp:199: undefined reference to `vmEntryRecord'
/usr/bin/ld: /builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/interpreter/CallFrame.cpp:199: undefined reference to `vmEntryRecord'
/usr/bin/ld: /builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/interpreter/CallFrame.cpp:199: undefined reference to `vmEntryRecord'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans115.ltrans.o: in function `JSC::Interpreter::executeProgram(JSC::SourceCode const&, JSC::JSGlobalObject*, JSC::JSObject*) [clone .constprop.0]':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/jit/JITCodeInlines.h:42: undefined reference to `vmEntryToJavaScript'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans115.ltrans.o: in function `JSC::Interpreter::unwind(JSC::VM&, JSC::CallFrame*&, JSC::Exception*) [clone .constprop.0]':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/interpreter/Interpreter.cpp:645: undefined reference to `vmEntryRecord'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans115.ltrans.o:/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/interpreter/Interpreter.cpp:645: undefined reference to `vmEntryRecord'
/usr/bin/ld: /tmp/cc7qCcvm.ltrans121.ltrans.o: in function `JSC::Interpreter::execute(JSC::EvalExecutable*, JSC::JSGlobalObject*, JSC::JSValue, JSC::JSScope*) [clone .constprop.0]':
/builddir/build/BUILD/webkitgtk-2.36.4/Source/JavaScriptCore/jit/JITCodeInlines.h:42: undefined reference to `vmEntryToJavaScript'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
I haven't tried LTO build. How did you build? Which port? Can I use build-webkit for LTO build, like "build-webkit --gtk --release --lto-mode=full"? (In reply to Fujii Hironori from comment #10) > I haven't tried LTO build. How did you build? Which port? > Can I use build-webkit for LTO build, like "build-webkit --gtk --release > --lto-mode=full"? AFAIR the “--lto-mode=” flag does not work well with the CMake ports. This is the easiest way to reproduce: CFLAGS=-flto CXXFLAGS=-flto LDFLAGS=-flto \ build-webkit --gtk [--release | --debug] Thank you. Unfortunately, My PC doesn't have enough RAM to finish the LTO linking. 😥 It looks like something is wrong specifically with inline assembler after this change? The functions generated from inline assembler are missing at link time? (In reply to Fujii Hironori from comment #12) > Thank you. Unfortunately, My PC doesn't have enough RAM to finish the LTO > linking. 😥 Would you be interested in investigating further if we find a way to get you remote access to beefier hardware? This issue isn't urgent. I'll revisit it after buying a new machine. See bug#249368 for another LTO problem. |