Skip to content

cannot build LLVM for x86_64-linux-muslx32 #25374

@HomuHomu833

Description

@HomuHomu833

Zig Version

0.16.0-dev.164+bc7955306

Steps to Reproduce and Observed Behavior

this caused in all versions of Zig (0.14 to 0.16-dev) and I tried to do research about R_X86_64_GOTTPOFF but I understood nothing about it and also I forgot to report multiple times.

error:

2025-09-27T15:02:44.6910810Z FAILED: [code=1] bin/lld 
2025-09-27T15:02:44.6942420Z : && /home/runner/work/llvm-custom-experimental/llvm-custom-experimental/zig-as-llvm/bin/c++ -fstack-protector-strong -fsanitize=undefined -static -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 -static -static -fno-pie -Wl,--color-diagnostics tools/lld/tools/lld/CMakeFiles/lld.dir/lld.cpp.o tools/lld/tools/lld/CMakeFiles/lld.dir/lld-driver.cpp.o -o bin/lld  -Wl,-rpath,"\$ORIGIN/../lib:"  lib/libLLVMSupport.a  lib/libLLVMTargetParser.a  lib/liblldCommon.a  lib/liblldCOFF.a  lib/liblldELF.a  lib/liblldMachO.a  lib/liblldMinGW.a  lib/liblldWasm.a  lib/liblldCOFF.a  lib/libLLVMLibDriver.a  lib/libLLVMWindowsDriver.a  lib/libLLVMWindowsManifest.a  lib/liblldCommon.a  lib/libLLVMOption.a  lib/libLLVMX86CodeGen.a  lib/libLLVMX86AsmParser.a  lib/libLLVMX86Desc.a  lib/libLLVMX86Disassembler.a  lib/libLLVMX86Info.a  lib/libLLVMAArch64CodeGen.a  lib/libLLVMAArch64AsmParser.a  lib/libLLVMAArch64Disassembler.a  lib/libLLVMAArch64Desc.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMARMCodeGen.a  lib/libLLVMARMAsmParser.a  lib/libLLVMARMDisassembler.a  lib/libLLVMARMDesc.a  lib/libLLVMARMInfo.a  lib/libLLVMARMUtils.a  lib/libLLVMRISCVCodeGen.a  lib/libLLVMAsmPrinter.a  lib/libLLVMGlobalISel.a  lib/libLLVMSelectionDAG.a  lib/libLLVMRISCVAsmParser.a  lib/libLLVMRISCVDisassembler.a  lib/libLLVMRISCVDesc.a  lib/libLLVMMCDisassembler.a  lib/libLLVMRISCVInfo.a  lib/libLLVMLTO.a  lib/libLLVMExtensions.a  lib/libLLVMPasses.a  lib/libLLVMCodeGen.a  lib/libLLVMCGData.a  lib/libLLVMCodeGenTypes.a  lib/libLLVMTarget.a  lib/libLLVMObjCARCOpts.a  lib/libLLVMCFGuard.a  lib/libLLVMIRPrinter.a  lib/libLLVMCoroutines.a  lib/libLLVMipo.a  lib/libLLVMBitWriter.a  lib/libLLVMInstrumentation.a  lib/libLLVMVectorize.a  lib/libLLVMSandboxIR.a  lib/libLLVMLinker.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMScalarOpts.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMInstCombine.a  lib/libLLVMFrontendOffloading.a  lib/libLLVMFrontendAtomic.a  lib/libLLVMHipStdPar.a  lib/libLLVMTransformUtils.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMSymbolize.a  lib/libLLVMDebugInfoDWARF.a  lib/libLLVMDebugInfoPDB.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMObject.a  lib/libLLVMTextAPI.a  lib/libLLVMMCParser.a  lib/libLLVMMC.a  lib/libLLVMIRReader.a  lib/libLLVMBitReader.a  lib/libLLVMAsmParser.a  lib/libLLVMCore.a  lib/libLLVMRemarks.a  lib/libLLVMBitstreamReader.a  lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMSupport.a  -lrt  -ldl  -lm  /home/runner/work/llvm-custom-experimental/llvm-custom-experimental/output/x86_64-linux-muslx32/lib/libz.a  /home/runner/work/llvm-custom-experimental/llvm-custom-experimental/output/x86_64-linux-muslx32/lib/libzstd.a  lib/libLLVMDemangle.a && cd /home/runner/work/llvm-custom-experimental/llvm-custom-experimental/build/x86_64-linux-muslx32/tools/lld/tools/lld && /usr/local/bin/cmake -E create_symlink lld /home/runner/work/llvm-custom-experimental/llvm-custom-experimental/build/x86_64-linux-muslx32/./bin/lld-link && cd /home/runner/work/llvm-custom-experimental/llvm-custom-experimental/build/x86_64-linux-muslx32/tools/lld/tools/lld && /usr/local/bin/cmake -E create_symlink lld /home/runner/work/llvm-custom-experimental/llvm-custom-experimental/build/x86_64-linux-muslx32/./bin/ld.lld && cd /home/runner/work/llvm-custom-experimental/llvm-custom-experimental/build/x86_64-linux-muslx32/tools/lld/tools/lld && /usr/local/bin/cmake -E create_symlink lld /home/runner/work/llvm-custom-experimental/llvm-custom-experimental/build/x86_64-linux-muslx32/./bin/ld64.lld && cd /home/runner/work/llvm-custom-experimental/llvm-custom-experimental/build/x86_64-linux-muslx32/tools/lld/tools/lld && /usr/local/bin/cmake -E create_symlink lld /home/runner/work/llvm-custom-experimental/llvm-custom-experimental/build/x86_64-linux-muslx32/./bin/wasm-ld
2025-09-27T15:02:44.6981900Z ld.lld: error: lib/liblldELF.a(Relocations.cpp.o):(function void addRelativeReloc<true>(lld::elf::Ctx&, lld::elf::InputSectionBase&, unsigned long long, lld::elf::Symbol&, long long, lld::elf::RelExpr, lld::elf::RelType): .text._ZL16addRelativeRelocILb1EEvRN3lld3elf3CtxERNS1_16InputSectionBaseEyRNS1_6SymbolExNS1_7RelExprENS1_7RelTypeE+0xf6): R_X86_64_GOTTPOFF must be used in MOVQ or ADDQ instructions only
2025-09-27T15:02:44.6987419Z ld.lld: error: lib/liblldELF.a(Relocations.cpp.o):(function void lld::elf::RelocationBaseSection::addReloc<true>(lld::elf::DynamicReloc::Kind, lld::elf::RelType, lld::elf::InputSectionBase&, unsigned long long, lld::elf::Symbol&, long long, lld::elf::RelExpr, lld::elf::RelType): .text._ZN3lld3elf21RelocationBaseSection8addRelocILb1EEEvNS0_12DynamicReloc4KindENS0_7RelTypeERNS0_16InputSectionBaseEyRNS0_6SymbolExNS0_7RelExprES5_+0x137): R_X86_64_GOTTPOFF must be used in MOVQ or ADDQ instructions only

Expected Behavior

to LLVM compile/build

Metadata

Metadata

Assignees

No one assigned

    Labels

    arch-x86_6464-bit x86backend-llvmThe LLVM backend outputs an LLVM IR Module.bugObserved behavior contradicts documented or intended behaviorupstreamAn issue with a third party project that Zig uses.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions