1 //===-- asan_mac.h ----------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file is a part of AddressSanitizer, an address sanity checker.
12 // Mac-specific ASan definitions.
13 //===----------------------------------------------------------------------===//
17 // CF_RC_BITS, the layout of CFRuntimeBase and __CFStrIsConstant are internal
18 // and subject to change in further CoreFoundation versions. Apple does not
19 // guarantee any binary compatibility from release to release.
21 // See http://opensource.apple.com/source/CF/CF-635.15/CFInternal.h
22 #if defined(__BIG_ENDIAN__)
26 #if defined(__LITTLE_ENDIAN__)
30 // See http://opensource.apple.com/source/CF/CF-635.15/CFRuntime.h
31 typedef struct __CFRuntimeBase
{
40 MACOS_VERSION_UNKNOWN
= 0,
41 MACOS_VERSION_LEOPARD
,
42 MACOS_VERSION_SNOW_LEOPARD
,
46 // Used by asan_malloc_mac.cc and asan_mac.cc
47 extern "C" void __CFInitialize();
51 int GetMacosVersion();
52 void ReplaceCFAllocator();