llvm-project/lld/test/ELF/linkerscript/memory-no-sections.test
Fangrui Song 07e2300a8c [ELF,test] Specify image base to make -Ttext/--section-start tests less sensitive
Many tests specify -Ttext, -Tdata, or --section-start without SECTIONS
commands. When the specified address is lower than the image base,

* In the default --ro-segment case, there will be a read-only PT_LOAD segment covering ELF header/program headers, which may cover no section (as many tests omit .rodata). This appears unusual and has non-ascending p_vaddr.
* In the --no-rosegment case, an `error: output file too large` occurs.

We will add a diagnostic (#140187) and possibly change layout. Add
--image-base to make these tests less sensitive.
2025-05-16 23:57:44 -07:00

27 lines
549 B
Plaintext

REQUIRES: x86
## Check that we respect MEMORY commands in linker scripts without
## SECTIONS commands.
RUN: split-file %s %ts
RUN: llvm-mc -filetype=obj -triple=x86_64 %ts/asm.s -o %t.o
RUN: ld.lld -o %t --image-base=0 -T %ts/script %t.o
RUN: llvm-readelf -S %t | FileCheck %s
CHECK: .text PROGBITS 0000000000001000
CHECK: .data PROGBITS 0000000010000000
#--- script
MEMORY {
flash (rx!w): org = 0x1000, len = 0x3000
ram (rwx): org = 0x10000000, len = 0x1000
}
#--- asm.s
.text
.byte 1
.data
.byte 2