sanitizer_win.cc revision 7f9c5a220b2768a450696bbd157a0e6f2e9ceea3
17f9c5a220b2768a450696bbd157a0e6f2e9ceea3Alexey Samsonov//===-- sanitizer_win.cc --------------------------------------------------===// 2c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov// 3c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov// The LLVM Compiler Infrastructure 4c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov// 5c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov// This file is distributed under the University of Illinois Open Source 6c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov// License. See LICENSE.TXT for details. 7c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov// 8c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov//===----------------------------------------------------------------------===// 9c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov// 10c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov// This file is shared between AddressSanitizer and ThreadSanitizer 11c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov// run-time libraries and implements windows-specific functions from 12c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov// sanitizer_libc.h. 13c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov//===----------------------------------------------------------------------===// 14c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov#ifdef _WIN32 15c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov#include <windows.h> 16c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov 17c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov#include <assert.h> 18c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov 19c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov#include "sanitizer_defs.h" 20c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov#include "sanitizer_libc.h" 21c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov 22c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov#define UNIMPLEMENTED_WIN() assert(false) 23c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov 24c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonovnamespace __sanitizer { 25c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov 26c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonovvoid *internal_mmap(void *addr, uptr length, int prot, int flags, 27c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov int fd, u64 offset) { 28c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov UNIMPLEMENTED_WIN(); 29c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov return 0; 30c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov} 31c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov 32c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonovfd_t internal_open(const char *filename, bool write) { 33c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov UNIMPLEMENTED_WIN(); 34c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov return 0; 35c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov} 36c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov 37c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov} // namespace __sanitizer 38c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov 39c5d465136b911bf925f2a631e2b79f1c03e8a1b0Alexey Samsonov#endif // _WIN32 40