summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEtienne Bergeron <etienneb@google.com>2016-07-07 18:41:08 +0000
committerEtienne Bergeron <etienneb@google.com>2016-07-07 18:41:08 +0000
commitfb5a24b4f03a715b23428b616df36a209941a8ec (patch)
tree6bd8d1fb0d62fca369bfdb0a3a1fb41ebe1aeeab
parent73589f321b88ff6f0896b6beb5d73c40d84ebe41 (diff)
downloadbcm5719-llvm-fb5a24b4f03a715b23428b616df36a209941a8ec.tar.gz
bcm5719-llvm-fb5a24b4f03a715b23428b616df36a209941a8ec.zip
[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
-rw-r--r--compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt7
-rw-r--r--compiler-rt/lib/sanitizer_common/tests/sanitizer_test_main.cc4
2 files changed, 7 insertions, 4 deletions
diff --git a/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt b/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
index 259c10316eb..64964a83780 100644
--- a/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
+++ b/compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
@@ -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.
diff --git a/compiler-rt/lib/sanitizer_common/tests/sanitizer_test_main.cc b/compiler-rt/lib/sanitizer_common/tests/sanitizer_test_main.cc
index 55888d487e3..20f8f53975d 100644
--- a/compiler-rt/lib/sanitizer_common/tests/sanitizer_test_main.cc
+++ b/compiler-rt/lib/sanitizer_common/tests/sanitizer_test_main.cc
@@ -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) {
OpenPOWER on IntegriCloud