forked from OSchip/llvm-project
[ELF] - Recommit r326892,r326893 "[ELF] - Report LMA region overflows."
With fix: add missing "RUN:" prefix to test case. Original commit message: We do not report LMA region overflows currently. Both GNU linkers do that. The patch implements it. Differential revision: https://reviews.llvm.org/D44094 llvm-svn: 326895
This commit is contained in:
parent
06846c2251
commit
527bfd7a48
|
@ -117,9 +117,9 @@ void LinkerScript::expandOutputSection(uint64_t Size) {
|
|||
if (Ctx->MemRegion)
|
||||
expandMemoryRegion(Ctx->MemRegion, Size, Ctx->MemRegion->Name,
|
||||
Ctx->OutSec->Name);
|
||||
// FIXME: check LMA region overflow too.
|
||||
if (Ctx->LMARegion)
|
||||
Ctx->LMARegion->CurPos += Size;
|
||||
expandMemoryRegion(Ctx->LMARegion, Size, Ctx->LMARegion->Name,
|
||||
Ctx->OutSec->Name);
|
||||
}
|
||||
|
||||
void LinkerScript::setDot(Expr E, const Twine &Loc, bool InSec) {
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
# REQUIRES: x86
|
||||
|
||||
# RUN: echo '.section .foo,"a"; .quad 1' | llvm-mc -filetype=obj -triple=x86_64-unknown-linux - -o %t.o
|
||||
# RUN: not ld.lld -o %t %t.o --script %s 2>&1 | FileCheck %s
|
||||
# CHECK: error: section '.foo' will not fit in region 'flash': overflowed by 264 bytes
|
||||
|
||||
MEMORY {
|
||||
ram (rwx) : org = 0x1000, len = 0x300
|
||||
flash (rwx) : org = 0x1000, len = 0x100
|
||||
}
|
||||
SECTIONS {
|
||||
.foo : {
|
||||
*(.foo)
|
||||
. += 0x200;
|
||||
} > ram AT>flash
|
||||
}
|
Loading…
Reference in New Issue