Closed
Bug 1652413
Opened 5 years ago
Closed 5 years ago
Can't build with --enable-lto
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(Not tracked)
RESOLVED
DUPLICATE
of bug 1480005
People
(Reporter: sg, Unassigned)
Details
When I try to build with --enable-lto, I get undefined hidden symbol errors when linking libxul.so:
10:06.69 ld.lld: error: undefined hidden symbol: JS::SetHostCleanupFinalizationRegistryCallback(JSContext*, void (*)(JSObject*, void*), void*)
10:06.69 >>> referenced by CycleCollectedJSContext.cpp:77 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:77)
10:06.69 >>> lto.tmp:(mozilla::CycleCollectedJSContext::~CycleCollectedJSContext())
10:06.69 >>> referenced by CycleCollectedJSContext.cpp:148 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:148)
10:06.69 >>> lto.tmp:(mozilla::CycleCollectedJSContext::Initialize(JSRuntime*, unsigned int))
10:06.69 ld.lld: error: undefined hidden symbol: JS_SetContextPrivate(JSContext*, void*)
10:06.69 >>> referenced by CycleCollectedJSContext.cpp:80 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:80)
10:06.69 >>> lto.tmp:(mozilla::CycleCollectedJSContext::~CycleCollectedJSContext())
10:06.69 >>> referenced by CycleCollectedJSContext.cpp:152 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:152)
10:06.69 >>> lto.tmp:(mozilla::CycleCollectedJSContext::Initialize(JSRuntime*, unsigned int))
10:06.69 ld.lld: error: undefined hidden symbol: JS_DestroyContext(JSContext*)
10:06.69 >>> referenced by CycleCollectedJSContext.cpp:104 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:104)
10:06.69 >>> lto.tmp:(mozilla::CycleCollectedJSContext::~CycleCollectedJSContext())
10:06.69 >>> referenced by ProxyAutoConfig.cpp:608 (/home/simon/work/refactor/netwerk/base/ProxyAutoConfig.cpp:608)
10:06.69 >>> lto.tmp:(mozilla::net::ProxyAutoConfig::SetupJS())
10:06.70 >>> referenced by ProxyAutoConfig.cpp:608 (/home/simon/work/refactor/netwerk/base/ProxyAutoConfig.cpp:608)
10:06.70 >>> lto.tmp:(mozilla::net::ProxyAutoConfig::SetupJS())
10:06.70 >>> referenced by ProxyAutoConfig.cpp:608 (/home/simon/work/refactor/netwerk/base/ProxyAutoConfig.cpp:608)
10:06.70 >>> lto.tmp:(mozilla::net::ProxyAutoConfig::Shutdown())
10:06.70 ld.lld: error: undefined hidden symbol: JS_NewContext(unsigned int, JSRuntime*)
10:06.70 >>> referenced by CycleCollectedJSContext.cpp:123 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:123)
10:06.70 >>> lto.tmp:(mozilla::CycleCollectedJSContext::Initialize(JSRuntime*, unsigned int))
10:06.70 >>> referenced by ProxyAutoConfig.cpp:584 (/home/simon/work/refactor/netwerk/base/ProxyAutoConfig.cpp:584)
10:06.70 >>> lto.tmp:(mozilla::net::ProxyAutoConfig::SetupJS())
10:06.70 ld.lld: error: undefined hidden symbol: JS::SetJobQueue(JSContext*, JS::JobQueue*)
10:06.70 >>> referenced by CycleCollectedJSContext.cpp:137 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:137)
10:06.70 >>> lto.tmp:(mozilla::CycleCollectedJSContext::Initialize(JSRuntime*, unsigned int))
10:06.70 ld.lld: error: undefined hidden symbol: JS::SetPromiseRejectionTrackerCallback(JSContext*, void (*)(JSContext*, bool, JS::Handle<JSObject*>, JS::PromiseRejectionHandlingState, void*), void*)
10:06.70 >>> referenced by CycleCollectedJSContext.cpp:138 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:138)
10:06.70 >>> lto.tmp:(mozilla::CycleCollectedJSContext::Initialize(JSRuntime*, unsigned int))
10:06.70 ld.lld: error: undefined hidden symbol: JS::AddPersistentRoot(JS::RootingContext*, JS::RootKind, JS::PersistentRooted<void*>*)
10:06.70 >>> referenced by RootingAPI.h:1345 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:1345)
10:06.70 >>> lto.tmp:(mozilla::CycleCollectedJSContext::Initialize(JSRuntime*, unsigned int))
10:06.70 >>> referenced by RootingAPI.h:1345 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:1345)
10:06.70 >>> lto.tmp:(mozilla::CycleCollectedJSContext::Initialize(JSRuntime*, unsigned int))
10:06.70 >>> referenced by RootingAPI.h:1345 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:1345)
10:06.70 >>> lto.tmp:(mozilla::CycleCollectedJSContext::Initialize(JSRuntime*, unsigned int))
10:06.70 >>> referenced by RootingAPI.h:1345 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:1345)
10:06.70 >>> lto.tmp:(mozilla::net::ProxyAutoConfig::SetupJS())
10:06.70 >>> referenced by RootingAPI.h:1345 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:1345)
10:06.71 >>> lto.tmp:(mozilla::ipc::TestShellCommandParent::SetCallback(JSContext*, JS::Value const&))
10:06.71 >>> referenced by RootingAPI.h:1345 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:1345)
10:06.71 >>> lto.tmp:(mozilla::ipc::XPCShellEnvironment::CreateEnvironment())
10:06.71 >>> referenced by RootingAPI.h:1345 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:1345)
10:06.71 >>> lto.tmp:(mozJSComponentLoader::LoadModule(mozilla::FileLocation&))
10:06.71 >>> referenced by RootingAPI.h:1345 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:1345)
10:06.71 >>> lto.tmp:(mozJSComponentLoader::LoadModule(mozilla::FileLocation&))
10:06.71 >>> referenced by RootingAPI.h:1345 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:1345)
10:06.71 >>> lto.tmp:(mozJSComponentLoader::LoadModule(mozilla::FileLocation&))
10:06.71 >>> referenced by RootingAPI.h:1345 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:1345)
10:06.71 >>> lto.tmp:(mozJSComponentLoader::InitStatics())
10:06.71 >>> referenced 28 more times
10:06.71 ld.lld: error: undefined hidden symbol: JS::GetPromiseID(JS::Handle<JSObject*>)
10:06.71 >>> referenced by CycleCollectedJSContext.cpp:321 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:321)
10:06.71 >>> lto.tmp:(mozilla::CycleCollectedJSContext::PromiseRejectionTrackerCallback(JSContext*, bool, JS::Handle<JSObject*>, JS::PromiseRejectionHandlingState, void*))
10:06.71 >>> referenced by CycleCollectedJSContext.cpp:705 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:705)
10:06.71 >>> lto.tmp:(mozilla::CycleCollectedJSContext::NotifyUnhandledRejections::Run())
10:06.71 >>> referenced by CycleCollectedJSContext.cpp:745 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:745)
10:06.71 >>> lto.tmp:(mozilla::CycleCollectedJSContext::NotifyUnhandledRejections::Cancel())
10:06.71 >>> referenced by PromiseDebugging.cpp:112 (/home/simon/work/refactor/dom/promise/PromiseDebugging.cpp:112)
10:06.71 >>> lto.tmp:(mozilla::dom::PromiseDebugging::GetPromiseID(mozilla::dom::GlobalObject&, JS::Handle<JSObject*>, nsTString<char16_t>&, mozilla::ErrorResult&))
10:06.71 ld.lld: error: undefined hidden symbol: JS::GetPromiseResult(JS::Handle<JSObject*>)
10:06.71 >>> referenced by CycleCollectedJSContext.cpp:352 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:352)
10:06.71 >>> lto.tmp:(mozilla::CycleCollectedJSContext::PromiseRejectionTrackerCallback(JSContext*, bool, JS::Handle<JSObject*>, JS::PromiseRejectionHandlingState, void*))
10:06.71 >>> referenced by CycleCollectedJSContext.cpp:711 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:711)
10:06.71 >>> lto.tmp:(mozilla::CycleCollectedJSContext::NotifyUnhandledRejections::Run())
10:06.71 >>> referenced by PromiseDebugging.cpp:96 (/home/simon/work/refactor/dom/promise/PromiseDebugging.cpp:96)
10:06.71 >>> lto.tmp:(mozilla::dom::PromiseDebugging::GetState(mozilla::dom::GlobalObject&, JS::Handle<JSObject*>, mozilla::dom::PromiseDebuggingStateHolder&, mozilla::ErrorResult&))
10:06.71 >>> referenced by PromiseDebugging.cpp:92 (/home/simon/work/refactor/dom/promise/PromiseDebugging.cpp:92)
10:06.71 >>> lto.tmp:(mozilla::dom::PromiseDebugging::GetState(mozilla::dom::GlobalObject&, JS::Handle<JSObject*>, mozilla::dom::PromiseDebuggingStateHolder&, mozilla::ErrorResult&))
10:06.71 >>> referenced by Promise.cpp:531 (/home/simon/work/refactor/dom/promise/Promise.cpp:531)
10:06.71 >>> lto.tmp:(mozilla::dom::PromiseDebugging::FlushUncaughtRejectionsInternal())
10:06.71 ld.lld: error: undefined hidden symbol: JS_GetContextPrivate(JSContext*)
10:06.71 >>> referenced by CycleCollectedJSContext.cpp:162 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:162)
10:06.71 >>> lto.tmp:(mozilla::CycleCollectedJSContext::GetFor(JSContext*))
10:06.71 >>> referenced by AtomList.h:18 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/dom/AtomList.h:18)
10:06.71 >>> lto.tmp:(mozilla::dom::FrameUniformityResults::ToObjectInternal(JSContext*, JS::MutableHandle<JS::Value>) const)
10:06.71 >>> referenced by AtomList.h:18 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/dom/AtomList.h:18)
10:06.71 >>> lto.tmp:(mozilla::dom::FrameUniformityResults::ToObjectInternal(JSContext*, JS::MutableHandle<JS::Value>) const)
10:06.72 >>> referenced by AtomList.h:18 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/dom/AtomList.h:18)
10:06.72 >>> lto.tmp:(mozilla::dom::APZBucket::ToObjectInternal(JSContext*, JS::MutableHandle<JS::Value>) const)
10:06.72 >>> referenced by AtomList.h:18 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/dom/AtomList.h:18)
10:06.72 >>> lto.tmp:(mozilla::dom::APZBucket::ToObjectInternal(JSContext*, JS::MutableHandle<JS::Value>) const)
10:06.72 >>> referenced by AtomList.h:18 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/dom/AtomList.h:18)
10:06.72 >>> lto.tmp:(mozilla::dom::APZBucket::ToObjectInternal(JSContext*, JS::MutableHandle<JS::Value>) const)
10:06.72 >>> referenced by AtomList.h:18 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/dom/AtomList.h:18)
10:06.72 >>> lto.tmp:(mozilla::dom::APZTestData::ToObjectInternal(JSContext*, JS::MutableHandle<JS::Value>) const)
10:06.72 >>> referenced by AtomList.h:18 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/dom/AtomList.h:18)
10:06.72 >>> lto.tmp:(mozilla::dom::APZTestData::ToObjectInternal(JSContext*, JS::MutableHandle<JS::Value>) const)
10:06.72 >>> referenced by AtomList.h:18 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/dom/AtomList.h:18)
10:06.72 >>> lto.tmp:(mozilla::dom::APZTestData::ToObjectInternal(JSContext*, JS::MutableHandle<JS::Value>) const)
10:06.72 >>> referenced by AtomList.h:18 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/dom/AtomList.h:18)
10:06.72 >>> lto.tmp:(mozilla::dom::AddonManager::EventListenerAdded(nsAtom*))
10:06.72 >>> referenced 760 more times
10:06.72 ld.lld: error: undefined hidden symbol: JS::CurrentGlobalOrNull(JSContext*)
10:06.72 >>> referenced by CycleCollectedJSContext.cpp:249 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:249)
10:06.72 >>> lto.tmp:(mozilla::CycleCollectedJSContext::enqueuePromiseJob(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>))
10:06.72 >>> referenced by WrapperFactory.cpp:859 (/home/simon/work/refactor/js/xpconnect/wrappers/WrapperFactory.cpp:859)
10:06.72 >>> lto.tmp:(nsSystemInfo::GetProcessInfo(JSContext*, mozilla::dom::Promise**))
10:06.72 >>> referenced by ToJSValue.h:295 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/dom/ToJSValue.h:295)
10:06.72 >>> lto.tmp:(mozilla::intl::Localization::FormatValues(JSContext*, mozilla::dom::Sequence<mozilla::dom::OwningUTF8StringOrL10nIdArgs> const&, mozilla::ErrorResult&))
10:06.72 >>> referenced by ToJSValue.h:295 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/dom/ToJSValue.h:295)
10:06.72 >>> lto.tmp:(mozilla::intl::Localization::FormatMessages(JSContext*, mozilla::dom::Sequence<mozilla::dom::OwningUTF8StringOrL10nIdArgs> const&, mozilla::ErrorResult&))
10:06.72 >>> referenced by ToJSValue.h:295 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/dom/ToJSValue.h:295)
10:06.72 >>> lto.tmp:(mozilla::intl::Localization::FormatValuesSync(JSContext*, mozilla::dom::Sequence<mozilla::dom::OwningUTF8StringOrL10nIdArgs> const&, nsTArray<nsTString<char> >&, mozilla::ErrorResult&))
10:06.72 >>> referenced by ToJSValue.h:295 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/dom/ToJSValue.h:295)
10:06.72 >>> lto.tmp:(mozilla::intl::Localization::FormatMessagesSync(JSContext*, mozilla::dom::Sequence<mozilla::dom::OwningUTF8StringOrL10nIdArgs> const&, nsTArray<mozilla::dom::Nullable<mozilla::dom::L10nMessage> >&, mozilla::ErrorResult&))
10:06.72 >>> referenced by LoadInfo.cpp:1573 (/home/simon/work/refactor/netwerk/base/LoadInfo.cpp:1573)
10:06.72 >>> lto.tmp:(mozilla::net::LoadInfo::GetRedirects(JSContext*, JS::MutableHandle<JS::Value>, nsTArray<nsCOMPtr<nsIRedirectHistoryEntry> > const&))
10:06.72 >>> referenced by WrapperFactory.cpp:859 (/home/simon/work/refactor/js/xpconnect/wrappers/WrapperFactory.cpp:859)
10:06.72 >>> lto.tmp:(mozilla::net::CookieService::RemoveAllSince(long, JSContext*, mozilla::dom::Promise**))
10:06.72 >>> referenced by WrapperFactory.cpp:859 (/home/simon/work/refactor/js/xpconnect/wrappers/WrapperFactory.cpp:859)
10:06.72 >>> lto.tmp:(mozilla::net::nsHttpHandler::EnsureHSTSDataReady(JSContext*, mozilla::dom::Promise**))
10:06.72 >>> referenced by TestShellParent.cpp:65 (/home/simon/work/refactor/ipc/testshell/TestShellParent.cpp:65)
10:06.73 >>> lto.tmp:(mozilla::ipc::TestShellCommandParent::RunCallback(nsTString<char16_t> const&))
10:06.73 >>> referenced 2833 more times
10:06.73 ld.lld: error: undefined hidden symbol: JS::HeapObjectPostWriteBarrier(JSObject**, JSObject*, JSObject*)
10:06.73 >>> referenced by RootingAPI.h:772 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:772)
10:06.73 >>> lto.tmp:(mozilla::CycleCollectedJSContext::enqueuePromiseJob(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>))
10:06.73 >>> referenced by RootingAPI.h:772 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:772)
10:06.73 >>> lto.tmp:(mozilla::CycleCollectedJSContext::enqueuePromiseJob(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>))
10:06.73 >>> referenced by RootingAPI.h:772 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:772)
10:06.73 >>> lto.tmp:(mozilla::CycleCollectedJSContext::enqueuePromiseJob(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>))
10:06.73 >>> referenced by RootingAPI.h:772 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:772)
10:06.73 >>> lto.tmp:(mozilla::PromiseJobRunnable::Run(mozilla::AutoSlowOperation&))
10:06.73 >>> referenced by RootingAPI.h:772 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:772)
10:06.73 >>> lto.tmp:(mozilla::PromiseJobRunnable::Run(mozilla::AutoSlowOperation&))
10:06.73 >>> referenced by RootingAPI.h:772 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:772)
10:06.73 >>> lto.tmp:(mozilla::PromiseJobRunnable::Run(mozilla::AutoSlowOperation&))
10:06.73 >>> referenced by RootingAPI.h:772 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:772)
10:06.73 >>> lto.tmp:(mozilla::dom::CallbackObject::~CallbackObject())
10:06.73 >>> referenced by RootingAPI.h:772 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:772)
10:06.73 >>> lto.tmp:(mozilla::dom::CallbackObject::~CallbackObject())
10:06.73 >>> referenced by RootingAPI.h:772 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:772)
10:06.73 >>> lto.tmp:(mozilla::dom::CallbackObject::~CallbackObject())
10:06.73 >>> referenced by RootingAPI.h:772 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/RootingAPI.h:772)
10:06.73 >>> lto.tmp:(ClearJSHolder::Trace(JS::Heap<JSObject*>*, char const*, void*) const)
10:06.73 >>> referenced 4132 more times
10:06.73 ld.lld: error: undefined hidden symbol: JS::GetPromiseUserInputEventHandlingState(JS::Handle<JSObject*>)
10:06.73 >>> referenced by CycleCollectedJSContext.cpp:185 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:185)
10:06.73 >>> lto.tmp:(mozilla::CycleCollectedJSContext::enqueuePromiseJob(JSContext*, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>, JS::Handle<JSObject*>))
10:06.73 ld.lld: error: undefined hidden symbol: JS::JobQueueMayNotBeEmpty(JSContext*)
10:06.73 >>> referenced by CycleCollectedJSContext.cpp:634 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:634)
10:06.73 >>> lto.tmp:(mozilla::CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool))
10:06.73 >>> referenced by CycleCollectedJSContext.cpp:561 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:561)
10:06.73 >>> lto.tmp:(mozilla::CycleCollectedJSContext::DispatchToMicroTask(already_AddRefed<mozilla::MicroTaskRunnable>))
10:06.73 >>> referenced by RuntimeService.cpp:925 (/home/simon/work/refactor/dom/workers/RuntimeService.cpp:925)
10:06.73 >>> lto.tmp:(mozilla::dom::WorkerJSContext::DispatchToMicroTask(already_AddRefed<mozilla::MicroTaskRunnable>))
10:06.73 >>> referenced by WorkletThread.cpp:155 (/home/simon/work/refactor/dom/worklet/WorkletThread.cpp:155)
10:06.73 >>> lto.tmp:(mozilla::dom::WorkletJSContext::DispatchToMicroTask(already_AddRefed<mozilla::MicroTaskRunnable>))
10:06.73 ld.lld: error: undefined hidden symbol: JS::JobQueueIsEmpty(JSContext*)
10:06.73 >>> referenced by CycleCollectedJSContext.cpp:639 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:639)
10:06.73 >>> lto.tmp:(mozilla::CycleCollectedJSContext::PerformMicroTaskCheckPoint(bool))
10:06.73 >>> referenced by CycleCollectedJSContext.cpp:684 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:684)
10:06.73 >>> lto.tmp:(mozilla::CycleCollectedJSContext::PerformDebuggerMicroTaskCheckpoint())
10:06.73 ld.lld: error: undefined hidden symbol: js::MallocArena
10:06.73 >>> referenced by Utility.h:389 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/Utility.h:389)
10:06.74 >>> lto.tmp:(mozilla::CycleCollectedJSContext::saveJobQueue(JSContext*))
10:06.74 >>> referenced by Vector.h:0 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/Vector.h:0)
10:06.74 >>> lto.tmp:(mozilla::Vector<JS::Value, 8ul, js::TempAllocPolicy>::growStorageBy(unsigned long))
10:06.74 >>> referenced by AllocPolicy.h:160 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/AllocPolicy.h:160)
10:06.74 >>> lto.tmp:(mozilla::Vector<JS::Value, 8ul, js::TempAllocPolicy>::growStorageBy(unsigned long))
10:06.74 >>> referenced by AllocPolicy.h:160 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/AllocPolicy.h:160)
10:06.74 >>> lto.tmp:(mozilla::Vector<JS::Value, 8ul, js::TempAllocPolicy>::growStorageBy(unsigned long))
10:06.74 >>> referenced by AllocPolicy.h:70 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/AllocPolicy.h:70)
10:06.74 >>> lto.tmp:(mozilla::Vector<mozilla::BufferList<js::SystemAllocPolicy>::Segment, 1ul, js::SystemAllocPolicy>::growStorageBy(unsigned long))
10:06.74 >>> referenced by AllocPolicy.h:70 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/AllocPolicy.h:70)
10:06.74 >>> lto.tmp:(mozilla::Vector<mozilla::BufferList<js::SystemAllocPolicy>::Segment, 1ul, js::SystemAllocPolicy>::growStorageBy(unsigned long))
10:06.74 >>> referenced by Vector.h:0 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/Vector.h:0)
10:06.74 >>> lto.tmp:(mozilla::Vector<JS::PropertyKey, 8ul, js::TempAllocPolicy>::growStorageBy(unsigned long))
10:06.74 >>> referenced by AllocPolicy.h:160 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/AllocPolicy.h:160)
10:06.74 >>> lto.tmp:(mozilla::Vector<JS::PropertyKey, 8ul, js::TempAllocPolicy>::growStorageBy(unsigned long))
10:06.74 >>> referenced by AllocPolicy.h:160 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/js/AllocPolicy.h:160)
10:06.74 >>> lto.tmp:(mozilla::Vector<JS::PropertyKey, 8ul, js::TempAllocPolicy>::growStorageBy(unsigned long))
10:06.74 >>> referenced by HashTable.h:0 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/HashTable.h:0)
10:06.74 >>> lto.tmp:(mozilla::detail::HashTable<mozilla::HashMapEntry<JS::Heap<JSObject*>, JS::Heap<JSObject*> >, mozilla::HashMap<JS::Heap<JSObject*>, JS::Heap<JSObject*>, js::MovableCellHasher<JS::Heap<JSObject*> >, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::changeTableSize(unsigned int, mozilla::detail::HashTable<mozilla::HashMapEntry<JS::Heap<JSObject*>, JS::Heap<JSObject*> >, mozilla::HashMap<JS::Heap<JSObject*>, JS::Heap<JSObject*>, js::MovableCellHasher<JS::Heap<JSObject*> >, js::SystemAllocPolicy>::MapHashPolicy, js::SystemAllocPolicy>::FailureBehavior))
10:06.74 >>> referenced 70 more times
10:06.74 ld.lld: error: undefined hidden symbol: JS_ReportOutOfMemory(JSContext*)
10:06.74 >>> referenced by CycleCollectedJSContext.cpp:300 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:300)
10:06.74 >>> lto.tmp:(mozilla::CycleCollectedJSContext::saveJobQueue(JSContext*))
10:06.74 >>> referenced by Dashboard.cpp:379 (/home/simon/work/refactor/netwerk/base/Dashboard.cpp:379)
10:06.74 >>> lto.tmp:(mozilla::net::Dashboard::GetSockets(mozilla::net::SocketData*))
10:06.74 >>> referenced by Dashboard.cpp:0 (/home/simon/work/refactor/netwerk/base/Dashboard.cpp:0)
10:06.74 >>> lto.tmp:(mozilla::net::Dashboard::GetHttpConnections(mozilla::net::HttpData*))
10:06.74 >>> referenced by Dashboard.cpp:617 (/home/simon/work/refactor/netwerk/base/Dashboard.cpp:617)
10:06.75 >>> lto.tmp:(mozilla::net::Dashboard::GetWebSocketConnections(mozilla::net::WebSocketRequest*))
10:06.75 >>> referenced by Dashboard.cpp:0 (/home/simon/work/refactor/netwerk/base/Dashboard.cpp:0)
10:06.75 >>> lto.tmp:(mozilla::net::Dashboard::GetDNSCacheEntries(mozilla::net::DnsData*))
10:06.75 >>> referenced by Dashboard.cpp:807 (/home/simon/work/refactor/netwerk/base/Dashboard.cpp:807)
10:06.75 >>> lto.tmp:(mozilla::net::Dashboard::GetRcwnData(mozilla::net::RcwnData*))
10:06.75 >>> referenced by nsJSUtils.h:272 (/home/simon/work/refactor/dom/base/nsJSUtils.h:272)
10:06.75 >>> lto.tmp:(bool AssignJSString<nsTAutoJSString<char16_t>, (void*)0>(JSContext*, nsTAutoJSString<char16_t>&, JSString*))
10:06.75 >>> referenced by nsJSUtils.h:272 (/home/simon/work/refactor/dom/base/nsJSUtils.h:272)
10:06.75 >>> lto.tmp:(bool AssignJSString<nsTSubstring<char16_t>, (void*)0>(JSContext*, nsTSubstring<char16_t>&, JSString*))
10:06.75 >>> referenced by JSServices.cpp:51 (/home/simon/work/refactor/js/xpconnect/src/JSServices.cpp:51)
10:06.75 >>> lto.tmp:(xpc::Services_NewEnumerate(JSContext*, JS::Handle<JSObject*>, JS::MutableHandle<JS::StackGCVector<JS::PropertyKey, js::TempAllocPolicy> >, bool))
10:06.75 >>> referenced by UnionConversions.h:6494 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/dom/UnionConversions.h:6494)
10:06.75 >>> lto.tmp:(SandboxFetchPromise(JSContext*, unsigned int, JS::Value*))
10:06.75 >>> referenced 581 more times
10:06.75 ld.lld: error: undefined hidden symbol: JS::IsIdleGCTaskNeeded(JSRuntime*)
10:06.75 >>> referenced by CycleCollectedJSRuntime.h:300 (/home/simon/work/refactor/obj-x86_64-pc-linux-gnu-release/dist/include/mozilla/CycleCollectedJSRuntime.h:300)
10:06.75 >>> lto.tmp:(mozilla::CycleCollectedJSContext::AfterProcessTask(unsigned int))
10:06.75 ld.lld: error: undefined hidden symbol: JS::ClearKeptObjects(JSContext*)
10:06.75 >>> referenced by CycleCollectedJSContext.cpp:489 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:489)
10:06.75 >>> lto.tmp:(mozilla::CycleCollectedJSContext::AfterProcessMicrotasks())
10:06.75 ld.lld: error: undefined hidden symbol: JS::GetPromiseIsHandled(JS::Handle<JSObject*>)
10:06.75 >>> referenced by CycleCollectedJSContext.cpp:706 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:706)
10:06.75 >>> lto.tmp:(mozilla::CycleCollectedJSContext::NotifyUnhandledRejections::Run())
10:06.75 >>> referenced by CycleCollectedJSContext.cpp:723 (/home/simon/work/refactor/xpcom/base/CycleCollectedJSContext.cpp:723)
10:06.75 >>> lto.tmp:(mozilla::CycleCollectedJSContext::NotifyUnhandledRejections::Run())
10:06.75 ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
| Reporter | ||
Comment 1•5 years ago
|
||
Same result with --enable-lto=thin
Comment 3•5 years ago
|
||
Going to guess this is the same root cause as bug 1539280, which means it's a dup of bug 1480005.
Status: NEW → RESOLVED
Closed: 5 years ago
Flags: needinfo?(nfroyd)
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•