summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2012-11-06 13:26:57 +0000
committerDmitry Vyukov <dvyukov@google.com>2012-11-06 13:26:57 +0000
commit6da4354df86f535b479d45a4adbba31af4634f46 (patch)
tree43fb996d43b3e6613d6cb94cf85aebe7a1b00648
parenta6f123741bc4fb9793fe46ed3d7cc89f612c69fd (diff)
downloadcompiler-rt-6da4354df86f535b479d45a4adbba31af4634f46.tar.gz
tsan: add shadow mapping for windows
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@167455 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/tsan/rtl/tsan_platform.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/tsan/rtl/tsan_platform.h b/lib/tsan/rtl/tsan_platform.h
index b80b268de..26e171271 100644
--- a/lib/tsan/rtl/tsan_platform.h
+++ b/lib/tsan/rtl/tsan_platform.h
@@ -17,13 +17,17 @@
#include "tsan_rtl.h"
-#if __LP64__
+#if defined(__LP64__) || defined(_WIN64)
namespace __tsan {
#if defined(TSAN_GO)
static const uptr kLinuxAppMemBeg = 0x000000000000ULL;
static const uptr kLinuxAppMemEnd = 0x00fcffffffffULL;
+# if defined(_WIN32)
+static const uptr kLinuxShadowMsk = 0x010000000000ULL;
+# else
static const uptr kLinuxShadowMsk = 0x100000000000ULL;
+# endif
// TSAN_COMPAT_SHADOW is intended for COMPAT virtual memory layout,
// when memory addresses are of the 0x2axxxxxxxxxx form.
// The option is enabled with 'setarch x86_64 -L'.
@@ -95,7 +99,7 @@ void GetThreadStackAndTls(bool main, uptr *stk_addr, uptr *stk_size,
} // namespace __tsan
-#else // __LP64__
+#else // defined(__LP64__) || defined(_WIN64)
# error "Only 64-bit is supported"
#endif