OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef WTF_AddressSanitizer_h | 5 #include "platform/wtf/AddressSanitizer.h" |
6 #define WTF_AddressSanitizer_h | |
7 // TODO(kojii): This file will need to be renamed, because it's no more | |
8 // specific to AddressSanitizer. | |
9 | 6 |
10 #include "wtf/build_config.h" | 7 // The contents of this header was moved to platform/wtf as part of |
11 | 8 // WTF migration project. See the following post for details: |
12 // TODO(sof): Add SyZyASan support? | 9 // https://groups.google.com/a/chromium.org/d/msg/blink-dev/tLdAZCTlcAA/bYXVT8gY
CAAJ |
13 #if defined(ADDRESS_SANITIZER) | |
14 #include <sanitizer/asan_interface.h> | |
15 #define NO_SANITIZE_ADDRESS __attribute__((no_sanitize_address)) | |
16 #else | |
17 #define ASAN_POISON_MEMORY_REGION(addr, size) ((void)(addr), (void)(size)) | |
18 #define ASAN_UNPOISON_MEMORY_REGION(addr, size) ((void)(addr), (void)(size)) | |
19 #define NO_SANITIZE_ADDRESS | |
20 #endif | |
21 | |
22 #if defined(LEAK_SANITIZER) | |
23 #include <sanitizer/lsan_interface.h> | |
24 #else | |
25 #define __lsan_register_root_region(addr, size) ((void)(addr), (void)(size)) | |
26 #define __lsan_unregister_root_region(addr, size) ((void)(addr), (void)(size)) | |
27 #endif | |
28 | |
29 #if defined(MEMORY_SANITIZER) | |
30 #include <sanitizer/msan_interface.h> | |
31 #define NO_SANITIZE_MEMORY __attribute__((no_sanitize_memory)) | |
32 #else | |
33 #define NO_SANITIZE_MEMORY | |
34 #endif | |
35 | |
36 #if defined(THREAD_SANITIZER) | |
37 #define NO_SANITIZE_THREAD __attribute__((no_sanitize_thread)) | |
38 #else | |
39 #define NO_SANITIZE_THREAD | |
40 #endif | |
41 | |
42 #endif // WTF_AddressSanitizer_h | |
OLD | NEW |