Skip to content

2-stage Solaris/sparcv9 build FAILs #209491

Description

@rorth

Between 2026-07-05 and 2026-07-24, a 2-stage build on sparcv9-sun-solaris2.11 began to FAIL:

FAILED: lib/ObjCopy/CMakeFiles/LLVMObjCopy.dir/ELF/ELFObject.cpp.o
fatal error: error in backend: Cannot select: t125: ch = SPISD::STORE_LITTLE<(store (s32) into %ir.EntrySize, align 8, !tbaa !277)> t781, t322, t84, ValueType:ch:i32
  t322: i64 = or t642, t374
    t642: i64 = or t640, t641
      t640: i64 = shl t376, Constant:i32<24>
        t376: i64,ch = load<(load (s8) from %ir.sh_entsize), zext from i8> t127, t79, undef:i64
          t79: i64 = add t18, Constant:i64<56>
            t18: i64,ch = CopyFromReg t0, Register:i64 %11
      t641: i64 = shl t378, Constant:i32<16>
        t378: i64,ch = load<(load (s8) from %ir.sh_entsize + 1), zext from i8> t127, t605, undef:i64
          t605: i64 = add t18, Constant:i64<57>
            t18: i64,ch = CopyFromReg t0, Register:i64 %11
    t374: i64 = or t373, t372
      t373: i64 = shl t370, Constant:i32<8>
        t370: i64,ch = load<(load (s8) from %ir.sh_entsize + 2), zext from i8> t127, t644, undef:i64
          t644: i64 = add t18, Constant:i64<58>
            t18: i64,ch = CopyFromReg t0, Register:i64 %11
      t372: i64,ch = load<(load (s8) from %ir.sh_entsize + 3), zext from i8> t127, t609, undef:i64
        t609: i64 = add t18, Constant:i64<59>
          t18: i64,ch = CopyFromReg t0, Register:i64 %11
  t84: i64 = add nuw t4, Constant:i64<104>
    t4: i64,ch = load<(dereferenceable load (s64) from %ir.Sec, !tbaa !1640)> t0, FrameIndex:i64<1>, undef:i64
In function: _ZN4llvm7objcopy3elf10ELFBuilderINS_6object7ELFTypeILNS_10endiannessE1ELb1EEEE18readSectionHeadersEv

Stack dump:
0.	Program arguments: /var/llvm/local-sparcv9-release-stage2-A-flang-openmp/bin/clang++ -D_DEBUG -D_FILE_OFFSET_BITS=64 -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/var/llvm/local-sparcv9-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/ObjCopy -I/vol/llvm/src/llvm-project/local/llvm/lib/ObjCopy -I/var/llvm/local-sparcv9-release-stage2-A-flang-openmp/tools/clang/stage2-bins/include -I/vol/llvm/src/llvm-project/local/llvm/include -I/vol/llvm/src/llvm-project/local/llvm/include/llvm/Support/Solaris -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-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Xclang -fno-pch-timestamp -O -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -Winvalid-pch -Xclang -include-pch -Xclang /var/llvm/local-sparcv9-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/Support/CMakeFiles/LLVMSupport.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /var/llvm/local-sparcv9-release-stage2-A-flang-openmp/tools/clang/stage2-bins/lib/Support/CMakeFiles/LLVMSupport.dir/cmake_pch.hxx -MD -MT lib/ObjCopy/CMakeFiles/LLVMObjCopy.dir/ELF/ELFObject.cpp.o -MF lib/ObjCopy/CMakeFiles/LLVMObjCopy.dir/ELF/ELFObject.cpp.o.d -o lib/ObjCopy/CMakeFiles/LLVMObjCopy.dir/ELF/ELFObject.cpp.o -c /vol/llvm/src/llvm-project/local/llvm/lib/ObjCopy/ELF/ELFObject.cpp
1.	<eof> parser at end of file
2.	Code generation
3.	Running pass 'Function Pass Manager' on module '/vol/llvm/src/llvm-project/local/llvm/lib/ObjCopy/ELF/ELFObject.cpp'.
4.	Running pass 'SPARC DAG->DAG Pattern Instruction Selection' on function '@_ZN4llvm7objcopy3elf10ELFBuilderINS_6object7ELFTypeILNS_10endiannessE1ELb1EEEE18readSectionHeadersEv'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  clang-23 0x0000000109a8faa0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 36
1  clang-23 0x0000000109a8ea80 llvm::sys::CleanupOnSignal(unsigned long) + 628
2  clang-23 0x00000001099d6d88 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) + 108
3  clang-23 0x00000001099d6cf4 llvm::CrashRecoveryContext::HandleExit(int) + 68
4  clang-23 0x0000000109a8ac04 llvm::sys::Process::Exit(int, bool) + 40
5  clang-23 0x0000000106325298 LLVMErrorHandler(void*, char const*, bool) + 68
6  clang-23 0x00000001099df934 llvm::report_fatal_error(llvm::Twine const&, bool) + 868
7  clang-23 0x000000010b2591b0 llvm::SelectionDAGISel::CannotYetSelect(llvm::SDNode*) + 660
8  clang-23 0x000000010b257e68 llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*, unsigned int, unsigned char const*) + 25108
9  clang-23 0x0000000107ec0360 (anonymous namespace)::SparcDAGToDAGISel::Select(llvm::SDNode*) + 1424
10 clang-23 0x000000010b24a6f8 llvm::SelectionDAGISel::DoInstructionSelection() + 1736
11 clang-23 0x000000010b2494bc llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 7040
12 clang-23 0x000000010b247114 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 8804
13 clang-23 0x000000010b243750 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 824
14 clang-23 0x000000010b240ad0 llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) + 192
15 clang-23 0x0000000108ca6ac0 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 588
16 clang-23 0x00000001092f7ac0 llvm::FPPassManager::runOnFunction(llvm::Function&) + 1020
17 clang-23 0x00000001092ff9d4 llvm::FPPassManager::runOnModule(llvm::Module&) + 64
18 clang-23 0x00000001092f8604 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1420
19 clang-23 0x0000000109ee4930 (anonymous namespace)::EmitAssemblyHelper::TimeCodegenPasses(llvm::function_ref<void ()>) + 276
20 clang-23 0x0000000109ed49b4 clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) + 10240
21 clang-23 0x000000010a55a1d0 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 1728
22 clang-23 0x000000010c2450dc clang::ParseAST(clang::Sema&, bool, bool) + 660
23 clang-23 0x000000010a88ad98 clang::ASTFrontendAction::ExecuteAction() + 248
24 clang-23 0x000000010a55fa0c clang::CodeGenAction::ExecuteAction() + 136
25 clang-23 0x000000010a88a2fc clang::FrontendAction::Execute() + 44
26 clang-23 0x000000010a7f56a8 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 1636
27 clang-23 0x000000010a95b41c clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 696
28 clang-23 0x0000000106324a90 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 6892
29 clang-23 0x0000000106320910 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>) + 612
30 clang-23 0x0000000106322e84 int llvm::function_ref<int (llvm::SmallVectorImpl<char const*>&)>::callback_fn<clang_main(int, char**, llvm::ToolContext const&)::$_0>(long, llvm::SmallVectorImpl<char const*>&) + 88
31 clang-23 0x000000010a5d0894 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::$_0>(long) + 16
32 clang-23 0x00000001099d6c78 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) + 188
33 clang-23 0x000000010a5cfe34 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const + 340
34 clang-23 0x000000010a5879b8 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const + 740
35 clang-23 0x000000010a58893c clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const + 3564
36 clang-23 0x000000010a5ac96c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) + 336
37 clang-23 0x000000010631fe10 clang_main(int, char**, llvm::ToolContext const&) + 9504
38 clang-23 0x0000000106332f3c main + 64
39 clang-23 0x000000010631d424 _start + 100
clang++: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 23.0.0git
Target: sparcv9-sun-solaris2.11
Thread model: posix
InstalledDir: /var/llvm/local-sparcv9-release-stage2-A-flang-openmp/bin
Build config: +assertions

Metadata

Metadata

Assignees

Labels

backend:SparccrashPrefer [crash-on-valid] or [crash-on-invalid]

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions