From 1ce7fccbc902779992f7d7b71944caeb4c16968d Mon Sep 17 00:00:00 2001 From: Evgeniy Stepanov Date: Thu, 27 Dec 2018 22:16:28 +0000 Subject: [PATCH] [asan] Fix build on windows. Reviewers: vitalybuka Subscribers: kubamracek, llvm-commits Differential Revision: https://reviews.llvm.org/D56111 llvm-svn: 350104 --- compiler-rt/lib/asan/asan_thread.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/compiler-rt/lib/asan/asan_thread.cc b/compiler-rt/lib/asan/asan_thread.cc index 921d023e78fe..6b4e09e6f8f3 100644 --- a/compiler-rt/lib/asan/asan_thread.cc +++ b/compiler-rt/lib/asan/asan_thread.cc @@ -285,13 +285,21 @@ AsanThread *CreateMainThread() { return main_thread; } +static bool StackLimitsAreAvailable() { +#if SANITIZER_WINDOWS + return true; +#else + return MemoryMappingLayout::IsAvailable(); +#endif +} + // This implementation doesn't use the argument, which is just passed down // from the caller of Init (which see, above). It's only there to support // OS-specific implementations that need more information passed through. void AsanThread::SetThreadStackAndTls(const InitOptions *options) { DCHECK_EQ(options, nullptr); // If this process is "init" (pid 1), /proc may not be mounted yet. - if (!start_routine_ && !MemoryMappingLayout::IsAvailable()) { + if (!start_routine_ && !StackLimitsAreAvailable()) { stack_top_ = stack_bottom_ = 0; tls_begin_ = tls_end_ = 0; } else {