//===-- asan_globals_win.h --------------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // Interface to the Windows-specific global management code. Separated into a // standalone header to allow inclusion from asan_win_dynamic_runtime_thunk, // which defines symbols that clash with other sanitizer headers. // //===----------------------------------------------------------------------===// #ifndef ASAN_GLOBALS_WIN_H #define ASAN_GLOBALS_WIN_H #if !defined(_MSC_VER) #error "this file is Windows-only, and uses MSVC pragmas" #endif #if defined(_WIN64) #define SANITIZER_SYM_PREFIX #else #define SANITIZER_SYM_PREFIX "_" #endif // Use this macro to force linking asan_globals_win.cc into the DSO. #define ASAN_LINK_GLOBALS_WIN() \ __pragma( \ comment(linker, "/include:" SANITIZER_SYM_PREFIX "__asan_dso_reg_hook")) #endif // ASAN_GLOBALS_WIN_H