qualcomm/eld
[GNUIncompatibility] eld errors out if a memory region is not assigned to an output section
开放
#339 创建于 2025年8月18日
gnu-incompatibilitygood first issue
仓库指标
- 星标
- (254 个星标)
- PR 合并指标
- (PR 指标待抓取)
描述
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