Skip to content

ARM Hard Float targets gives converge error in building LLVM #135057

Closed
@HomuHomu833

Description

@HomuHomu833

(This issue is mostly a continuation of ziglang/zig#23520.)

This started happening after Zig updated their LLVM to version 20, and we believe this issue is caused by changes in LLVM 20.x. Whenever I target arm(eb)-linux-(musl/gnu)eabihf, the errors below occur (and sorry I don't have vanilla Clang error output):

[3395/4933] Building CXX object lib/Target/X86/Disassembler/CMakeFiles/LLVMX86Disassembler.dir/X86Disassembler.cpp.o
FAILED: lib/Target/X86/Disassembler/CMakeFiles/LLVMX86Disassembler.dir/X86Disassembler.cpp.o 
/home/runner/work/android-ndk-custom/android-ndk-custom/zig-as-llvm/bin/c++ -DGTEST_HAS_RTTI=0 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/runner/work/android-ndk-custom/android-ndk-custom/build/armeb-linux-musleabihf/lib/Target/X86/Disassembler -I/home/runner/work/android-ndk-custom/android-ndk-custom/llvm/lib/Target/X86/Disassembler -I/home/runner/work/android-ndk-custom/android-ndk-custom/llvm/lib/Target/X86 -I/home/runner/work/android-ndk-custom/android-ndk-custom/build/armeb-linux-musleabihf/lib/Target/X86 -I/home/runner/work/android-ndk-custom/android-ndk-custom/build/armeb-linux-musleabihf/include -I/home/runner/work/android-ndk-custom/android-ndk-custom/llvm/include -isystem /home/runner/work/android-ndk-custom/android-ndk-custom/output/armeb-linux-musleabihf/include -fsanitize=undefined -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -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 -Os -DNDEBUG -std=c++17 -fvisibility=hidden  -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-rtti -MD -MT lib/Target/X86/Disassembler/CMakeFiles/LLVMX86Disassembler.dir/X86Disassembler.cpp.o -MF lib/Target/X86/Disassembler/CMakeFiles/LLVMX86Disassembler.dir/X86Disassembler.cpp.o.d -o lib/Target/X86/Disassembler/CMakeFiles/LLVMX86Disassembler.dir/X86Disassembler.cpp.o -c /home/runner/work/android-ndk-custom/android-ndk-custom/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
fatal error: error in backend: Constant Island pass failed to converge!
zig: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 20.1.2 (https://github.com/ziglang/zig-bootstrap 8ea7838cc51bec700319d7f7c4017554ac22f819)
Target: armebv7a-unknown-linux4.19.0-musleabihf
Thread model: posix
InstalledDir: /opt/hostedtoolcache/zig/0.15.0-dev.263/x64
zig: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
zig: note: diagnostic msg: /tmp/X86Disassembler-953851.cpp
zig: note: diagnostic msg: /tmp/X86Disassembler-953851.sh
zig: note: diagnostic msg: 

********************

and reminding that host LLVM and target LLVM is NOT same version.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions