[compiler-rt] r264068 - [tsan] Disable randomized address space on linux aarch64.

Yabin Cui via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 22 12:02:15 PDT 2016


Thanks for reminding. Done in http://reviews.llvm.org/D18361

On Tue, Mar 22, 2016 at 11:46 AM, Chris Matthews <chris4000 at gmail.com>
wrote:

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


More information about the llvm-commits mailing list