-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Open
Labels
arch-x86_6464-bit x8664-bit x86backend-llvmThe LLVM backend outputs an LLVM IR Module.The LLVM backend outputs an LLVM IR Module.bugObserved behavior contradicts documented or intended behaviorObserved behavior contradicts documented or intended behaviorupstreamAn issue with a third party project that Zig uses.An issue with a third party project that Zig uses.
Milestone
Description
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
Labels
arch-x86_6464-bit x8664-bit x86backend-llvmThe LLVM backend outputs an LLVM IR Module.The LLVM backend outputs an LLVM IR Module.bugObserved behavior contradicts documented or intended behaviorObserved behavior contradicts documented or intended behaviorupstreamAn issue with a third party project that Zig uses.An issue with a third party project that Zig uses.