[llvm] [ORC] Add automatic shared library resolver for unresolved symbols. (PR #148410)
LLVM Continuous Integration via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 17 08:06:20 PDT 2025
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `clang-ppc64le-linux-multistage` running on `ppc64le-clang-multistage-test` while building `llvm` at step 4 "build stage 1".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/76/builds/13215
<details>
<summary>Here is the relevant piece of the build log for the reference</summary>
```
Step 4 (build stage 1) failure: 'ninja' (failure)
...
[5268/6557] Building CXX object tools/clang/tools/extra/clang-doc/CMakeFiles/obj.clangDoc.dir/ClangDoc.cpp.o
[5269/6557] Building CXX object tools/clang/tools/extra/clangd/tool/CMakeFiles/obj.clangdMain.dir/Check.cpp.o
[5270/6557] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/Modularize.cpp.o
[5271/6557] Building CXX object tools/clang/tools/extra/modularize/CMakeFiles/modularize.dir/CoverageChecker.cpp.o
[5272/6557] Building CXX object tools/clang/tools/extra/clang-doc/CMakeFiles/obj.clangDoc.dir/Mapper.cpp.o
[5273/6557] Building CXX object tools/clang/tools/clang-installapi/CMakeFiles/clang-installapi.dir/ClangInstallAPI.cpp.o
[5274/6557] Building CXX object lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryResolver.cpp.o
[5275/6557] Building CXX object lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryScanner.cpp.o
[5276/6557] Building CXX object lib/MC/MCParser/CMakeFiles/LLVMMCParser.dir/AsmParser.cpp.o
[5277/6557] Linking CXX shared library lib/libLLVMOrcTargetProcess.so.22.0git
FAILED: lib/libLLVMOrcTargetProcess.so.22.0git
: && /usr/lib64/ccache/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-array-bounds -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-z,defs -Wl,-z,nodelete -Wl,-rpath-link,/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/./lib -Wl,--gc-sections -shared -Wl,-soname,libLLVMOrcTargetProcess.so.22.0git -o lib/libLLVMOrcTargetProcess.so.22.0git lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/ExecutorSharedMemoryMapperService.cpp.o lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/DefaultHostBootstrapValues.cpp.o lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/ExecutorResolver.cpp.o lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryResolver.cpp.o lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/JITLoaderGDB.cpp.o lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/JITLoaderPerf.cpp.o lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/JITLoaderVTune.cpp.o lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryScanner.cpp.o lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/OrcRTBootstrap.cpp.o lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/RegisterEHFrames.cpp.o lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/SimpleExecutorDylibManager.cpp.o lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/SimpleExecutorMemoryManager.cpp.o lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/SimpleRemoteEPCServer.cpp.o lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/TargetExecutionUtils.cpp.o lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/UnwindInfoManager.cpp.o -Wl,-rpath,"\$ORIGIN/../lib:/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/lib:" -lpthread -lrt lib/libLLVMOrcShared.so.22.0git lib/libLLVMTargetParser.so.22.0git lib/libLLVMSupport.so.22.0git -Wl,-rpath-link,/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/lib && :
lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryResolver.cpp.o: In function `llvm::orc::LibraryResolver::SymbolEnumerator::enumerateSymbols(llvm::StringRef, std::function<llvm::orc::LibraryResolver::SymbolEnumerator::EnumerateResult (llvm::StringRef)>, llvm::orc::SymbolEnumeratorOptions const&) [clone .localalias.4]':
LibraryResolver.cpp:(.text._ZN4llvm3orc15LibraryResolver16SymbolEnumerator16enumerateSymbolsENS_9StringRefESt8functionIFNS2_15EnumerateResultES3_EERKNS0_23SymbolEnumeratorOptionsE+0x7d8): undefined reference to `llvm::object::COFFObjectFile::export_directory_begin() const'
LibraryResolver.cpp:(.text._ZN4llvm3orc15LibraryResolver16SymbolEnumerator16enumerateSymbolsENS_9StringRefESt8functionIFNS2_15EnumerateResultES3_EERKNS0_23SymbolEnumeratorOptionsE+0x7ec): undefined reference to `llvm::object::COFFObjectFile::export_directory_end() const'
LibraryResolver.cpp:(.text._ZN4llvm3orc15LibraryResolver16SymbolEnumerator16enumerateSymbolsENS_9StringRefESt8functionIFNS2_15EnumerateResultES3_EERKNS0_23SymbolEnumeratorOptionsE+0x7fc): undefined reference to `llvm::object::ExportDirectoryEntryRef::operator==(llvm::object::ExportDirectoryEntryRef const&) const'
LibraryResolver.cpp:(.text._ZN4llvm3orc15LibraryResolver16SymbolEnumerator16enumerateSymbolsENS_9StringRefESt8functionIFNS2_15EnumerateResultES3_EERKNS0_23SymbolEnumeratorOptionsE+0x820): undefined reference to `llvm::object::ExportDirectoryEntryRef::getSymbolName(llvm::StringRef&) const'
LibraryResolver.cpp:(.text._ZN4llvm3orc15LibraryResolver16SymbolEnumerator16enumerateSymbolsENS_9StringRefESt8functionIFNS2_15EnumerateResultES3_EERKNS0_23SymbolEnumeratorOptionsE+0x898): undefined reference to `llvm::object::ExportDirectoryEntryRef::moveNext()'
lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryScanner.cpp.o: In function `llvm::object::defaultWarningHandler(llvm::Twine const&)':
LibraryScanner.cpp:(.text._ZN4llvm6objectL21defaultWarningHandlerERKNS_5TwineE+0x28): undefined reference to `llvm::object::object_category()'
lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryScanner.cpp.o: In function `llvm::orc::ObjectFileLoader::isArchitectureCompatible(llvm::object::ObjectFile const&) [clone .localalias.22]':
LibraryScanner.cpp:(.text._ZN4llvm3orc16ObjectFileLoader24isArchitectureCompatibleERKNS_6object10ObjectFileE+0x64): undefined reference to `llvm::object::ObjectFile::makeTriple() const'
lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryScanner.cpp.o: In function `llvm::orc::parseMachODeps(llvm::object::MachOObjectFile const&) [clone .localalias.5]':
LibraryScanner.cpp:(.text._ZN4llvm3orc14parseMachODepsERKNS_6object15MachOObjectFileE+0xd0): undefined reference to `llvm::object::MachOObjectFile::load_commands() const'
LibraryScanner.cpp:(.text._ZN4llvm3orc14parseMachODepsERKNS_6object15MachOObjectFileE+0x19c): undefined reference to `llvm::object::MachOObjectFile::getRpathCommand(llvm::object::MachOObjectFile::LoadCommandInfo const&) const'
LibraryScanner.cpp:(.text._ZN4llvm3orc14parseMachODepsERKNS_6object15MachOObjectFileE+0x48c): undefined reference to `llvm::object::MachOObjectFile::getDylibIDLoadCommand(llvm::object::MachOObjectFile::LoadCommandInfo const&) const'
lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryScanner.cpp.o: In function `llvm::orc::ObjectFileLoader::loadObjectFileWithOwnership(llvm::StringRef) [clone .localalias.21]':
LibraryScanner.cpp:(.text._ZN4llvm3orc16ObjectFileLoader27loadObjectFileWithOwnershipENS_9StringRefE+0x64): undefined reference to `llvm::object::createBinary(llvm::StringRef, llvm::LLVMContext*, bool)'
LibraryScanner.cpp:(.text._ZN4llvm3orc16ObjectFileLoader27loadObjectFileWithOwnershipENS_9StringRefE+0x3dc): undefined reference to `llvm::object::Binary::getMemoryBufferRef() const'
LibraryScanner.cpp:(.text._ZN4llvm3orc16ObjectFileLoader27loadObjectFileWithOwnershipENS_9StringRefE+0x424): undefined reference to `llvm::object::ObjectFile::createObjectFile(llvm::MemoryBufferRef, llvm::file_magic, bool)'
lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryScanner.cpp.o: In function `bool llvm::orc::isELFSharedLibrary<llvm::object::ELFType<(llvm::endianness)1, false> >(llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, false> > const&)':
LibraryScanner.cpp:(.text._ZN4llvm3orc18isELFSharedLibraryINS_6object7ELFTypeILNS_10endiannessE1ELb0EEEEEbRKNS2_7ELFFileIT_EE[_ZN4llvm3orc18isELFSharedLibraryINS_6object7ELFTypeILNS_10endiannessE1ELb0EEEEEbRKNS2_7ELFFileIT_EE]+0x58): undefined reference to `llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, false> >::program_headers() const'
lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryScanner.cpp.o: In function `bool llvm::orc::isELFSharedLibrary<llvm::object::ELFType<(llvm::endianness)1, true> >(llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, true> > const&)':
LibraryScanner.cpp:(.text._ZN4llvm3orc18isELFSharedLibraryINS_6object7ELFTypeILNS_10endiannessE1ELb1EEEEEbRKNS2_7ELFFileIT_EE[_ZN4llvm3orc18isELFSharedLibraryINS_6object7ELFTypeILNS_10endiannessE1ELb1EEEEEbRKNS2_7ELFFileIT_EE]+0x58): undefined reference to `llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, true> >::program_headers() const'
lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryScanner.cpp.o: In function `bool llvm::orc::isELFSharedLibrary<llvm::object::ELFType<(llvm::endianness)0, false> >(llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)0, false> > const&)':
LibraryScanner.cpp:(.text._ZN4llvm3orc18isELFSharedLibraryINS_6object7ELFTypeILNS_10endiannessE0ELb0EEEEEbRKNS2_7ELFFileIT_EE[_ZN4llvm3orc18isELFSharedLibraryINS_6object7ELFTypeILNS_10endiannessE0ELb0EEEEEbRKNS2_7ELFFileIT_EE]+0x58): undefined reference to `llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)0, false> >::program_headers() const'
lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryScanner.cpp.o: In function `bool llvm::orc::isELFSharedLibrary<llvm::object::ELFType<(llvm::endianness)0, true> >(llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)0, true> > const&)':
LibraryScanner.cpp:(.text._ZN4llvm3orc18isELFSharedLibraryINS_6object7ELFTypeILNS_10endiannessE0ELb1EEEEEbRKNS2_7ELFFileIT_EE[_ZN4llvm3orc18isELFSharedLibraryINS_6object7ELFTypeILNS_10endiannessE0ELb1EEEEEbRKNS2_7ELFFileIT_EE]+0x58): undefined reference to `llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)0, true> >::program_headers() const'
lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryScanner.cpp.o: In function `llvm::orc::isSharedLibraryObject(llvm::object::ObjectFile&) [clone .localalias.20]':
LibraryScanner.cpp:(.text._ZN4llvm3orc21isSharedLibraryObjectERNS_6object10ObjectFileE+0x160): undefined reference to `llvm::object::MachOObjectFile::getHeader() const'
LibraryScanner.cpp:(.text._ZN4llvm3orc21isSharedLibraryObjectERNS_6object10ObjectFileE+0x228): undefined reference to `llvm::object::MachOObjectFile::getHeader() const'
LibraryScanner.cpp:(.text._ZN4llvm3orc21isSharedLibraryObjectERNS_6object10ObjectFileE+0x25c): undefined reference to `llvm::object::MachOObjectFile::getHeader() const'
lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryScanner.cpp.o: In function `llvm::orc::DylibPathValidator::isSharedLibrary(llvm::StringRef) [clone .localalias.19]':
LibraryScanner.cpp:(.text._ZN4llvm3orc18DylibPathValidator15isSharedLibraryENS_9StringRefE+0x1c0): undefined reference to `llvm::identify_magic(llvm::Twine const&, llvm::file_magic&)'
lib/ExecutionEngine/Orc/TargetProcess/CMakeFiles/LLVMOrcTargetProcess.dir/LibraryScanner.cpp.o: In function `llvm::Expected<llvm::orc::LibraryScanner::LibraryDepsInfo> llvm::orc::parseELF<llvm::object::ELFType<(llvm::endianness)1, false> >(llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, false> > const&)':
LibraryScanner.cpp:(.text._ZN4llvm3orc8parseELFINS_6object7ELFTypeILNS_10endiannessE1ELb0EEEEENS_8ExpectedINS0_14LibraryScanner15LibraryDepsInfoEEERKNS2_7ELFFileIT_EE[_ZN4llvm3orc8parseELFINS_6object7ELFTypeILNS_10endiannessE1ELb0EEEEENS_8ExpectedINS0_14LibraryScanner15LibraryDepsInfoEEERKNS2_7ELFFileIT_EE]+0xbc): undefined reference to `llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, false> >::dynamicEntries() const'
LibraryScanner.cpp:(.text._ZN4llvm3orc8parseELFINS_6object7ELFTypeILNS_10endiannessE1ELb0EEEEENS_8ExpectedINS0_14LibraryScanner15LibraryDepsInfoEEERKNS2_7ELFFileIT_EE[_ZN4llvm3orc8parseELFINS_6object7ELFTypeILNS_10endiannessE1ELb0EEEEENS_8ExpectedINS0_14LibraryScanner15LibraryDepsInfoEEERKNS2_7ELFFileIT_EE]+0x154): undefined reference to `llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, false> >::sections() const'
LibraryScanner.cpp:(.text._ZN4llvm3orc8parseELFINS_6object7ELFTypeILNS_10endiannessE1ELb0EEEEENS_8ExpectedINS0_14LibraryScanner15LibraryDepsInfoEEERKNS2_7ELFFileIT_EE[_ZN4llvm3orc8parseELFINS_6object7ELFTypeILNS_10endiannessE1ELb0EEEEENS_8ExpectedINS0_14LibraryScanner15LibraryDepsInfoEEERKNS2_7ELFFileIT_EE]+0x394): undefined reference to `llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, false> >::dynamicEntries() const'
LibraryScanner.cpp:(.text._ZN4llvm3orc8parseELFINS_6object7ELFTypeILNS_10endiannessE1ELb0EEEEENS_8ExpectedINS0_14LibraryScanner15LibraryDepsInfoEEERKNS2_7ELFFileIT_EE[_ZN4llvm3orc8parseELFINS_6object7ELFTypeILNS_10endiannessE1ELb0EEEEENS_8ExpectedINS0_14LibraryScanner15LibraryDepsInfoEEERKNS2_7ELFFileIT_EE]+0x680): undefined reference to `llvm::object::ELFFile<llvm::object::ELFType<(llvm::endianness)1, false> >::toMappedAddr(unsigned long, llvm::function_ref<llvm::Error (llvm::Twine const&)>) const'
```
</details>
https://github.com/llvm/llvm-project/pull/148410
More information about the llvm-commits
mailing list