<div dir="ltr">Thanks for reminding. Done in <a href="http://reviews.llvm.org/D18361">http://reviews.llvm.org/D18361</a></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 22, 2016 at 11:46 AM, Chris Matthews <span dir="ltr"><<a href="mailto:chris4000@gmail.com" target="_blank">chris4000@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Yabin,<br>
<br>
It looks like this commit broke a lint check.  Can you take a look?  Thanks<br>
<br>
<a href="http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA_check/10829/consoleFull#1178388211a1ca8a51-895e-46c6-af87-ce24fa4cd561" rel="noreferrer" target="_blank">http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA_check/10829/consoleFull#1178388211a1ca8a51-895e-46c6-af87-ce24fa4cd561</a><br>
<div class="HOEnZb"><div class="h5"><br>
> On Mar 22, 2016, at 10:16 AM, Yabin Cui via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
><br>
> Author: yabinc<br>
> Date: Tue Mar 22 12:16:26 2016<br>
> New Revision: 264068<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=264068&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=264068&view=rev</a><br>
> Log:<br>
> [tsan] Disable randomized address space on linux aarch64.<br>
><br>
> Summary:<br>
> After patch <a href="https://lkml.org/lkml/2015/12/21/340" rel="noreferrer" target="_blank">https://lkml.org/lkml/2015/12/21/340</a> is introduced in<br>
> linux kernel, the random gap between stack and heap is increased<br>
> from 128M to 36G on 39-bit aarch64. And it is almost impossible<br>
> to cover this big range. So I think we need to disable randomized<br>
> virtual space on aarch64 linux.<br>
><br>
> Reviewers: kcc, llvm-commits, eugenis, zatrazz, dvyukov, rengolin<br>
><br>
> Subscribers: rengolin, aemerson, tberghammer, danalbert, srhines, enh<br>
><br>
> Differential Revision: <a href="http://reviews.llvm.org/D18003" rel="noreferrer" target="_blank">http://reviews.llvm.org/D18003</a><br>
><br>
> Modified:<br>
>    compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cc<br>
><br>
> Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cc<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cc?rev=264068&r1=264067&r2=264068&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cc?rev=264068&r1=264067&r2=264068&view=diff</a><br>
> ==============================================================================<br>
> --- compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cc (original)<br>
> +++ compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cc Tue Mar 22 12:16:26 2016<br>
> @@ -36,6 +36,7 @@<br>
> #include <string.h><br>
> #include <stdarg.h><br>
> #include <sys/mman.h><br>
> +#include <sys/personality.h><br>
> #include <sys/syscall.h><br>
> #include <sys/socket.h><br>
> #include <sys/time.h><br>
> @@ -291,6 +292,20 @@ void InitializePlatform() {<br>
>       SetAddressSpaceUnlimited();<br>
>       reexec = true;<br>
>     }<br>
> +    // After patch "arm64: mm: support ARCH_MMAP_RND_BITS." is introduced in<br>
> +    // linux kernel, the random gap between stack and mapped area is increased<br>
> +    // from 128M to 36G on 39-bit aarch64. As it is almost impossible to cover<br>
> +    // this big range, we should disable randomized virtual space on aarch64.<br>
> +#if defined(__aarch64__)<br>
> +    int old_personality = personality(0xffffffff);<br>
> +    if (old_personality != -1 && (old_personality & ADDR_NO_RANDOMIZE) == 0) {<br>
> +      Report("WARNING: Program is run with randomized virtual address space,"<br>
> +             " which wouldn't work with ThreadSanitizer.\n");<br>
> +      Report("Re-execing with fixed virtual address space.\n");<br>
> +      CHECK(personality(old_personality | ADDR_NO_RANDOMIZE) != -1);<br>
> +      reexec = true;<br>
> +    }<br>
> +#endif<br>
>     if (reexec)<br>
>       ReExec();<br>
>   }<br>
><br>
><br>
> _______________________________________________<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/mailman/listinfo/llvm-commits</a><br>
<br>
</div></div></blockquote></div><br></div>