qualcomm/eld
[GNUIncompatibility] eld errors out if a memory region is not assigned to an output section
Ouverte
#339 ouverte le 18 août 2025
gnu-incompatibilitygood first issue
Métriques du dépôt
- Stars
- (254 étoiles)
- Métriques de merge PR
- (Métriques PR en attente)
Description
eld errors out if a memory region is not assigned to an output section, but bfd does not.
Reproducer:
#!/usr/bin/env bash
cat >1.c <<\EOF
int foo() { return 11; }
EOF
cat >script.t <<\EOF
MEMORY {
RAM : ORIGIN = 0x1000, LENGTH = 0x1000
}
SECTIONS {
.foo : { *(.text.foo) } >RAM
.text : { *(.text*) }
}
EOF
LDs=("ld.eld -m elf64lriscv")
SFs=(eld)
clang -o 1.o -target riscv64 1.c -c
for i in "${!SFs[@]}"; do
${LDs[$i]} -o 1.${SFs[$i]}.out 1.o -T script.t # eld errors out with 'No memory region assigned to section .text'
# bfd links without any warning / error.
done