[compiler-rt] r183898 - tsan: fix Windows Go crash
Dmitry Vyukov
dvyukov at google.com
Thu Jun 13 03:15:45 PDT 2013
Author: dvyukov
Date: Thu Jun 13 05:15:44 2013
New Revision: 183898
URL: http://llvm.org/viewvc/llvm-project?rev=183898&view=rev
Log:
tsan: fix Windows Go crash
Modified:
compiler-rt/trunk/lib/tsan/rtl/tsan_rtl.cc
Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_rtl.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_rtl.cc?rev=183898&r1=183897&r2=183898&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/rtl/tsan_rtl.cc (original)
+++ compiler-rt/trunk/lib/tsan/rtl/tsan_rtl.cc Thu Jun 13 05:15:44 2013
@@ -556,7 +556,9 @@ static void MemoryRangeSet(ThreadState *
// Don't want to touch lots of shadow memory.
// If a program maps 10MB stack, there is no need reset the whole range.
size = (size + (kShadowCell - 1)) & ~(kShadowCell - 1);
- if (size < 64*1024) {
+ // UnmapOrDie/MmapFixedNoReserve does not work on Windows,
+ // so we do it only for C/C++.
+ if (kGoMode || size < 64*1024) {
u64 *p = (u64*)MemToShadow(addr);
CHECK(IsShadowMem((uptr)p));
CHECK(IsShadowMem((uptr)(p + size * kShadowCnt / kShadowCell - 1)));
More information about the llvm-commits
mailing list