Files
clang-p2996/lld/test/ELF/linkerscript/memory-data-commands.test
George Rimar 97785af464 [ELF] - Report error when memory region is overflowed by data commands.
LLD can not catch a memory area overflow when using a data command.
If we have the script below:

.foo : 
{
  *(.foo)
  BYTE(0x1)
} > ram

where BYTE overflows the ram region, we do not report it currently.
Patch fixes that.

Differential revision: https://reviews.llvm.org/D43948

llvm-svn: 326545
2018-03-02 08:11:58 +00:00

23 lines
548 B
Plaintext

# REQUIRES: x86
# RUN: echo ".section .foo,\"a\"" > %t.s
# RUN: echo ".quad 1" >> %t.s
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %t.s -o %t.o
# RUN: not ld.lld -o %t %t.o --script %s 2>&1 | FileCheck %s
# Check we are able to catch 'ram' overflow caused by BYTE command.
# CHECK: error: section '.foo' will not fit in region 'ram': overflowed by 1 bytes
MEMORY {
text (rwx): org = 0x0, len = 0x1000
ram (rwx): org = 0x1000, len = 8
}
SECTIONS {
.text : { *(.text) } > text
.foo : {
*(.foo)
BYTE(0x1)
} > ram
}