[compiler-rt] Fix minimal stack reserved for unittest on MSVC build

Summary:
Some unittest were not able to run in 64-bit because they need more than
2MB of stack and the default allocated stack with MSVC linker is 1MB.

Reviewers: rnk

Subscribers: wang0109, chrisha, llvm-commits, kubabrecka

Differential Revision: http://reviews.llvm.org/D22101

llvm-svn: 274785
This commit is contained in:
Etienne Bergeron 2016-07-07 18:41:08 +00:00
parent 73589f321b
commit fb5a24b4f0
2 changed files with 7 additions and 4 deletions

View File

@ -78,6 +78,13 @@ if(ANDROID)
list(APPEND SANITIZER_TEST_LINK_FLAGS_COMMON -pie)
endif()
# MSVC linker is allocating 1M for the stack by default, which is not
# enough for the unittests. Some unittests require more than 2M.
# The default stack size for clang is 8M.
if(MSVC)
list(APPEND SANITIZER_TEST_LINK_FLAGS_COMMON -Wl,/STACK:0x8000000)
endif()
set(SANITIZER_TEST_LINK_LIBS)
append_list_if(COMPILER_RT_HAS_LIBLOG log SANITIZER_TEST_LINK_LIBS)
# NDK r10 requires -latomic almost always.

View File

@ -13,10 +13,6 @@
#include "gtest/gtest.h"
#include "sanitizer_common/sanitizer_flags.h"
#ifdef _MSC_VER
#pragma comment(linker, "/STACK:33554432")
#endif
const char *argv0;
int main(int argc, char **argv) {