From 5c40cc35490df9879f0d90919da6ce28c4a16c42 Mon Sep 17 00:00:00 2001 From: Timur Iskhodzhanov Date: Thu, 13 Mar 2014 10:15:10 +0000 Subject: [PATCH] Disable fast shadow zero'ing on Windows llvm-svn: 203778 --- compiler-rt/lib/asan/asan_poisoning.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/compiler-rt/lib/asan/asan_poisoning.h b/compiler-rt/lib/asan/asan_poisoning.h index d79190a6ef79..63ac819513bd 100644 --- a/compiler-rt/lib/asan/asan_poisoning.h +++ b/compiler-rt/lib/asan/asan_poisoning.h @@ -39,7 +39,12 @@ ALWAYS_INLINE void FastPoisonShadow(uptr aligned_beg, uptr aligned_size, uptr shadow_beg = MEM_TO_SHADOW(aligned_beg); uptr shadow_end = MEM_TO_SHADOW( aligned_beg + aligned_size - SHADOW_GRANULARITY) + 1; + // FIXME: Page states are different on Windows, so using the same interface + // for mapping shadow and zeroing out pages doesn't "just work", so we should + // probably provide higher-level interface for these operations. + // For now, just memset on Windows. if (value || + SANITIZER_WINDOWS || shadow_end - shadow_beg < common_flags()->clear_shadow_mmap_threshold) { REAL(memset)((void*)shadow_beg, value, shadow_end - shadow_beg); } else { -- GitLab