WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
REOPENED
241002
[CMake][WPE] WebKitTestRunner shouldn't link object files of JavaScriptCore and WebCore
https://bugs.webkit.org/show_bug.cgi?id=241002
Summary
[CMake][WPE] WebKitTestRunner shouldn't link object files of JavaScriptCore a...
Fujii Hironori
Reported
2022-05-26 22:20:13 PDT
[CMake][WPE] WebKitTestRunner shouldn't link object files of JavaScriptCore and WebCore
Attachments
WIP patch
(1.36 KB, patch)
2022-05-26 23:14 PDT
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Patch
(4.70 KB, patch)
2022-05-29 22:37 PDT
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Patch
(3.84 KB, patch)
2022-05-29 22:39 PDT
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Patch
(4.68 KB, patch)
2022-05-30 01:06 PDT
,
Fujii Hironori
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Fujii Hironori
Comment 1
2022-05-26 22:26:30 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
Fujii Hironori
Comment 2
2022-05-26 23:14:15 PDT
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)
Fujii Hironori
Comment 3
2022-05-29 22:37:43 PDT
Created
attachment 459849
[details]
Patch
Fujii Hironori
Comment 4
2022-05-29 22:39:41 PDT
Created
attachment 459850
[details]
Patch
Fujii Hironori
Comment 5
2022-05-30 01:06:54 PDT
Created
attachment 459852
[details]
Patch
EWS
Comment 6
2022-05-30 06:32:44 PDT
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
EWS
Comment 7
2022-05-30 15:03:42 PDT
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]
.
Michael Catanzaro
Comment 8
2022-07-05 06:50:32 PDT
This broke builds with LTO enabled. I will try to get the linker error message to paste here.
Michael Catanzaro
Comment 9
2022-07-05 09:17:53 PDT
/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.
Fujii Hironori
Comment 10
2022-07-06 00:23:11 PDT
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"?
Adrian Perez
Comment 11
2022-07-06 00:54:17 PDT
(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]
Fujii Hironori
Comment 12
2022-07-06 10:54:40 PDT
Thank you. Unfortunately, My PC doesn't have enough RAM to finish the LTO linking. 😥
Michael Catanzaro
Comment 13
2022-07-06 12:48:15 PDT
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?
Fujii Hironori
Comment 14
2022-07-06 14:16:25 PDT
This issue isn't urgent. I'll revisit it after buying a new machine.
Fujii Hironori
Comment 15
2022-12-15 17:21:26 PST
See
bug#249368
for another LTO problem.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug