Update Crashpad to d079df5587cdd978b06406824a6513f29cdca7cb
732768cc9df1 Upstream change from chromium
dc6dee855ec9 android: use size_t to align
eb3f371879bb mac: Update comment describing using Mach receive rights
with kqueue()
d079df5587cd android: use the correct architecture macro
Change-Id: I4da368fdc4f5c9105c8af33a1f255d76a48e25d1
Reviewed-on: https://chromium-review.googlesource.com/c/1407507
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Joshua Peraza <jperaza@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622186}
diff --git a/third_party/crashpad/README.chromium b/third_party/crashpad/README.chromium
index c549534..580d0f52 100644
--- a/third_party/crashpad/README.chromium
+++ b/third_party/crashpad/README.chromium
@@ -2,7 +2,7 @@
Short Name: crashpad
URL: https://crashpad.chromium.org/
Version: unknown
-Revision: e7895b44048166dd02824ddbb757e99eebe150bf
+Revision: d079df5587cdd978b06406824a6513f29cdca7cb
License: Apache 2.0
License File: crashpad/LICENSE
Security Critical: yes
@@ -36,4 +36,3 @@
Local Modifications:
- codereview.settings has been excluded.
- - thread_log_messages.cc (using ThreadLocalStorage::Slot instead of StaticSlot)
diff --git a/third_party/crashpad/crashpad/client/crashpad_client_linux.cc b/third_party/crashpad/crashpad/client/crashpad_client_linux.cc
index ed1d7df..556a91f 100644
--- a/third_party/crashpad/crashpad/client/crashpad_client_linux.cc
+++ b/third_party/crashpad/crashpad/client/crashpad_client_linux.cc
@@ -57,7 +57,7 @@
const std::vector<std::string>& arguments,
int socket) {
std::vector<std::string> argv;
-#if defined(ARCH_CPU_64_BIT)
+#if defined(ARCH_CPU_64_BITS)
argv.push_back("/system/bin/app_process64");
#else
argv.push_back("/system/bin/app_process32");
diff --git a/third_party/crashpad/crashpad/compat/android/sys/mman.cc b/third_party/crashpad/crashpad/compat/android/sys/mman.cc
index 4c29a9d..d890d84 100644
--- a/third_party/crashpad/crashpad/compat/android/sys/mman.cc
+++ b/third_party/crashpad/crashpad/compat/android/sys/mman.cc
@@ -35,7 +35,7 @@
namespace {
template <typename T>
-T Align(T value, uint8_t alignment) {
+T Align(T value, size_t alignment) {
return (value + alignment - 1) & ~(alignment - 1);
}
diff --git a/third_party/crashpad/crashpad/util/mach/child_port_handshake.cc b/third_party/crashpad/crashpad/util/mach/child_port_handshake.cc
index a1918c0..1891f91 100644
--- a/third_party/crashpad/crashpad/util/mach/child_port_handshake.cc
+++ b/third_party/crashpad/crashpad/util/mach/child_port_handshake.cc
@@ -126,8 +126,12 @@
return MACH_PORT_NULL;
}
- // A kqueue cannot monitor a raw Mach receive right with EVFILT_MACHPORT. It
- // requires a port set. Create a new port set and add the receive right to it.
+ // Prior to macOS 10.12, a kqueue cannot monitor a raw Mach receive right with
+ // EVFILT_MACHPORT. It requires a port set. Compare 10.11.6
+ // xnu-3248.60.10/osfmk/ipc/ipc_pset.c filt_machportattach(), which requires
+ // MACH_PORT_RIGHT_PORT_SET, to 10.12.0 xnu-3789.1.32/osfmk/ipc/ipc_pset.c
+ // filt_machportattach(), which also handles MACH_PORT_TYPE_RECEIVE. Create a
+ // new port set and add the receive right to it.
base::mac::ScopedMachPortSet server_port_set(
NewMachPort(MACH_PORT_RIGHT_PORT_SET));
CHECK(server_port_set.is_valid());