qualcomm/eld
[GNUIncompatibility] eld errors out if a memory region is not assigned to an output section
Aperta
#339 aperta il 18 ago 2025
gnu-incompatibilitygood first issue
Metriche repository
- Star
- (254 stelle)
- Metriche merge PR
- (Metriche PR in attesa)
Descrizione
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