commit | c9c040184a375249eb0fbc21c463319c66d0d6b5 | [log] [tgz] |
---|---|---|
author | Mark Mentovai <mark@chromium.org> | Fri Apr 17 16:43:39 2020 -0400 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Jan 19 06:51:19 2021 -0800 |
tree | 5c7949bba4f4fc019c458101b2aae0a52e89a3c3 | |
parent | 0c18d4188df9df67f81400eb91f502ca1709b49c [diff] |
ios: Provide a copy of exc.defs and run mig on it to generate exc stubs The iOS SDK doesn’t include a copy of <mach/exc.defs>. It only provides <mach/exc.h>, which is just the user-side header. To obtain declarations and implementations of the server-side stubs, a current copy of <mach/exc.defs> is added to third_party, and the mig action in util is updated to use it on iOS. The three other mig subsystems that Crashpad uses are not brought to iOS: - mach_exc is identical to exc except it always uses 64-bit quantities for addresses in place of exc’s use of quantiies sized for native pointers. Because all iOS work is limited to a single process, there is no need to consider cross-process operation with variable bitness, so mach_exc is unnecessary. We’re also only targeting 64-bit for iOS, so exc will always suffice. This follows the spirit of other mach_-prefixed routines on iOS, where Apple forbids mach_vm_read to user applications but permits vm_read. - notify is primarily used on macOS in the Crashpad handler process to receive a no-senders notification, which is used to trigger handler shutdown when it has no more clients. This is not believed to be useful to Crashpad on iOS, which is restricted to single-process operation. - child_port is a Crashpad-specific subsystem used to pass Mach rights between processes, but is similarly useless when restricted to single-process operation as on iOS. Bug: crashpad:31 Change-Id: I365e6c0a109f04884563c118a4e1ba71507551ac Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2154530 Commit-Queue: Mark Mentovai <mark@chromium.org> Reviewed-by: Justin Cohen <justincohen@chromium.org> GitOrigin-RevId: 8dbbaff2e1a5b90ba2d967a90c0cfc66a15f1f00
Crashpad is a crash-reporting system.
Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.