[llvm] [JITLink] [GOFF] Initial support for GOFF (PR #224683)

via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 28 14:02:12 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 154210 tests passed
* 3426 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.ExecutionEngine/JITLink/systemz/GOFF_systemz_reloc_ptr.ll</summary>

```
Exit Code: -6

Command Output (stdout):
--
# RUN: at line 4
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc --filetype=obj -mtriple=s390x-ibm-zos -o GOFF_systemz_reloc_ptr.o < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/ExecutionEngine/JITLink/systemz/GOFF_systemz_reloc_ptr.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc --filetype=obj -mtriple=s390x-ibm-zos -o GOFF_systemz_reloc_ptr.o
# note: command had no output on stdout or stderr
# RUN: at line 5
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llvm-jitlink -noexec -num-threads=0 --triple=s390x-ibm-zos GOFF_systemz_reloc_ptr.o  -abs CELQSTRT=0x00400000
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llvm-jitlink -noexec -num-threads=0 --triple=s390x-ibm-zos GOFF_systemz_reloc_ptr.o -abs CELQSTRT=0x00400000
# .---command stderr------------
# | llvm-jitlink: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/ExecutionEngine/JITLink/GOFF_systemz.cpp:174: virtual Error llvm::jitlink::GOFFLinkGraphBuilder_systemz::processRelocations(): Assertion `S && "Symbol not found"' failed.
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llvm-jitlink -noexec -num-threads=0 --triple=s390x-ibm-zos GOFF_systemz_reloc_ptr.o -abs CELQSTRT=0x00400000
# |  #0 0x0000000002f922db llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:931:13
# |  #1 0x0000000002f8f051 llvm::sys::RunSignalHandlers() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Signals.cpp:109:18
# |  #2 0x0000000002f92d1b SignalHandler(int, siginfo_t*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:474:38
# |  #3 0x00007d6c7e386cb0 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x45cb0)
# |  #4 0x00007d6c7e3e71ac pthread_kill (/usr/lib/x86_64-linux-gnu/libc.so.6+0xa61ac)
# |  #5 0x00007d6c7e386b7e raise (/usr/lib/x86_64-linux-gnu/libc.so.6+0x45b7e)
# |  #6 0x00007d6c7e3698ec abort (/usr/lib/x86_64-linux-gnu/libc.so.6+0x288ec)
# |  #7 0x00007d6c7e36a979 (/usr/lib/x86_64-linux-gnu/libc.so.6+0x29979)
# |  #8 0x00007d6c7e37cf75 __assert_fail (/usr/lib/x86_64-linux-gnu/libc.so.6+0x3bf75)
# |  #9 0x0000000002b5b7cd doit /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:109:5
# | #10 0x0000000002b5b7cd doit /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:137:12
# | #11 0x0000000002b5b7cd doit /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:127:12
# | #12 0x0000000002b5b7cd isPossible /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:255:12
# | #13 0x0000000002b5b7cd isPossible /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:509:12
# | #14 0x0000000002b5b7cd isa<llvm::object::ObjectFile, const llvm::object::SymbolicFile *> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:548:11
# | #15 0x0000000002b5b7cd cast<llvm::object::ObjectFile, const llvm::object::SymbolicFile> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:572:10
# | #16 0x0000000002b5b7cd getObject /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Object/ObjectFile.h:495:10
# | #17 0x0000000002b5b7cd getName /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Object/ObjectFile.h:466:10
# | #18 0x0000000002b5b7cd llvm::jitlink::GOFFLinkGraphBuilder_systemz::processRelocations() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/ExecutionEngine/JITLink/GOFF_systemz.cpp:158:34
# | #19 0x0000000002b5d388 getPtr /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Error.h:278:42
# | #20 0x0000000002b5d388 operator bool /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Error.h:241:16
# | #21 0x0000000002b5d388 llvm::jitlink::GOFFLinkGraphBuilder::buildGraph() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/ExecutionEngine/JITLink/GOFFLinkGraphBuilder.cpp:55:12
# | #22 0x0000000002b5a4b2 llvm::jitlink::createLinkGraphFromGOFFObject_systemz(llvm::MemoryBufferRef, std::shared_ptr<llvm::orc::SymbolStringPool>) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/ExecutionEngine/JITLink/GOFF_systemz.cpp:89:3
# | #23 0x0000000002b59ffe ~__shared_count /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/shared_ptr_base.h:1068:6
# | #24 0x0000000002b59ffe ~__shared_ptr /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/shared_ptr_base.h:1531:31
# | #25 0x0000000002b59ffe llvm::jitlink::createLinkGraphFromGOFFObject(llvm::MemoryBufferRef, std::shared_ptr<llvm::orc::SymbolStringPool>) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/ExecutionEngine/JITLink/GOFF.cpp:27:3
# | #26 0x0000000002aa22a5 ~__shared_count /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/shared_ptr_base.h:1068:6
# | #27 0x0000000002aa22a5 ~__shared_ptr /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/shared_ptr_base.h:1531:31
# | #28 0x0000000002aa22a5 llvm::jitlink::createLinkGraphFromObject(llvm::MemoryBufferRef, std::shared_ptr<llvm::orc::SymbolStringPool>) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/ExecutionEngine/JITLink/JITLink.cpp:532:5
# | #29 0x0000000002e2d86b ~__shared_count /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/shared_ptr_base.h:1068:6
# | #30 0x0000000002e2d86b ~__shared_ptr /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/shared_ptr_base.h:1531:31
# | #31 0x0000000002e2d86b llvm::orc::ObjectLinkingLayer::emit(std::unique_ptr<llvm::orc::MaterializationResponsibility, std::default_delete<llvm::orc::MaterializationResponsibility>>, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp:24:16
# | #32 0x0000000002de03ab ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/unique_ptr.h:397:6
# | #33 0x0000000002de03ab llvm::orc::BasicObjectLayerMaterializationUnit::materialize(std::unique_ptr<llvm::orc::MaterializationResponsibility, std::default_delete<llvm::orc::MaterializationResponsibility>>) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/ExecutionEngine/Orc/Layer.cpp:221:3
# | #34 0x0000000002d788f2 ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/unique_ptr.h:397:6
# | #35 0x0000000002d788f2 llvm::orc::MaterializationTask::run() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:1546:3
# | #36 0x0000000002d65dd9 ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/unique_ptr.h:397:6
# | #37 0x0000000002d65dd9 llvm::orc::ExecutionSession::dispatchTask(std::unique_ptr<llvm::orc::Task, std::default_delete<llvm::orc::Task>>) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ExecutionEngine/Orc/Core.h:1344:5
# | #38 0x0000000002d7b191 ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/unique_ptr.h:397:6
# | #39 0x0000000002d7b191 llvm::orc::ExecutionSession::dispatchOutstandingMUs() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:2053:5
# | #40 0x0000000002d810da llvm::orc::ExecutionSession::OL_completeLookup(std::unique_ptr<llvm::orc::InProgressLookupState, std::default_delete<llvm::orc::InProgressLookupState>>, std::shared_ptr<llvm::orc::AsynchronousSymbolQuery>, std::function<void (llvm::DenseMap<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>>, llvm::DenseMapInfo<llvm::orc::JITDylib*, void>, llvm::detail::DenseMapPair<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>>>> const&)>) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:0:3
# | #41 0x0000000002d99b9d ~_Function_base /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:245:11
# | #42 0x0000000002d99b9d llvm::orc::InProgressFullLookupState::complete(std::unique_ptr<llvm::orc::InProgressLookupState, std::default_delete<llvm::orc::InProgressLookupState>>) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:567:5
# | #43 0x0000000002d6be6f ~unique_ptr /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/unique_ptr.h:397:6
# | #44 0x0000000002d6be6f llvm::orc::ExecutionSession::OL_applyQueryPhase1(std::unique_ptr<llvm::orc::InProgressLookupState, std::default_delete<llvm::orc::InProgressLookupState>>, llvm::Error) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:2421:5
# | #45 0x0000000002d69128 getChecked /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Error.h:298:41
# | #46 0x0000000002d69128 assertIsChecked /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Error.h:270:24
# | #47 0x0000000002d69128 ~Error /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Error.h:233:5
# | #48 0x0000000002d69128 llvm::orc::ExecutionSession::lookup(llvm::orc::LookupKind, std::vector<std::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags>, std::allocator<std::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags>>> const&, llvm::orc::SymbolLookupSet, llvm::orc::SymbolState, llvm::unique_function<void (llvm::Expected<llvm::DenseMap<llvm::orc::SymbolStringPtr, llvm::orc::ExecutorSymbolDef, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>, llvm::detail::DenseMapPair<llvm::orc::SymbolStringPtr, llvm::orc::ExecutorSymbolDef>>>)>, std::function<void (llvm::DenseMap<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>>, llvm::DenseMapInfo<llvm::orc::JITDylib*, void>, llvm::detail::DenseMapPair<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStringPtr, void>>>> const&)>) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/ExecutionEngine/Orc/Core.cpp:1790:3
# | #49 0x0000000002d7b3c6 ~_Function_base /usr/lib/gcc/x86_64-linux-gnu/15/../../../../include/c++/15/bits/std_function.h:245:11
# | #50 0x0000000002d7b3c6 llvm::orc::ExecutionSession::lookup(std::vector<std::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags>, std::allocator<std::pair<llvm::orc::JITDylib*, llvm::orc::JITDylibLookupFlags>>> const&, llvm::orc::SymbolLookupSet, llvm::orc::LookupKind, llvm::orc::SymbolState, std::function<void (llvm::DenseMap<llvm::orc::JITDylib*, llvm::DenseSet<llvm::orc::SymbolStringPtr, llvm::DenseMapInfo<llvm::orc::SymbolStrin
# | ...
# `---data was truncated (10240/12081) (change limit with -D output_limit=N)
# error: command failed with exit status: -6

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the llvm-commits mailing list