<div dir="ltr">It looks like the change that we are missing on the branch is r292161. If I patch that change into the branch the basic-mips.s test passes but a number of other tests fail. Probably the right thing to do at this point is to update the test expectation, as the change does not appear to affect the correctness of the output.<div><br></div><div>From the commit message, r292161 does itself look like a bug fix, so we may want it on the branch anyway, but it isn't clear how important/feasible it is. Simon, any thoughts?</div><div><br></div><div>Peter</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 1, 2017 at 9:44 AM, Hans Wennborg <span dir="ltr"><<a href="mailto:hans@chromium.org" target="_blank">hans@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I think this might have broken the tests:<br>
<br>
<br>
FAIL: lld :: ELF/basic-mips.s (192 of 1016)<br>
******************** TEST 'lld :: ELF/basic-mips.s' FAILED ********************<br>
Script:<br>
--<br>
/work/llvm-4.0/build.release/.<wbr>/bin/llvm-mc -filetype=obj<br>
-triple=mipsel-unknown-linux<br>
/usr/local/google/work/llvm-4.<wbr>0/lld.src/test/ELF/basic-mips.<wbr>s -o<br>
/usr/local/google/work/llvm-4.<wbr>0/build.release/tools/lld/test<wbr>/ELF/Output/basic-mips.s.tmp.o<br>
/work/llvm-4.0/build.release/.<wbr>/bin/ld.lld --full-shutdown<br>
/usr/local/google/work/llvm-4.<wbr>0/build.release/tools/lld/test<wbr>/ELF/Output/basic-mips.s.tmp.o<br>
-o /usr/local/google/work/llvm-4.<wbr>0/build.release/tools/lld/test<wbr>/ELF/Output/basic-mips.s.tmp.<wbr>exe<br>
/work/llvm-4.0/build.release/.<wbr>/bin/llvm-readobj -file-headers<br>
-sections -program-headers -symbols<br>
/usr/local/google/work/llvm-4.<wbr>0/build.release/tools/lld/test<wbr>/ELF/Output/basic-mips.s.tmp.<wbr>exe<br>
   | /work/llvm-4.0/build.release/.<wbr>/bin/FileCheck<br>
/usr/local/google/work/llvm-4.<wbr>0/lld.src/test/ELF/basic-mips.<wbr>s<br>
--<br>
Exit Code: 1<br>
<br>
Command Output (stderr):<br>
--<br>
/usr/local/google/work/llvm-4.<wbr>0/lld.src/test/ELF/basic-mips.<wbr>s:300:15:<br>
error: expected string not found in input<br>
# CHECK-NEXT: MemSize: 65536<br>
              ^<br>
<stdin>:292:2: note: scanning from here<br>
 MemSize: 4096<br>
 ^<br>
<br>
<br>
I suppose the test just needs to be updated, but I can't see where<br>
this happened on trunk.<br>
<br>
Should we just update the test, or is there some fix that needs to be merged?<br>
<br>
Thanks,<br>
Hans<br>
<div class="m_9201918664474819673HOEnZb"><div class="m_9201918664474819673h5"><br>
<br>
<br>
On Tue, Jan 31, 2017 at 10:38 AM, Peter Collingbourne via llvm-commits<br>
<<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br>
> Author: pcc<br>
> Date: Tue Jan 31 12:38:56 2017<br>
> New Revision: 293674<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=293674&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject?rev=293674&view=rev</a><br>
> Log:<br>
> Port r293519 and r293529.<br>
><br>
> r293519:<br>
>     ELF: Align RELRO to the target page size rather than the max page size.<br>
><br>
>     If no bss sections appear after the relro segment, the loader will round<br>
>     the r/w segment size to the target's page size. Align the relro size in the<br>
>     same way to ensure that it does not extend past the end of the program's<br>
>     own memory region.<br>
><br>
>     Differential Revision: <a href="https://reviews.llvm.org/D29242" rel="noreferrer" target="_blank">https://reviews.llvm.org/D2924<wbr>2</a><br>
><br>
> r293529:<br>
>     Add missing aarch64 requirement.<br>
><br>
> Added:<br>
>     lld/branches/release_40/test/<wbr>ELF/aarch64-relro.s<br>
> Modified:<br>
>     lld/branches/release_40/ELF/W<wbr>riter.cpp<br>
><br>
> Modified: lld/branches/release_40/ELF/Wr<wbr>iter.cpp<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/lld/branches/release_40/ELF/Writer.cpp?rev=293674&r1=293673&r2=293674&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/lld/branches/release_40/<wbr>ELF/Writer.cpp?rev=293674&r1=<wbr>293673&r2=293674&view=diff</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- lld/branches/release_40/ELF/Wr<wbr>iter.cpp (original)<br>
> +++ lld/branches/release_40/ELF/Wr<wbr>iter.cpp Tue Jan 31 12:38:56 2017<br>
> @@ -1462,7 +1462,7 @@ template <class ELFT> void Writer<ELFT>:<br>
>        // The glibc dynamic loader rounds the size down, so we need to round up<br>
>        // to protect the last page. This is a no-op on FreeBSD which always<br>
>        // rounds up.<br>
> -      P.p_memsz = alignTo(P.p_memsz, Config->MaxPageSize);<br>
> +      P.p_memsz = alignTo(P.p_memsz, Target->PageSize);<br>
>      }<br>
><br>
>      // The TLS pointer goes after PT_TLS. At least glibc will align it,<br>
><br>
> Added: lld/branches/release_40/test/E<wbr>LF/aarch64-relro.s<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/lld/branches/release_40/test/ELF/aarch64-relro.s?rev=293674&view=auto" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-pr<wbr>oject/lld/branches/release_40/<wbr>test/ELF/aarch64-relro.s?rev=<wbr>293674&view=auto</a><br>
> ==============================<wbr>==============================<wbr>==================<br>
> --- lld/branches/release_40/test/E<wbr>LF/aarch64-relro.s (added)<br>
> +++ lld/branches/release_40/test/E<wbr>LF/aarch64-relro.s Tue Jan 31 12:38:56 2017<br>
> @@ -0,0 +1,14 @@<br>
> +# REQUIRES: aarch64<br>
> +# RUN: llvm-mc -filetype=obj -triple=aarch64-unknown-freebs<wbr>d %s -o %t<br>
> +# RUN: ld.lld %t -o %t2<br>
> +# RUN: llvm-readobj -program-headers %t2 | FileCheck %s<br>
> +<br>
> +# CHECK:      Type: PT_GNU_RELRO<br>
> +# CHECK-NEXT: Offset:<br>
> +# CHECK-NEXT: VirtualAddress:<br>
> +# CHECK-NEXT: PhysicalAddress:<br>
> +# CHECK-NEXT: FileSize:<br>
> +# CHECK-NEXT: MemSize: 4096<br>
> +<br>
> +.section .<a href="http://data.rel.ro" rel="noreferrer" target="_blank">data.rel.ro</a>,"aw",%progbits<br>
> +.byte 1<br>
><br>
><br>
> ______________________________<wbr>_________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@lists.llvm.org" target="_blank">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>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="m_9201918664474819673gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">-- <div>Peter</div></div></div>
</div></div>