svn commit: r327158 - in vendor/lld/dist: ELF test/ELF/linkerscript
Dimitry Andric
dim at FreeBSD.org
Sun Dec 24 14:05:18 UTC 2017
Author: dim
Date: Sun Dec 24 14:05:16 2017
New Revision: 327158
URL: https://svnweb.freebsd.org/changeset/base/327158
Log:
Vendor import of lld trunk r321426:
https://llvm.org/svn/llvm-project/lld/trunk@321426
Modified:
vendor/lld/dist/ELF/LinkerScript.cpp
vendor/lld/dist/test/ELF/linkerscript/data-commands.s
Modified: vendor/lld/dist/ELF/LinkerScript.cpp
==============================================================================
--- vendor/lld/dist/ELF/LinkerScript.cpp Sun Dec 24 14:05:12 2017 (r327157)
+++ vendor/lld/dist/ELF/LinkerScript.cpp Sun Dec 24 14:05:16 2017 (r327158)
@@ -693,6 +693,8 @@ void LinkerScript::assignOffsets(OutputSection *Sec) {
if (auto *Cmd = dyn_cast<ByteCommand>(Base)) {
Cmd->Offset = Dot - Ctx->OutSec->Addr;
Dot += Cmd->Size;
+ if (Ctx->MemRegion)
+ Ctx->MemRegionOffset[Ctx->MemRegion] += Cmd->Size;
Ctx->OutSec->Size = Dot - Ctx->OutSec->Addr;
continue;
}
Modified: vendor/lld/dist/test/ELF/linkerscript/data-commands.s
==============================================================================
--- vendor/lld/dist/test/ELF/linkerscript/data-commands.s Sun Dec 24 14:05:12 2017 (r327157)
+++ vendor/lld/dist/test/ELF/linkerscript/data-commands.s Sun Dec 24 14:05:16 2017 (r327158)
@@ -44,6 +44,42 @@
# BE-NEXT: ff12ff11 22ff1122 3346ff11 22334455
# BE-NEXT: 667788
+# RUN: echo "MEMORY { \
+# RUN: rom (rwx) : ORIGIN = 0x00, LENGTH = 2K \
+# RUN: } \
+# RUN: SECTIONS { \
+# RUN: .foo : { \
+# RUN: *(.foo.1) \
+# RUN: BYTE(0x11) \
+# RUN: *(.foo.2) \
+# RUN: SHORT(0x1122) \
+# RUN: *(.foo.3) \
+# RUN: LONG(0x11223344) \
+# RUN: *(.foo.4) \
+# RUN: QUAD(0x1122334455667788) \
+# RUN: } > rom \
+# RUN: .bar : { \
+# RUN: *(.bar.1) \
+# RUN: BYTE(a + 1) \
+# RUN: *(.bar.2) \
+# RUN: SHORT(b) \
+# RUN: *(.bar.3) \
+# RUN: LONG(c + 2) \
+# RUN: *(.bar.4) \
+# RUN: QUAD(d) \
+# RUN: } > rom \
+# RUN: }" > %t-memory.script
+# RUN: ld.lld -o %t-memory %t.o --script %t-memory.script
+# RUN: llvm-objdump -s %t-memory | FileCheck %s --check-prefix=MEM
+
+# MEM: Contents of section .foo:
+# MEM-NEXT: 0000 ff11ff22 11ff4433 2211ff88 77665544
+# MEM-NEXT: 0010 332211
+
+# MEM: Contents of section .bar:
+# MEM-NEXT: 0013 ff12ff22 11ff4633 2211ff88 77665544
+# MEM-NEXT: 0023 332211
+
.global a
a = 0x11
More information about the svn-src-all
mailing list