Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1784)

Unified Diff: Source/wtf/AddressSanitizer.h

Issue 1145073002: Move AddressSanitizer.h to wtf/ (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: fix non-Oilpan compilation Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/platform/heap/blink_heap.gypi ('k') | Source/wtf/Atomics.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/wtf/AddressSanitizer.h
diff --git a/Source/wtf/AddressSanitizer.h b/Source/wtf/AddressSanitizer.h
new file mode 100644
index 0000000000000000000000000000000000000000..0427b638db700f8762816d6630ed7564227e4840
--- /dev/null
+++ b/Source/wtf/AddressSanitizer.h
@@ -0,0 +1,43 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef WTF_AddressSanitizer_h
+#define WTF_AddressSanitizer_h
+
+// TODO(sof): Add SyZyASan support?
+#if defined(ADDRESS_SANITIZER)
+#include <sanitizer/asan_interface.h>
+#else
+#define ASAN_POISON_MEMORY_REGION(addr, size) \
+ ((void)(addr), (void)(size))
+#define ASAN_UNPOISON_MEMORY_REGION(addr, size) \
+ ((void)(addr), (void)(size))
+#endif
+
+#if defined(LEAK_SANITIZER)
+#include <sanitizer/lsan_interface.h>
+#else
+#define __lsan_register_root_region(addr, size) ((void)(addr), (void)(size))
+#define __lsan_unregister_root_region(addr, size) ((void)(addr), (void)(size))
+#endif
+
+// TODO(sof): Have to handle (ADDRESS_SANITIZER && _WIN32) differently as it
+// uses both Clang (which supports the __attribute__ syntax) and CL (which doesn't)
+// as long as we use "clang-cl /fallback". This shouldn't be needed when Clang
+// handles all the code without falling back to CL.
+#if defined(ADDRESS_SANITIZER) && (!OS(WIN) || COMPILER(CLANG))
+#define NO_SANITIZE_ADDRESS __attribute__((no_sanitize_address))
+#if ENABLE(OILPAN)
+// TODO(Oilpan): a temporary annotation while lazy sweeping is phased in.
+// Remove the ENABLE(OILPAN) condition when lazy sweeping is globally enabled.
+#define NO_LAZY_SWEEP_SANITIZE_ADDRESS NO_SANITIZE_ADDRESS
+#else
+#define NO_LAZY_SWEEP_SANITIZE_ADDRESS
+#endif
+#else
+#define NO_SANITIZE_ADDRESS
+#define NO_LAZY_SWEEP_SANITIZE_ADDRESS
+#endif
+
+#endif // WTF_AddressSanitizer_h
« no previous file with comments | « Source/platform/heap/blink_heap.gypi ('k') | Source/wtf/Atomics.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698