1 //===-- asan_mac.h ----------------------------------------------*- C++ -*-===//
3 // This file is distributed under the University of Illinois Open Source
4 // License. See LICENSE.TXT for details.
6 //===----------------------------------------------------------------------===//
8 // This file is a part of AddressSanitizer, an address sanity checker.
10 // Mac-specific ASan definitions.
11 //===----------------------------------------------------------------------===//
15 // CF_RC_BITS, the layout of CFRuntimeBase and __CFStrIsConstant are internal
16 // and subject to change in further CoreFoundation versions. Apple does not
17 // guarantee any binary compatibility from release to release.
19 // See http://opensource.apple.com/source/CF/CF-635.15/CFInternal.h
20 #if defined(__BIG_ENDIAN__)
24 #if defined(__LITTLE_ENDIAN__)
28 // See http://opensource.apple.com/source/CF/CF-635.15/CFRuntime.h
29 typedef struct __CFRuntimeBase
{
38 MACOS_VERSION_UNINITIALIZED
= 0,
39 MACOS_VERSION_UNKNOWN
,
40 MACOS_VERSION_LEOPARD
,
41 MACOS_VERSION_SNOW_LEOPARD
,
43 MACOS_VERSION_MOUNTAIN_LION
,
44 MACOS_VERSION_MAVERICKS
47 // Used by asan_malloc_mac.cc and asan_mac.cc
48 extern "C" void __CFInitialize();
52 MacosVersion
GetMacosVersion();
53 void MaybeReplaceCFAllocator();