mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-26 23:01:05 +08:00
1bfd7d06ed
mig was being invoked without any -arch argument, causing it to assume the build system’s native architecture, which would be x86_64. This is not correct for iOS device builds, which use arm64. The -arch argument must be plumbed to mig for correct behavior. When building for iOS, mig was being invoked without any -isysroot argument, causing it to use the root for the build system, which runs macOS and not iOS. The macOS SDK doesn’t include the ARM definitions needed for iOS device builds. <mach/exc.defs> and <mach/mach_exc.defs> depend on a small number of other .defs files to provide definitions of standard types. All .defs files are absent from the iOS SDK. These .defs files are borrowed from xnu and placed in third_party/xnu. An additional --include argument is added to allow mig to locate these files. Bug: crashpad:31 Change-Id: I27154310352939ebe2fb6329bbbfda701c369289 Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2159291 Reviewed-by: Justin Cohen <justincohen@chromium.org> Commit-Queue: Mark Mentovai <mark@chromium.org>
Name: XNU Short Name: xnu URL: https://opensource.apple.com/source/xnu/ URL: https://opensource.apple.com/tarballs/xnu/ Version: 6153.11.26 (from macOS 10.15.0) License: APSL 2.0 License File: APPLE_LICENSE Security Critical: no Description: XNU is the operating system kernel used on macOS and other Apple systems. Local Modifications: - EXTERNAL_HEADERS/mach-o/loader.h is present. Its #includes of <mach/machine/thread_status.h> and <architecture/byte_order.h> have been commented out as unnecessary. Note that its #includes of <mach/machine.h> and <mach/vm_prot.h> have been retained but these headers have not been provided. External headers must be made available to provide the cpu_type_t, cpu_subtype_t, and vm_prot_t types. - osfmk/mach/exc.defs and osfmk/mach/mach_exc.defs are present, to fill in for <mach/exc.defs> and <mach/mach_exc.defs> on iOS, where they are missing. The .defs files they depend on, <mach/mach_types.defs>, <mach/machine/machine_types.defs>, and <mach/std_types.defs> are also included. - Anything not listed above is omitted.