Stephen Hines | 2d1fdb2 | 2014-05-28 23:58:16 -0700 | [diff] [blame] | 1 | //===-- sanitizer_mac.h -----------------------------------------*- C++ -*-===// |
| 2 | // |
| 3 | // The LLVM Compiler Infrastructure |
| 4 | // |
| 5 | // This file is distributed under the University of Illinois Open Source |
| 6 | // License. See LICENSE.TXT for details. |
| 7 | // |
| 8 | //===----------------------------------------------------------------------===// |
| 9 | // |
| 10 | // This file is shared between various sanitizers' runtime libraries and |
| 11 | // provides definitions for OSX-specific functions. |
| 12 | //===----------------------------------------------------------------------===// |
| 13 | #ifndef SANITIZER_MAC_H |
| 14 | #define SANITIZER_MAC_H |
| 15 | |
Pirama Arumuga Nainar | 799172d | 2016-03-03 15:50:30 -0800 | [diff] [blame^] | 16 | #include "sanitizer_common.h" |
Stephen Hines | 2d1fdb2 | 2014-05-28 23:58:16 -0700 | [diff] [blame] | 17 | #include "sanitizer_platform.h" |
| 18 | #if SANITIZER_MAC |
Pirama Arumuga Nainar | 259f706 | 2015-05-06 11:49:53 -0700 | [diff] [blame] | 19 | #include "sanitizer_posix.h" |
Stephen Hines | 2d1fdb2 | 2014-05-28 23:58:16 -0700 | [diff] [blame] | 20 | |
| 21 | namespace __sanitizer { |
| 22 | |
| 23 | enum MacosVersion { |
| 24 | MACOS_VERSION_UNINITIALIZED = 0, |
| 25 | MACOS_VERSION_UNKNOWN, |
| 26 | MACOS_VERSION_LEOPARD, |
| 27 | MACOS_VERSION_SNOW_LEOPARD, |
| 28 | MACOS_VERSION_LION, |
| 29 | MACOS_VERSION_MOUNTAIN_LION, |
Stephen Hines | 6d18623 | 2014-11-26 17:56:19 -0800 | [diff] [blame] | 30 | MACOS_VERSION_MAVERICKS, |
| 31 | MACOS_VERSION_YOSEMITE, |
Stephen Hines | 86277eb | 2015-03-23 12:06:32 -0700 | [diff] [blame] | 32 | MACOS_VERSION_UNKNOWN_NEWER |
Stephen Hines | 2d1fdb2 | 2014-05-28 23:58:16 -0700 | [diff] [blame] | 33 | }; |
| 34 | |
| 35 | MacosVersion GetMacosVersion(); |
| 36 | |
Pirama Arumuga Nainar | 799172d | 2016-03-03 15:50:30 -0800 | [diff] [blame^] | 37 | char **GetEnviron(); |
| 38 | |
Stephen Hines | 2d1fdb2 | 2014-05-28 23:58:16 -0700 | [diff] [blame] | 39 | } // namespace __sanitizer |
| 40 | |
Pirama Arumuga Nainar | 799172d | 2016-03-03 15:50:30 -0800 | [diff] [blame^] | 41 | extern "C" { |
| 42 | static char __crashreporter_info_buff__[kErrorMessageBufferSize] = {}; |
| 43 | static const char *__crashreporter_info__ __attribute__((__used__)) = |
| 44 | &__crashreporter_info_buff__[0]; |
| 45 | asm(".desc ___crashreporter_info__, 0x10"); |
| 46 | } // extern "C" |
| 47 | |
| 48 | INLINE void CRSetCrashLogMessage(const char *msg) { |
| 49 | internal_strlcpy(__crashreporter_info_buff__, msg, |
| 50 | sizeof(__crashreporter_info_buff__)); } |
| 51 | |
Stephen Hines | 2d1fdb2 | 2014-05-28 23:58:16 -0700 | [diff] [blame] | 52 | #endif // SANITIZER_MAC |
| 53 | #endif // SANITIZER_MAC_H |