[clang] [llvm] [ORC] Move DebugObjectManagerPlugin into Debugging/ELFDebugObjectPlugin (NFC) (PR #168343)

Cullen Rhodes via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 18 04:53:03 PST 2025


Stefan =?utf-8?q?Gränitz?= <stefan.graenitz at gmail.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/168343 at github.com>


c-rhodes wrote:

this has broken shared libs (`-DBUILD_SHARED_LIBS=ON)` builds:
```FAILED: lib/libLLVMOrcDebugging.so.22.0git
: && /usr/bin/clang++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virt
ual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=lld -Wl,--color-diagnostics   -Wl,--gc-sections -shared -Wl,-soname,libLLVMOrcDebugging.so.22.0git -o lib/libLLVMOrc
Debugging.so.22.0git lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/DebugInfoSupport.cpp.o lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/DebuggerSupport.cpp.o lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/DebuggerSupportPlugin.cpp.o lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/ELFDeb
ugObjectPlugin.cpp.o lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/LLJITUtilsCBindings.cpp.o lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/PerfSupportPlugin.cpp.o lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/VTuneSupportPlugin.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/culrho01/llvm-project/build-all-tar
gets/lib:"  -lrt  lib/libLLVMOrcJIT.so.22.0git  lib/libLLVMJITLink.so.22.0git  lib/libLLVMOrcShared.so.22.0git  lib/libLLVMDebugInfoDWARF.so.22.0git  lib/libLLVMBinaryFormat.so.22.0git  lib/libLLVMTargetParser.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/culrho01/llvm-project/build-all-targets/lib && :
ld.lld: error: undefined symbol: llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, false>>::create(llvm::StringRef)
>>> referenced by ELFDebugObjectPlugin.cpp
>>>               lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/ELFDebugObjectPlugin.cpp.o:(llvm::Expected<std::unique_ptr<llvm::orc::ELFDebugObject, std::default_delete<llvm::orc::ELFDebugObject>>> llvm::orc::ELFDebugObject::CreateArchType<llvm::object::ELFType<(llvm::endianness)1, false>>(llvm::MemoryBufferRef, llvm::jitlink::JITLinkMemoryM
anager&, llvm::jitlink::JITLinkDylib const*, llvm::orc::ExecutionSession&))

ld.lld: error: undefined symbol: llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, false>>::sections() const
>>> referenced by ELFDebugObjectPlugin.cpp
>>>               lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/ELFDebugObjectPlugin.cpp.o:(llvm::Expected<std::unique_ptr<llvm::orc::ELFDebugObject, std::default_delete<llvm::orc::ELFDebugObject>>> llvm::orc::ELFDebugObject::CreateArchType<llvm::object::ELFType<(llvm::endianness)1, false>>(llvm::MemoryBufferRef, llvm::jitlink::JITLinkMemoryM
anager&, llvm::jitlink::JITLinkDylib const*, llvm::orc::ExecutionSession&))

ld.lld: error: undefined symbol: llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, false>>::getSectionName(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::endianness)1, false>> const&, llvm::function_ref<llvm::Error (llvm::Twine const&)>) const
>>> referenced by ELFDebugObjectPlugin.cpp
>>>               lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/ELFDebugObjectPlugin.cpp.o:(llvm::Expected<std::unique_ptr<llvm::orc::ELFDebugObject, std::default_delete<llvm::orc::ELFDebugObject>>> llvm::orc::ELFDebugObject::CreateArchType<llvm::object::ELFType<(llvm::endianness)1, false>>(llvm::MemoryBufferRef, llvm::jitlink::JITLinkMemoryM
anager&, llvm::jitlink::JITLinkDylib const*, llvm::orc::ExecutionSession&))

ld.lld: error: undefined symbol: llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)0, false>>::create(llvm::StringRef)
>>> referenced by ELFDebugObjectPlugin.cpp
>>>               lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/ELFDebugObjectPlugin.cpp.o:(llvm::Expected<std::unique_ptr<llvm::orc::ELFDebugObject, std::default_delete<llvm::orc::ELFDebugObject>>> llvm::orc::ELFDebugObject::CreateArchType<llvm::object::ELFType<(llvm::endianness)0, false>>(llvm::MemoryBufferRef, llvm::jitlink::JITLinkMemoryM
anager&, llvm::jitlink::JITLinkDylib const*, llvm::orc::ExecutionSession&))

ld.lld: error: undefined symbol: llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)0, false>>::sections() const
>>> referenced by ELFDebugObjectPlugin.cpp
>>>               lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/ELFDebugObjectPlugin.cpp.o:(llvm::Expected<std::unique_ptr<llvm::orc::ELFDebugObject, std::default_delete<llvm::orc::ELFDebugObject>>> llvm::orc::ELFDebugObject::CreateArchType<llvm::object::ELFType<(llvm::endianness)0, false>>(llvm::MemoryBufferRef, llvm::jitlink::JITLinkMemoryM
anager&, llvm::jitlink::JITLinkDylib const*, llvm::orc::ExecutionSession&))

ld.lld: error: undefined symbol: llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)0, false>>::getSectionName(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::endianness)0, false>> const&, llvm::function_ref<llvm::Error (llvm::Twine const&)>) const
>>> referenced by ELFDebugObjectPlugin.cpp
>>>               lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/ELFDebugObjectPlugin.cpp.o:(llvm::Expected<std::unique_ptr<llvm::orc::ELFDebugObject, std::default_delete<llvm::orc::ELFDebugObject>>> llvm::orc::ELFDebugObject::CreateArchType<llvm::object::ELFType<(llvm::endianness)0, false>>(llvm::MemoryBufferRef, llvm::jitlink::JITLinkMemoryM
anager&, llvm::jitlink::JITLinkDylib const*, llvm::orc::ExecutionSession&))

ld.lld: error: undefined symbol: llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, true>>::create(llvm::StringRef)
>>> referenced by ELFDebugObjectPlugin.cpp
>>>               lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/ELFDebugObjectPlugin.cpp.o:(llvm::Expected<std::unique_ptr<llvm::orc::ELFDebugObject, std::default_delete<llvm::orc::ELFDebugObject>>> llvm::orc::ELFDebugObject::CreateArchType<llvm::object::ELFType<(llvm::endianness)1, true>>(llvm::MemoryBufferRef, llvm::jitlink::JITLinkMemoryMa
nager&, llvm::jitlink::JITLinkDylib const*, llvm::orc::ExecutionSession&))

ld.lld: error: undefined symbol: llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, true>>::sections() const
>>> referenced by ELFDebugObjectPlugin.cpp
>>>               lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/ELFDebugObjectPlugin.cpp.o:(llvm::Expected<std::unique_ptr<llvm::orc::ELFDebugObject, std::default_delete<llvm::orc::ELFDebugObject>>> llvm::orc::ELFDebugObject::CreateArchType<llvm::object::ELFType<(llvm::endianness)1, true>>(llvm::MemoryBufferRef, llvm::jitlink::JITLinkMemoryMa
nager&, llvm::jitlink::JITLinkDylib const*, llvm::orc::ExecutionSession&))

ld.lld: error: undefined symbol: llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, true>>::getSectionName(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::endianness)1, true>> const&, llvm::function_ref<llvm::Error (llvm::Twine const&)>) const
>>> referenced by ELFDebugObjectPlugin.cpp
>>>               lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/ELFDebugObjectPlugin.cpp.o:(llvm::Expected<std::unique_ptr<llvm::orc::ELFDebugObject, std::default_delete<llvm::orc::ELFDebugObject>>> llvm::orc::ELFDebugObject::CreateArchType<llvm::object::ELFType<(llvm::endianness)1, true>>(llvm::MemoryBufferRef, llvm::jitlink::JITLinkMemoryMa
nager&, llvm::jitlink::JITLinkDylib const*, llvm::orc::ExecutionSession&))

ld.lld: error: undefined symbol: llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)0, true>>::create(llvm::StringRef)
>>> referenced by ELFDebugObjectPlugin.cpp
>>>               lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/ELFDebugObjectPlugin.cpp.o:(llvm::Expected<std::unique_ptr<llvm::orc::ELFDebugObject, std::default_delete<llvm::orc::ELFDebugObject>>> llvm::orc::ELFDebugObject::CreateArchType<llvm::object::ELFType<(llvm::endianness)0, true>>(llvm::MemoryBufferRef, llvm::jitlink::JITLinkMemoryMa
nager&, llvm::jitlink::JITLinkDylib const*, llvm::orc::ExecutionSession&))

ld.lld: error: undefined symbol: llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)0, true>>::sections() const
>>> referenced by ELFDebugObjectPlugin.cpp
>>>               lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/ELFDebugObjectPlugin.cpp.o:(llvm::Expected<std::unique_ptr<llvm::orc::ELFDebugObject, std::default_delete<llvm::orc::ELFDebugObject>>> llvm::orc::ELFDebugObject::CreateArchType<llvm::object::ELFType<(llvm::endianness)0, true>>(llvm::MemoryBufferRef, llvm::jitlink::JITLinkMemoryMa
nager&, llvm::jitlink::JITLinkDylib const*, llvm::orc::ExecutionSession&))

ld.lld: error: undefined symbol: llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)0, true>>::getSectionName(llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<(llvm::endianness)0, true>> const&, llvm::function_ref<llvm::Error (llvm::Twine const&)>) const
>>> referenced by ELFDebugObjectPlugin.cpp
>>>               lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/ELFDebugObjectPlugin.cpp.o:(llvm::Expected<std::unique_ptr<llvm::orc::ELFDebugObject, std::default_delete<llvm::orc::ELFDebugObject>>> llvm::orc::ELFDebugObject::CreateArchType<llvm::object::ELFType<(llvm::endianness)0, true>>(llvm::MemoryBufferRef, llvm::jitlink::JITLinkMemoryMa
nager&, llvm::jitlink::JITLinkDylib const*, llvm::orc::ExecutionSession&))

ld.lld: error: undefined symbol: llvm::object::object_category()
>>> referenced by ELFDebugObjectPlugin.cpp
>>>               lib/ExecutionEngine/Orc/Debugging/CMakeFiles/LLVMOrcDebugging.dir/ELFDebugObjectPlugin.cpp.o:(llvm::object::defaultWarningHandler(llvm::Twine const&))
clang++: error: linker command failed with exit code 1 (use -v to see invocation)```

https://github.com/llvm/llvm-project/pull/168343


More information about the llvm-commits mailing list