Date: Sun, 24 Dec 2017 14:05:16 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r327158 - in vendor/lld/dist: ELF test/ELF/linkerscript Message-ID: <201712241405.vBOE5GLb007500@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201712241405.vBOE5GLb007500>