[llvm-commits] [compiler-rt] r157249 - in /compiler-rt/trunk/lib/asan: asan_linux.cc asan_thread.h

Dmitry Vyukov dvyukov at google.com
Tue May 22 23:15:50 PDT 2012


On Wed, May 23, 2012 at 8:53 AM, Nick Lewycky <nicholas at mxc.ca> wrote:

> Kostya Serebryany wrote:
> > Author: kcc
> > Date: Tue May 22 06:54:44 2012
> > New Revision: 157249
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=157249&view=rev
> > Log:
> > [asan] increase the stack size limit to 256M (yes, that happens); also
> CHECK that the stack size is less than that on a non-main thread
> >
> > Modified:
> >      compiler-rt/trunk/lib/asan/asan_linux.cc
> >      compiler-rt/trunk/lib/asan/asan_thread.h
> >
> > Modified: compiler-rt/trunk/lib/asan/asan_linux.cc
> > URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_linux.cc?rev=157249&r1=157248&r2=157249&view=diff
> >
> ==============================================================================
> > --- compiler-rt/trunk/lib/asan/asan_linux.cc (original)
> > +++ compiler-rt/trunk/lib/asan/asan_linux.cc Tue May 22 06:54:44 2012
> > @@ -39,6 +39,8 @@
> >
> >   namespace __asan {
> >
> > +const size_t kMaxThreadStackSize = 256 * (1<<  20);  // 256M
> > +
> >   void *AsanDoesNotSupportStaticLinkage() {
> >     // This will fail to link with -static.
> >     return&_DYNAMIC;  // defined in link.h
> > @@ -294,6 +296,9 @@
> >       size_t stacksize = rl.rlim_cur;
> >       if (stacksize>  end - prev_end)
> >         stacksize = end - prev_end;
> > +    // When running with unlimited stack size, we still want to set
> some limit.
> > +    // The unlimited stack size is caused by 'ulimit -s unlimited'.
> > +    // Also, for some reason, GNU make spawns subrocesses with
> unlimited stack.
>
> Typo in 'subreocesses'.
>
>
Thanks. Done.



> >       if (stacksize>  kMaxThreadStackSize)
> >         stacksize = kMaxThreadStackSize;
> >       stack_top_ = end;
> > @@ -310,12 +315,7 @@
> >
> >     stack_top_ = (uintptr_t)stackaddr + stacksize;
> >     stack_bottom_ = (uintptr_t)stackaddr;
> > -  // When running with unlimited stack size, we still want to set some
> limit.
> > -  // The unlimited stack size is caused by 'ulimit -s unlimited'.
> > -  // Also, for some reason, GNU make spawns subrocesses with unlimited
> stack.
> > -  if (stacksize>  kMaxThreadStackSize) {
> > -    stack_bottom_ = stack_top_ - kMaxThreadStackSize;
> > -  }
> > +  CHECK(stacksize<  kMaxThreadStackSize);  // Sanity check.
> >     CHECK(AddrIsInStack((uintptr_t)&attr));
> >   }
> >
> >
> > Modified: compiler-rt/trunk/lib/asan/asan_thread.h
> > URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_thread.h?rev=157249&r1=157248&r2=157249&view=diff
> >
> ==============================================================================
> > --- compiler-rt/trunk/lib/asan/asan_thread.h (original)
> > +++ compiler-rt/trunk/lib/asan/asan_thread.h Tue May 22 06:54:44 2012
> > @@ -21,8 +21,6 @@
> >
> >   namespace __asan {
> >
> > -const size_t kMaxThreadStackSize = 16 * (1<<  20);  // 16M
> > -
> >   class AsanThread;
> >
> >   // These objects are created for every thread and are never deleted,
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> >
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120523/be465860/attachment.html>


More information about the llvm-commits mailing list