mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-28 07:48:14 +08:00
3e748e9c4e
This updates (and corrects) 8dbbaff2e1a5, which added exc.defs, by adding mach_exc.defs too. The difference betwen the exc and mach_exc subsystems is that the |code| parameter is int[] in exc and int64_t[] in mach_exc. Many exceptions carry the exception address in code[1], and a 32-bit int results in the exception address being truncated in exc. No information is lost in mach_exc, where a 64-bit int64_t is used. In 8dbbaff2e1a5, I misremembered the type of the |code| parameter as a type derived from uintptr_t, such as vm_address_t, an integer as wide as a pointer. I was wrong, and mach_exc is necessary. I also noted that Apple normally forbids mach_-prefixed interfaces in favor of the prefix-less ones for the reasons I mentioned, and that, all else being equal, it was desirable to adhere to the spirit of that convention. Because neither exc nor mach_exc are available in the SDK, it’s moot from a technical perspective, as we need to provide our own stubs either way. Bug: crashpad:31 Change-Id: Ied1be470e653b2bead1a283cb8b9283d210c328d Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2159286 Reviewed-by: Justin Cohen <justincohen@chromium.org> Commit-Queue: Mark Mentovai <mark@chromium.org>