Chromium Code Reviews| Index: util/mach/mach_extensions.cc |
| diff --git a/util/mach/mach_extensions.cc b/util/mach/mach_extensions.cc |
| index 63aae31d9ce92253c1df8b6a9bc2a265f3ba14e6..00d885d78254ea9cabe728087af520620b81a6ae 100644 |
| --- a/util/mach/mach_extensions.cc |
| +++ b/util/mach/mach_extensions.cc |
| @@ -44,18 +44,24 @@ exception_mask_t ExcMaskAll() { |
| // xnu-2422.110.17/osfmk/mach/ipc_tt.c. |
| #if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_9 |
| - int mac_os_x_minor_version = MacOSXMinorVersion(); |
| + const int mac_os_x_minor_version = MacOSXMinorVersion(); |
| #endif |
| // See 10.6.8 xnu-1504.15.3/osfmk/mach/exception_types.h. 10.7 uses the same |
| // definition as 10.6. See 10.7.5 xnu-1699.32.7/osfmk/mach/exception_types.h |
| const exception_mask_t kExcMaskAll_10_6 = |
| - EXC_MASK_BAD_ACCESS | EXC_MASK_BAD_INSTRUCTION | EXC_MASK_ARITHMETIC | |
| - EXC_MASK_EMULATION | EXC_MASK_SOFTWARE | EXC_MASK_BREAKPOINT | |
| - EXC_MASK_SYSCALL | EXC_MASK_MACH_SYSCALL | EXC_MASK_RPC_ALERT | |
| + EXC_MASK_BAD_ACCESS | |
| + EXC_MASK_BAD_INSTRUCTION | |
| + EXC_MASK_ARITHMETIC | |
| + EXC_MASK_EMULATION | |
| + EXC_MASK_SOFTWARE | |
| + EXC_MASK_BREAKPOINT | |
| + EXC_MASK_SYSCALL | |
| + EXC_MASK_MACH_SYSCALL | |
| + EXC_MASK_RPC_ALERT | |
| EXC_MASK_MACHINE; |
| -#if MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_7 |
| - if (mac_os_x_minor_version <= 7) { |
| +#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8 |
| + if (mac_os_x_minor_version < 8) { |
| return kExcMaskAll_10_6; |
| } |
| #endif |
| @@ -64,8 +70,8 @@ exception_mask_t ExcMaskAll() { |
| // xnu-2050.48.11/osfmk/mach/exception_types.h. |
| const exception_mask_t kExcMaskAll_10_8 = |
| kExcMaskAll_10_6 | EXC_MASK_RESOURCE; |
| -#if MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_8 |
| - if (mac_os_x_minor_version <= 8) { |
| +#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_9 |
| + if (mac_os_x_minor_version < 9) { |
| return kExcMaskAll_10_8; |
| } |
| #endif |
| @@ -76,4 +82,17 @@ exception_mask_t ExcMaskAll() { |
| return kExcMaskAll_10_9; |
| } |
| +exception_mask_t ExcMaskValid() { |
| + const exception_mask_t kExcMaskValid_10_6 = ExcMaskAll() | EXC_MASK_CRASH; |
| +#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_11 |
| + if (MacOSXMinorVersion() < 11) { |
| + return kExcMaskValid_10_6; |
| + } |
| +#endif |
| + |
| + const exception_mask_t kExcMaskValid_10_11 = |
|
Robert Sesek
2015/09/04 17:29:49
Add a comment "10.11 added EXC_MASK_CORPSE_NOTIFY…
|
| + kExcMaskValid_10_6 | EXC_MASK_CORPSE_NOTIFY; |
| + return kExcMaskValid_10_11; |
| +} |
| + |
| } // namespace crashpad |