[asan] Bump the self-imposed stack limit from 128k to 256k. PowerPC64
authorJay Foad <jay.foad@gmail.com>
Tue, 6 Jan 2015 10:01:15 +0000 (10:01 +0000)
committerJay Foad <jay.foad@gmail.com>
Tue, 6 Jan 2015 10:01:15 +0000 (10:01 +0000)
Linux has 64k pages, so the old limit was only two pages. With ASLR the
initial sp might be right at the start of the second page, so the stack
will immediately grow down into the first page; and if you use all pages
of a limited stack then asan hits a kernel bug to do with how stack
guard pages are reported in /proc/self/maps:
http://lkml.iu.edu//hypermail/linux/kernel/1501.0/01025.html

We should still fix the underlying problems, but in the mean time this
patch makes the test work with 64k pages as well as it does with 4k
pages.

llvm-svn: 225261

compiler-rt/test/asan/TestCases/stack-overflow.cc

index 7542d56..d4bb747 100644 (file)
@@ -92,7 +92,7 @@ void LimitStackAndReexec(int argc, char **argv) {
   int res = getrlimit(RLIMIT_STACK, &rlim);
   assert(res == 0);
   if (rlim.rlim_cur == RLIM_INFINITY) {
-    rlim.rlim_cur = 128 * 1024;
+    rlim.rlim_cur = 256 * 1024;
     res = setrlimit(RLIMIT_STACK, &rlim);
     assert(res == 0);