sanitizer_mac.cc revision ae4d9caa4f47fa6abcd641719e9f520622940c17
1ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov//===-- sanitizer_mac.cc --------------------------------------------------===// 2ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov// 3ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov// The LLVM Compiler Infrastructure 4ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov// 5ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov// This file is distributed under the University of Illinois Open Source 6ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov// License. See LICENSE.TXT for details. 7ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov// 8ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov//===----------------------------------------------------------------------===// 9ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov// 10ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov// This file is shared between AddressSanitizer and ThreadSanitizer 11ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov// run-time libraries and implements mac-specific functions from 12ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov// sanitizer_libc.h. 13ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov//===----------------------------------------------------------------------===// 14ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov 15ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov#ifdef __APPLE__ 16ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov 17ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov#include "sanitizer_defs.h" 18ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov#include "sanitizer_libc.h" 19ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov 20ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov#include <sys/mman.h> 21ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov 22ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonovnamespace __sanitizer { 23ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov 24ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonovvoid *internal_mmap(void *addr, size_t length, int prot, int flags, 25ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov int fd, u64 offset) { 26ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov return mmap(addr, length, prot, flags, fd, offset); 27ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov} 28ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov 29ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov} // namespace __sanitizer 30ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov 31ae4d9caa4f47fa6abcd641719e9f520622940c17Alexey Samsonov#endif // __APPLE__ 32