<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>