aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/libsanitizer/asan/asan_mac.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/libsanitizer/asan/asan_mac.h')
-rw-r--r--gcc-4.9/libsanitizer/asan/asan_mac.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/gcc-4.9/libsanitizer/asan/asan_mac.h b/gcc-4.9/libsanitizer/asan/asan_mac.h
new file mode 100644
index 000000000..2d1d4b0bf
--- /dev/null
+++ b/gcc-4.9/libsanitizer/asan/asan_mac.h
@@ -0,0 +1,57 @@
+//===-- asan_mac.h ----------------------------------------------*- C++ -*-===//
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file is a part of AddressSanitizer, an address sanity checker.
+//
+// Mac-specific ASan definitions.
+//===----------------------------------------------------------------------===//
+#ifndef ASAN_MAC_H
+#define ASAN_MAC_H
+
+// CF_RC_BITS, the layout of CFRuntimeBase and __CFStrIsConstant are internal
+// and subject to change in further CoreFoundation versions. Apple does not
+// guarantee any binary compatibility from release to release.
+
+// See http://opensource.apple.com/source/CF/CF-635.15/CFInternal.h
+#if defined(__BIG_ENDIAN__)
+#define CF_RC_BITS 0
+#endif
+
+#if defined(__LITTLE_ENDIAN__)
+#define CF_RC_BITS 3
+#endif
+
+// See http://opensource.apple.com/source/CF/CF-635.15/CFRuntime.h
+typedef struct __CFRuntimeBase {
+ uptr _cfisa;
+ u8 _cfinfo[4];
+#if __LP64__
+ u32 _rc;
+#endif
+} CFRuntimeBase;
+
+enum MacosVersion {
+ MACOS_VERSION_UNINITIALIZED = 0,
+ MACOS_VERSION_UNKNOWN,
+ MACOS_VERSION_LEOPARD,
+ MACOS_VERSION_SNOW_LEOPARD,
+ MACOS_VERSION_LION,
+ MACOS_VERSION_MOUNTAIN_LION,
+ MACOS_VERSION_MAVERICKS
+};
+
+// Used by asan_malloc_mac.cc and asan_mac.cc
+extern "C" void __CFInitialize();
+
+namespace __asan {
+
+MacosVersion GetMacosVersion();
+void MaybeReplaceCFAllocator();
+
+} // namespace __asan
+
+#endif // ASAN_MAC_H