[clang] [Clang][SYCL] Introduce clang-sycl-linker to link SYCL offloading device code (Part 1 of many) (PR #112245)

LLVM Continuous Integration via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 31 09:23:00 PDT 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `clang-ppc64le-rhel` running on `ppc64le-clang-rhel-test` while building `clang` at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/145/builds/2850

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 5 (build-unified-tree) failure: build (failure)
...
165.242 [37/9/6252] Building CXX object tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndexer.cpp.o
165.332 [36/9/6253] Linking CXX shared library lib/libclang.so.20.0.0git
165.338 [35/9/6254] Creating library symlink lib/libclang.so.20.0git lib/libclang.so
165.377 [33/10/6255] Linking CXX executable bin/c-arcmt-test
165.390 [33/9/6256] Linking CXX executable bin/c-index-test
166.342 [33/8/6257] Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/cc1gen_reproducer_main.cpp.o
168.996 [33/7/6258] Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/cc1as_main.cpp.o
170.854 [33/6/6259] Building CXX object tools/clang/tools/driver/CMakeFiles/clang.dir/driver.cpp.o
174.560 [33/5/6260] Building CXX object tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o
174.625 [32/5/6261] Linking CXX executable bin/clang-sycl-linker
FAILED: bin/clang-sycl-linker 
: && /home/docker/llvm-external-buildbots/clang.17.0.6/bin/clang++ --gcc-toolchain=/gcc-toolchain/usr -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -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-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -Wl,--color-diagnostics     -Wl,--gc-sections tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o -o bin/clang-sycl-linker  -Wl,-rpath,"\$ORIGIN/../lib:/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/lib:"  lib/libLLVMAArch64CodeGen.so.20.0git  lib/libLLVMAArch64AsmParser.so.20.0git  lib/libLLVMAArch64Disassembler.so.20.0git  lib/libLLVMAMDGPUCodeGen.so.20.0git  lib/libLLVMAMDGPUAsmParser.so.20.0git  lib/libLLVMAMDGPUDisassembler.so.20.0git  lib/libLLVMARMCodeGen.so.20.0git  lib/libLLVMARMAsmParser.so.20.0git  lib/libLLVMARMDisassembler.so.20.0git  lib/libLLVMAVRCodeGen.so.20.0git  lib/libLLVMAVRAsmParser.so.20.0git  lib/libLLVMAVRDesc.so.20.0git  lib/libLLVMAVRDisassembler.so.20.0git  lib/libLLVMAVRInfo.so.20.0git  lib/libLLVMBPFCodeGen.so.20.0git  lib/libLLVMBPFAsmParser.so.20.0git  lib/libLLVMBPFDesc.so.20.0git  lib/libLLVMBPFDisassembler.so.20.0git  lib/libLLVMBPFInfo.so.20.0git  lib/libLLVMHexagonCodeGen.so.20.0git  lib/libLLVMHexagonAsmParser.so.20.0git  lib/libLLVMHexagonDisassembler.so.20.0git  lib/libLLVMLanaiCodeGen.so.20.0git  lib/libLLVMLanaiAsmParser.so.20.0git  lib/libLLVMLanaiDisassembler.so.20.0git  lib/libLLVMLoongArchCodeGen.so.20.0git  lib/libLLVMLoongArchAsmParser.so.20.0git  lib/libLLVMLoongArchDisassembler.so.20.0git  lib/libLLVMMipsCodeGen.so.20.0git  lib/libLLVMMipsAsmParser.so.20.0git  lib/libLLVMMipsDesc.so.20.0git  lib/libLLVMMipsDisassembler.so.20.0git  lib/libLLVMMipsInfo.so.20.0git  lib/libLLVMMSP430CodeGen.so.20.0git  lib/libLLVMMSP430AsmParser.so.20.0git  lib/libLLVMMSP430Desc.so.20.0git  lib/libLLVMMSP430Disassembler.so.20.0git  lib/libLLVMMSP430Info.so.20.0git  lib/libLLVMNVPTXCodeGen.so.20.0git  lib/libLLVMNVPTXDesc.so.20.0git  lib/libLLVMNVPTXInfo.so.20.0git  lib/libLLVMPowerPCCodeGen.so.20.0git  lib/libLLVMPowerPCAsmParser.so.20.0git  lib/libLLVMPowerPCDesc.so.20.0git  lib/libLLVMPowerPCDisassembler.so.20.0git  lib/libLLVMPowerPCInfo.so.20.0git  lib/libLLVMRISCVCodeGen.so.20.0git  lib/libLLVMRISCVAsmParser.so.20.0git  lib/libLLVMRISCVDisassembler.so.20.0git  lib/libLLVMSparcCodeGen.so.20.0git  lib/libLLVMSparcAsmParser.so.20.0git  lib/libLLVMSparcDesc.so.20.0git  lib/libLLVMSparcDisassembler.so.20.0git  lib/libLLVMSparcInfo.so.20.0git  lib/libLLVMSystemZCodeGen.so.20.0git  lib/libLLVMSystemZAsmParser.so.20.0git  lib/libLLVMSystemZDisassembler.so.20.0git  lib/libLLVMVECodeGen.so.20.0git  lib/libLLVMVEAsmParser.so.20.0git  lib/libLLVMVEDesc.so.20.0git  lib/libLLVMVEDisassembler.so.20.0git  lib/libLLVMVEInfo.so.20.0git  lib/libLLVMWebAssemblyCodeGen.so.20.0git  lib/libLLVMWebAssemblyAsmParser.so.20.0git  lib/libLLVMWebAssemblyDisassembler.so.20.0git  lib/libLLVMWebAssemblyUtils.so.20.0git  lib/libLLVMX86CodeGen.so.20.0git  lib/libLLVMX86AsmParser.so.20.0git  lib/libLLVMX86Desc.so.20.0git  lib/libLLVMX86Disassembler.so.20.0git  lib/libLLVMX86Info.so.20.0git  lib/libLLVMXCoreCodeGen.so.20.0git  lib/libLLVMXCoreDesc.so.20.0git  lib/libLLVMXCoreDisassembler.so.20.0git  lib/libLLVMXCoreInfo.so.20.0git  lib/libLLVMOption.so.20.0git  -lpthread  lib/libclangBasic.so.20.0git  lib/libLLVMAArch64Desc.so.20.0git  lib/libLLVMAArch64Info.so.20.0git  lib/libLLVMAArch64Utils.so.20.0git  lib/libLLVMAMDGPUDesc.so.20.0git  lib/libLLVMAMDGPUInf
o.so.20.0git  lib/libLLVMARMUtils.so.20.0git  lib/libLLVMHexagonDesc.so.20.0git  lib/libLLVMHexagonInfo.so.20.0git  lib/libLLVMLanaiDesc.so.20.0git  lib/libLLVMLanaiInfo.so.20.0git  lib/libLLVMLoongArchDesc.so.20.0git  lib/libLLVMLoongArchInfo.so.20.0git  lib/libLLVMRISCVDesc.so.20.0git  lib/libLLVMRISCVInfo.so.20.0git  lib/libLLVMSystemZDesc.so.20.0git  lib/libLLVMSystemZInfo.so.20.0git  lib/libLLVMWebAssemblyDesc.so.20.0git  lib/libLLVMWebAssemblyInfo.so.20.0git  -Wl,-rpath-link,/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/lib && :
ld.lld: error: undefined symbol: llvm::InitLLVM::InitLLVM(int&, char const**&, bool)
>>> referenced by ClangSYCLLinker.cpp
>>>               tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o:(main)

ld.lld: error: undefined symbol: llvm::sys::PrintStackTraceOnErrorSignal(llvm::StringRef, bool)
>>> referenced by ClangSYCLLinker.cpp
>>>               tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o:(main)

ld.lld: error: undefined symbol: llvm::outs()
>>> referenced by ClangSYCLLinker.cpp
>>>               tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o:(main)
>>> referenced by ClangSYCLLinker.cpp
>>>               tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o:(main)
>>> referenced by ClangSYCLLinker.cpp
>>>               tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o:((anonymous namespace)::reportError(llvm::Error))

ld.lld: error: undefined symbol: llvm::deallocate_buffer(void*, unsigned long, unsigned long)
>>> referenced by ClangSYCLLinker.cpp
>>>               tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o:(main)
>>> referenced by ClangSYCLLinker.cpp
>>>               tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o:(main)
>>> referenced by ClangSYCLLinker.cpp
>>>               tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o:(llvm::opt::InputArgList::~InputArgList())

ld.lld: error: undefined symbol: llvm::InitLLVM::~InitLLVM()
>>> referenced by ClangSYCLLinker.cpp
>>>               tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o:(main)

ld.lld: error: undefined symbol: llvm::raw_ostream::write(char const*, unsigned long)
>>> referenced by ClangSYCLLinker.cpp
>>>               tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o:(main)
>>> referenced by ClangSYCLLinker.cpp
>>>               tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o:((anonymous namespace)::executeCommands(llvm::StringRef, llvm::ArrayRef<llvm::StringRef>))
>>> referenced by ClangSYCLLinker.cpp
>>>               tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o:((anonymous namespace)::executeCommands(llvm::StringRef, llvm::ArrayRef<llvm::StringRef>))
>>> referenced 16 more times

```

</details>

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


More information about the cfe-commits mailing list