llvm / llvm/llvm-project

driver.cpp:(.text.startup.main+0x890): relocation truncated to fit: R_AARCH64_CALL26 against symbol `__aarch64_ldadd4_acq_rel' defined in .text section in /usr/lib/gcc/aarch64-linux-gnu/15/libgcc.a(ldadd_4_4.o)

Open
#213,518 4 comments 0 reactions 0 assignees View on GitHub
build-problem flang:driver regression
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

full log:
https://llvm-jenkins.debian.net/job/llvm-toolchain-questing-binaries/architecture=arm64,distribution=questing,label=arm64/416/

```
/usr/lib/aarch64-linux-gnu/libzstd.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking.
tools/flang/tools/flang-driver/CMakeFiles/flang.dir/driver.cpp.o: in function `main':
driver.cpp:(.text.startup.main+0x890): relocation truncated to fit: R_AARCH64_CALL26 against symbol `__aarch64_ldadd4_acq_rel' defined in .text section in /usr/lib/gcc/aarch64-linux-gnu/15/libgcc.a(ldadd_4_4.o)
lib/libPolly.a(ScopDetection.cpp.o): in function `__static_initialization_and_destruction_0()':
ScopDetection.cpp:(.text.startup._Z41__static_initialization_and_destruction_0v+0xf44): relocation truncated to fit: R_AARCH64_CALL26 against symbol `llvm::getNextAvailablePluginDiagnosticKind()' defined in .text._ZN4llvm36getNextAvailablePluginDiagnosticKindEv section in lib/libLLVMCore.a(DiagnosticInfo.cpp.o)
lib/libLLVMTransformUtils.a(Debugify.cpp.o): in function `__static_initialization_and_destruction_0()':
Debugify.cpp:(.text.startup._Z41__static_initialization_and_destruction_0v+0x5f0): relocation truncated to fit: R_AARCH64_CALL26 against symbol `llvm::PassRegistry::getPassRegistry()' defined in .text._ZN4llvm12PassRegistry15getPassRegistryEv section in lib/libLLVMCore.a(PassRegistry.cpp.o)
Debugify.cpp:(.text.startup._Z41__static_initialization_and_destruction_0v+0x604): relocation truncated to fit: R_AARCH64_CALL26 against symbol `llvm::PassRegistry::registerPass(llvm::PassInfo const&, bool)' defined in .text._ZN4llvm12PassRegistry12registerPassERKNS_8PassInfoEb section in lib/libLLVMCore.a(PassRegistry.cpp.o)
Debugify.cpp:(.text.startup._Z41__static_initialization_and_destruction_0v+0x640): relocation truncated to fit: R_AARCH64_CALL26 against symbol `llvm::PassRegistry::getPassRegistry()' defined in .text._ZN4llvm12PassRegistry15getPassRegistryEv section in lib/libLLVMCore.a(PassRegistry.cpp.o)
Debugify.cpp:(.text.startup._Z41__static_initialization_and_destruction_0v+0x654): relocation truncated to fit: R_AARCH64_CALL26 against symbol `llvm::PassRegistry::registerPass(llvm::PassInfo const&, bool)' defined in .text._ZN4llvm12PassRegistry12registerPassERKNS_8PassInfoEb section in lib/libLLVMCore.a(PassRegistry.cpp.o)
Debugify.cpp:(.text.startup._Z41__static_initialization_and_destruction_0v+0x690): relocation truncated to fit: R_AARCH64_CALL26 against symbol `llvm::PassRegistry::getPassRegistry()' defined in .text._ZN4llvm12PassRegistry15getPassRegistryEv section in lib/libLLVMCore.a(PassRegistry.cpp.o)
Debugify.cpp:(.text.startup._Z41__static_initialization_and_destruction_0v+0x6a4): relocation truncated to fit: R_AARCH64_CALL26 against symbol `llvm::PassRegistry::registerPass(llvm::PassInfo const&, bool)' defined in .text._ZN4llvm12PassRegistry12registerPassERKNS_8PassInfoEb section in lib/libLLVMCore.a(PassRegistry.cpp.o)
Debugify.cpp:(.text.startup._Z41__static_initialization_and_destruction_0v+0x6e4): relocation truncated to fit: R_AARCH64_CALL26 against symbol `llvm::PassRegistry::getPassRegistry()' defined in .text._ZN4llvm12PassRegistry15getPassRegistryEv section in lib/libLLVMCore.a(PassRegistry.cpp.o)
Debugify.cpp:(.text.startup._Z41__static_initialization_and_destruction_0v+0x72c): relocation truncated to fit: R_AARCH64_JUMP26 against symbol `llvm::PassRegistry::registerPass(llvm::PassInfo const&, bool)' defined in .text._ZN4llvm12PassRegistry12registerPassERKNS_8PassInfoEb section in lib/libLLVMCore.a(PassRegistry.cpp.o)
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

```

it has been failing for a few days at least

ubuntu arm64 questing

Contributor guide

Open the contributing guide

Research direction

Start with the linked Jenkins log and the failing arm64 Questing build, then inspect tools/flang/tools/flang-driver/driver.cpp and the reported ScopDetection.cpp and Debugify.cpp link failures. Reproduce the Ninja build and trace the R_AARCH64_CALL26/JUMP26 errors; done means the arm64 build completes without these relocation failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux, ubuntu
Domain
build-system, compilers, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.