<div dir="ltr">I do not have commit access.<div><br></div><div>Thanks,</div><div>Owen</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 22, 2017 at 8:58 AM, Rafael Avila de Espindola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">LGTM.<br>
<br>
Do you have commit access?<br>
<br>
Thanks,<br>
Rafael<br>
<br>
Owen Shaw via Phabricator via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>><br>
writes:<br>
<div><div class="h5"><br>
> owenpshaw updated this revision to Diff 127910.<br>
> owenpshaw removed a reviewer: lld.<br>
> owenpshaw added a comment.<br>
><br>
> Thanks for the help!<br>
><br>
> Updated the patch with suggested changes to braces.<br>
><br>
><br>
> <a href="https://reviews.llvm.org/D41459" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D41459</a><br>
><br>
> Files:<br>
> ELF/LinkerScript.cpp<br>
> test/ELF/linkerscript/data-<wbr>commands.s<br>
><br>
><br>
> Index: test/ELF/linkerscript/data-<wbr>commands.s<br>
> ==============================<wbr>==============================<wbr>=======<br>
> --- test/ELF/linkerscript/data-<wbr>commands.s<br>
> +++ test/ELF/linkerscript/data-<wbr>commands.s<br>
> @@ -44,6 +44,42 @@<br>
> # BE-NEXT: ff12ff11 22ff1122 3346ff11 22334455<br>
> # BE-NEXT: 667788<br>
><br>
> +# RUN: echo "MEMORY { \<br>
> +# RUN: rom (rwx) : ORIGIN = 0x00, LENGTH = 2K \<br>
> +# RUN: } \<br>
> +# RUN: SECTIONS { \<br>
> +# RUN: .foo : { \<br>
> +# RUN: *(.foo.1) \<br>
> +# RUN: BYTE(0x11) \<br>
> +# RUN: *(.foo.2) \<br>
> +# RUN: SHORT(0x1122) \<br>
> +# RUN: *(.foo.3) \<br>
> +# RUN: LONG(0x11223344) \<br>
> +# RUN: *(.foo.4) \<br>
> +# RUN: QUAD(0x1122334455667788) \<br>
> +# RUN: } > rom \<br>
> +# RUN: .bar : { \<br>
> +# RUN: *(.bar.1) \<br>
> +# RUN: BYTE(a + 1) \<br>
> +# RUN: *(.bar.2) \<br>
> +# RUN: SHORT(b) \<br>
> +# RUN: *(.bar.3) \<br>
> +# RUN: LONG(c + 2) \<br>
> +# RUN: *(.bar.4) \<br>
> +# RUN: QUAD(d) \<br>
> +# RUN: } > rom \<br>
> +# RUN: }" > %t-memory.script<br>
> +# RUN: ld.lld -o %t-memory %t.o --script %t-memory.script<br>
> +# RUN: llvm-objdump -s %t-memory | FileCheck %s --check-prefix=MEM<br>
> +<br>
> +# MEM: Contents of section .foo:<br>
> +# MEM-NEXT: 0000 ff11ff22 11ff4433 2211ff88 77665544<br>
> +# MEM-NEXT: 0010 332211<br>
> +<br>
> +# MEM: Contents of section .bar:<br>
> +# MEM-NEXT: 0013 ff12ff22 11ff4633 2211ff88 77665544<br>
> +# MEM-NEXT: 0023 332211<br>
> +<br>
> .global a<br>
> a = 0x11<br>
><br>
> Index: ELF/LinkerScript.cpp<br>
> ==============================<wbr>==============================<wbr>=======<br>
> --- ELF/LinkerScript.cpp<br>
> +++ ELF/LinkerScript.cpp<br>
> @@ -693,6 +693,8 @@<br>
> if (auto *Cmd = dyn_cast<ByteCommand>(Base)) {<br>
> Cmd->Offset = Dot - Ctx->OutSec->Addr;<br>
> Dot += Cmd->Size;<br>
> + if (Ctx->MemRegion)<br>
> + Ctx->MemRegionOffset[Ctx-><wbr>MemRegion] += Cmd->Size;<br>
> Ctx->OutSec->Size = Dot - Ctx->OutSec->Addr;<br>
> continue;<br>
> }<br>
><br>
><br>
> Index: test/ELF/linkerscript/data-<wbr>commands.s<br>
> ==============================<wbr>==============================<wbr>=======<br>
> --- test/ELF/linkerscript/data-<wbr>commands.s<br>
> +++ test/ELF/linkerscript/data-<wbr>commands.s<br>
> @@ -44,6 +44,42 @@<br>
> # BE-NEXT: ff12ff11 22ff1122 3346ff11 22334455<br>
> # BE-NEXT: 667788<br>
><br>
> +# RUN: echo "MEMORY { \<br>
> +# RUN: rom (rwx) : ORIGIN = 0x00, LENGTH = 2K \<br>
> +# RUN: } \<br>
> +# RUN: SECTIONS { \<br>
> +# RUN: .foo : { \<br>
> +# RUN: *(.foo.1) \<br>
> +# RUN: BYTE(0x11) \<br>
> +# RUN: *(.foo.2) \<br>
> +# RUN: SHORT(0x1122) \<br>
> +# RUN: *(.foo.3) \<br>
> +# RUN: LONG(0x11223344) \<br>
> +# RUN: *(.foo.4) \<br>
> +# RUN: QUAD(0x1122334455667788) \<br>
> +# RUN: } > rom \<br>
> +# RUN: .bar : { \<br>
> +# RUN: *(.bar.1) \<br>
> +# RUN: BYTE(a + 1) \<br>
> +# RUN: *(.bar.2) \<br>
> +# RUN: SHORT(b) \<br>
> +# RUN: *(.bar.3) \<br>
> +# RUN: LONG(c + 2) \<br>
> +# RUN: *(.bar.4) \<br>
> +# RUN: QUAD(d) \<br>
> +# RUN: } > rom \<br>
> +# RUN: }" > %t-memory.script<br>
> +# RUN: ld.lld -o %t-memory %t.o --script %t-memory.script<br>
> +# RUN: llvm-objdump -s %t-memory | FileCheck %s --check-prefix=MEM<br>
> +<br>
> +# MEM: Contents of section .foo:<br>
> +# MEM-NEXT: 0000 ff11ff22 11ff4433 2211ff88 77665544<br>
> +# MEM-NEXT: 0010 332211<br>
> +<br>
> +# MEM: Contents of section .bar:<br>
> +# MEM-NEXT: 0013 ff12ff22 11ff4633 2211ff88 77665544<br>
> +# MEM-NEXT: 0023 332211<br>
> +<br>
> .global a<br>
> a = 0x11<br>
><br>
> Index: ELF/LinkerScript.cpp<br>
> ==============================<wbr>==============================<wbr>=======<br>
> --- ELF/LinkerScript.cpp<br>
> +++ ELF/LinkerScript.cpp<br>
> @@ -693,6 +693,8 @@<br>
> if (auto *Cmd = dyn_cast<ByteCommand>(Base)) {<br>
> Cmd->Offset = Dot - Ctx->OutSec->Addr;<br>
> Dot += Cmd->Size;<br>
> + if (Ctx->MemRegion)<br>
> + Ctx->MemRegionOffset[Ctx-><wbr>MemRegion] += Cmd->Size;<br>
> Ctx->OutSec->Size = Dot - Ctx->OutSec->Addr;<br>
> continue;<br>
> }<br>
</div></div>> ______________________________<wbr>_________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>