sanitizer_platform_interceptors.h revision 245614
1//===-- sanitizer_platform_interceptors.h -----------------------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file defines macro telling whether sanitizer tools can/should intercept
11// given library functions on a given platform.
12//
13//===----------------------------------------------------------------------===//
14
15#include "sanitizer_internal_defs.h"
16
17#if !defined(_WIN32)
18# define SI_NOT_WINDOWS 1
19#else
20# define SI_NOT_WINDOWS 0
21#endif
22
23#if defined(__linux__) && !defined(ANDROID)
24# define SI_LINUX_NOT_ANDROID 1
25#else
26# define SI_LINUX_NOT_ANDROID 0
27#endif
28
29# define SANITIZER_INTERCEPT_READ   SI_NOT_WINDOWS
30# define SANITIZER_INTERCEPT_PREAD  SI_NOT_WINDOWS
31# define SANITIZER_INTERCEPT_WRITE  SI_NOT_WINDOWS
32# define SANITIZER_INTERCEPT_PWRITE SI_NOT_WINDOWS
33
34# define SANITIZER_INTERCEPT_PREAD64 SI_LINUX_NOT_ANDROID
35# define SANITIZER_INTERCEPT_PWRITE64 SI_LINUX_NOT_ANDROID
36# define SANITIZER_INTERCEPT_PRCTL   SI_LINUX_NOT_ANDROID
37
38# define SANITIZER_INTERCEPT_SCANF 1
39