mirror of
https://github.com/intel/llvm.git
synced 2026-01-26 03:56:16 +08:00
[LLD][ELF] - Fix bug when reporting memory intersections.
rangeToString() takes addres and length, previously it was called incorrectly. llvm-svn: 338956
This commit is contained in:
@@ -2050,7 +2050,7 @@ template <class ELFT> void Writer<ELFT>::assignFileOffsets() {
|
||||
continue;
|
||||
if ((Sec->Offset > FileSize) || (Sec->Offset + Sec->Size > FileSize))
|
||||
error("unable to place section " + Sec->Name + " at file offset " +
|
||||
rangeToString(Sec->Offset, Sec->Offset + Sec->Size) +
|
||||
rangeToString(Sec->Offset, Sec->Size) +
|
||||
"; check your linker script for overflows");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ PHDRS {
|
||||
ph_text PT_LOAD FILEHDR PHDRS FLAGS (0x1 | 0x4);
|
||||
}
|
||||
|
||||
SECTIONS {
|
||||
SECTIONS {
|
||||
. = 0xffffffff20000000;
|
||||
.text : { *(.text*) } : ph_text
|
||||
.test 0x1000 : { BYTE(0) }
|
||||
@@ -18,5 +18,5 @@ SECTIONS {
|
||||
## with VA 0xffffffff20000000. That might be technically correct, but most probably
|
||||
## is a result of a broken script file and causes file offset calculation overflow.
|
||||
## It seems we do not have to support it, so we don't and we report an error in this case.
|
||||
# ERR: error: unable to place section .text at file offset [0xFFFFFFFF20000000, 0xFFFFFFFE40000000]; check your linker script for overflows
|
||||
# ERR: error: unable to place section .text at file offset [0xFFFFFFFF20000000, 0xFFFFFFFF20000000]; check your linker script for overflows
|
||||
# ERR-NOT: unable to place section .bss
|
||||
|
||||
Reference in New Issue
Block a user