Github messages for voidlinux
 help / color / mirror / Atom feed
From: pullmoll <pullmoll@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] [WIP] chromium: update to 89.0.4389.72
Date: Wed, 03 Mar 2021 20:56:22 +0100	[thread overview]
Message-ID: <20210303195622.oJnfCdCdyjZxEdWA5numZL0nWMpIUS8Lf7sp-pIJbmE@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-29205@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 1160 bytes --]

There is an updated pull request by pullmoll against master on the void-packages repository

https://github.com/pullmoll/void-packages chromium
https://github.com/void-linux/void-packages/pull/29205

[WIP] chromium: update to 89.0.4389.72
CVE-2021-21166

+ x86_64 patch set updated, built, tested very cursory and seems to work
+ i686 patch applies w/o change, built, cursory test in a VM
+ x86_64-musl patch set updated, built, "Aw, Snap!" in a VM
  seccomp-bpf failure in syscall 0324
+ patches/xxx-ppc64le-support.patch removed for now (already upstreamed? need to check again)
+ files/musl-paches/xxx-ppc64le-support.patch stripped down to what still applies
+ system opus disabled because the generated shim header opus.h tries to include <opus.h> and fails
+ not sure if libc_malloc.patch is ok, i.e. simply use malloc() instead of __libc_malloc().
+ more to do

[ci skip]

If you don't want to build yourself:
https://repo.voidlinux.de/x86_64/chromium-89.0.4389.72_1.x86_64.xbps
https://repo.voidlinux.de/i686/chromium-89.0.4389.72_1.i686.xbps


A patch file from https://github.com/void-linux/void-packages/pull/29205.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-chromium-29205.patch --]
[-- Type: text/x-diff, Size: 124950 bytes --]

From aff0f74fee39656e9a4bad3126e5dcbf48e71466 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Wed, 3 Mar 2021 15:06:38 +0100
Subject: [PATCH] chromium: update to 89.0.4389.72

CVE-2021-21166

[ci skip]
---
 .../default-pthread-stacksize.patch           |   4 +-
 .../files/musl-patches/musl-fixes.patch       |  40 +-
 .../files/musl-patches/musl-hacks.patch       |   4 +-
 .../files/musl-patches/musl-libc++.patch      |   6 +-
 .../musl-patches/musl-no-glibc-version.patch  |  28 ++
 .../files/musl-patches/musl-sandbox.patch     |  12 +-
 .../files/musl-patches/no-mallinfo.patch      |   6 +-
 .../files/musl-patches/resolver.patch         |   2 +-
 srcpkgs/chromium/patches/browser-size_t.patch |  10 -
 .../chromium-88-AXTreeFormatter-include.patch |  27 -
 ...ium-88-BookmarkModelObserver-include.patch |  21 -
 ...um-88-CompositorFrameReporter-dcheck.patch |  36 --
 .../chromium-88-StringPool-include.patch      |  20 -
 ...romium-88-federated_learning-include.patch |  21 -
 .../patches/chromium-88-glibc-2.33.patch      | 144 ------
 ...hromium-88-ideographicSpaceCharacter.patch |  27 -
 .../patches/chromium-88-ityp-include.patch    |  25 -
 .../patches/chromium-88-vaapi-attribute.patch |  39 --
 ...um-89-CompositorFrameReporter-dcheck.patch |  11 +
 srcpkgs/chromium/patches/libc_malloc.patch    |  23 +-
 ...remove-unsupported-compiler-warnings.patch |  26 -
 ...-v8-monotonic-pthread-cont_timedwait.patch |  24 -
 srcpkgs/chromium/patches/no-execinfo.patch    |  16 +-
 srcpkgs/chromium/patches/no-getcontext.patch  |  27 -
 srcpkgs/chromium/patches/no-std-time.patch    |  11 +
 .../chromium/patches/sandbox-membarrier.patch |  61 +--
 .../patches/xxx-ppc64le-support.patch         | 475 ++++++++----------
 srcpkgs/chromium/template                     |   8 +-
 28 files changed, 321 insertions(+), 833 deletions(-)
 create mode 100644 srcpkgs/chromium/files/musl-patches/musl-no-glibc-version.patch
 delete mode 100644 srcpkgs/chromium/patches/browser-size_t.patch
 delete mode 100644 srcpkgs/chromium/patches/chromium-88-AXTreeFormatter-include.patch
 delete mode 100644 srcpkgs/chromium/patches/chromium-88-BookmarkModelObserver-include.patch
 delete mode 100644 srcpkgs/chromium/patches/chromium-88-CompositorFrameReporter-dcheck.patch
 delete mode 100644 srcpkgs/chromium/patches/chromium-88-StringPool-include.patch
 delete mode 100644 srcpkgs/chromium/patches/chromium-88-federated_learning-include.patch
 delete mode 100644 srcpkgs/chromium/patches/chromium-88-glibc-2.33.patch
 delete mode 100644 srcpkgs/chromium/patches/chromium-88-ideographicSpaceCharacter.patch
 delete mode 100644 srcpkgs/chromium/patches/chromium-88-ityp-include.patch
 delete mode 100644 srcpkgs/chromium/patches/chromium-88-vaapi-attribute.patch
 create mode 100644 srcpkgs/chromium/patches/chromium-89-CompositorFrameReporter-dcheck.patch
 delete mode 100644 srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch
 delete mode 100644 srcpkgs/chromium/patches/musl-v8-monotonic-pthread-cont_timedwait.patch
 delete mode 100644 srcpkgs/chromium/patches/no-getcontext.patch
 create mode 100644 srcpkgs/chromium/patches/no-std-time.patch

diff --git a/srcpkgs/chromium/files/musl-patches/default-pthread-stacksize.patch b/srcpkgs/chromium/files/musl-patches/default-pthread-stacksize.patch
index 16e4d21e6ed..8bf9a3dfb34 100644
--- a/srcpkgs/chromium/files/musl-patches/default-pthread-stacksize.patch
+++ b/srcpkgs/chromium/files/musl-patches/default-pthread-stacksize.patch
@@ -1,12 +1,12 @@
 --- base/threading/platform_thread_linux.cc.orig
 +++ base/threading/platform_thread_linux.cc
-@@ -99 +99,2 @@ size_t GetDefaultThreadStackSize(const p
+@@ -440 +440,2 @@ size_t GetDefaultThreadStackSize(const p
 -  return 0;
 +  // use 8mb like glibc to avoid running out of space
 +  return (1 << 23);
 --- chrome/app/shutdown_signal_handlers_posix.cc.orig
 +++ chrome/app/shutdown_signal_handlers_posix.cc
-@@ -184,11 +184,19 @@
+@@ -187,11 +187,19 @@
    g_shutdown_pipe_read_fd = pipefd[0];
    g_shutdown_pipe_write_fd = pipefd[1];
  #if !defined(ADDRESS_SANITIZER)
diff --git a/srcpkgs/chromium/files/musl-patches/musl-fixes.patch b/srcpkgs/chromium/files/musl-patches/musl-fixes.patch
index a7832ff32e8..1f12ff8b08d 100644
--- a/srcpkgs/chromium/files/musl-patches/musl-fixes.patch
+++ b/srcpkgs/chromium/files/musl-patches/musl-fixes.patch
@@ -1,6 +1,6 @@
 --- ./third_party/lss/linux_syscall_support.h.orig
 +++ ./third_party/lss/linux_syscall_support.h
-@@ -1127,6 +1127,12 @@
+@@ -1258,6 +1258,12 @@
  #ifndef __NR_fallocate
  #define __NR_fallocate          285
  #endif
@@ -15,7 +15,7 @@
  #if _MIPS_SIM == _MIPS_SIM_ABI32
 --- ./third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h.orig
 +++ ./third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
-@@ -37,6 +37,10 @@
+@@ -38,6 +38,10 @@
  #include "common/memory.h"
  #include "google_breakpad/common/minidump_format.h"
  
@@ -28,7 +28,7 @@
  // Wraps platform-dependent implementations of accessors to ucontext_t structs.
 --- ./third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h.orig
 +++ ./third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h
-@@ -36,6 +36,7 @@
+@@ -37,6 +37,7 @@
  #include <elf.h>
  #include <link.h>
  #include <stddef.h>
@@ -38,7 +38,7 @@
  
 --- ./sandbox/linux/suid/process_util.h.orig
 +++ ./sandbox/linux/suid/process_util.h
-@@ -11,6 +11,14 @@
+@@ -12,6 +12,14 @@
  #include <stdbool.h>
  #include <sys/types.h>
  
@@ -66,7 +66,7 @@
  #if defined(__mips__)
 --- ./third_party/ffmpeg/libavutil/cpu.c.orig
 +++ ./third_party/ffmpeg/libavutil/cpu.c
-@@ -38,7 +38,6 @@
+@@ -41,7 +41,6 @@
  #include <sys/param.h>
  #endif
  #include <sys/types.h>
@@ -74,28 +74,6 @@
  #endif
  #if HAVE_UNISTD_H
  #include <unistd.h>
-diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
-+++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
-@@ -39,7 +39,9 @@
- #endif  // defined(OS_ANDROID) && defined(__arm__)
- 
- #if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(__GLIBC__)
- #include <gnu/libc-version.h>
-+#endif
- 
- #include "base/linux_util.h"
- #include "base/strings/string_split.h"
-@@ -295,7 +297,7 @@ void RecordLinuxDistro() {
- #endif  // defined(OS_LINUX) && !defined(OS_CHROMEOS)
- 
- void RecordLinuxGlibcVersion() {
--#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
-+#if defined(__GLIBC__) && !defined(OS_CHROMEOS)
-   base::Version version(gnu_get_libc_version());
- 
-   UMALinuxGlibcVersion glibc_version_result = UMA_LINUX_GLIBC_NOT_PARSEABLE;
 --- services/device/serial/serial_io_handler_posix.cc.orig	2019-07-03 10:57:32.568171835 -0400
 +++ services/device/serial/serial_io_handler_posix.cc	2019-07-03 10:57:16.867983031 -0400
 @@ -6,6 +6,7 @@
@@ -131,7 +109,7 @@ diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/incl
      base::debug::StackTrace stack_trace;
 --- ./third_party/blink/renderer/platform/wtf/stack_util.cc.orig
 +++ ./third_party/blink/renderer/platform/wtf/stack_util.cc
-@@ -28,7 +28,7 @@
+@@ -29,7 +29,7 @@
  // FIXME: On Mac OSX and Linux, this method cannot estimate stack size
  // correctly for the main thread.
  
@@ -140,7 +118,7 @@ diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/incl
      defined(OS_FUCHSIA)
    // pthread_getattr_np() can fail if the thread is not invoked by
    // pthread_create() (e.g., the main thread of blink_unittests).
-@@ -96,7 +96,7 @@
+@@ -97,7 +97,7 @@
  }
  
  void* GetStackStart() {
@@ -151,7 +129,7 @@ diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/incl
    int error;
 --- ./net/dns/dns_config_service_posix.cc.orig
 +++ ./net/dns/dns_config_service_posix.cc
-@@ -122,7 +122,7 @@
+@@ -150,7 +150,7 @@
    ConfigParsePosixResult result;
    config->unhandled_options = false;
  // TODO(fuchsia): Use res_ninit() when it's implemented on Fuchsia.
@@ -181,7 +159,7 @@ diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/incl
  
 --- third_party/nasm/nasmlib/realpath.c.orig	2019-07-03 12:23:05.021949895 -0400
 +++ third_party/nasm/nasmlib/realpath.c	2019-07-03 12:24:24.246862665 -0400
-@@ -49,7 +49,7 @@
+@@ -47,7 +47,7 @@
  
  #include "nasmlib.h"
  
diff --git a/srcpkgs/chromium/files/musl-patches/musl-hacks.patch b/srcpkgs/chromium/files/musl-patches/musl-hacks.patch
index edc1b060dfb..9276e48ab8e 100644
--- a/srcpkgs/chromium/files/musl-patches/musl-hacks.patch
+++ b/srcpkgs/chromium/files/musl-patches/musl-hacks.patch
@@ -1,6 +1,6 @@
 --- base/debug/stack_trace.cc.orig	2018-12-08 14:11:25.303475116 +0100
 +++ base/debug/stack_trace.cc	2018-12-08 18:00:43.874946999 +0100
-@@ -229,7 +229,7 @@
+@@ -225,7 +225,7 @@
  }
  std::string StackTrace::ToStringWithPrefix(const char* prefix_string) const {
    std::stringstream stream;
@@ -11,7 +11,7 @@
    return stream.str();
 --- net/socket/udp_socket_posix.cc.orig	2019-07-03 13:13:46.034342649 -0400
 +++ net/socket/udp_socket_posix.cc	2019-07-03 13:23:53.117081909 -0400
-@@ -1194,7 +1194,7 @@
+@@ -1153,7 +1153,7 @@
      msg_iov->push_back({const_cast<char*>(buffer->data()), buffer->length()});
    msgvec->reserve(buffers.size());
    for (size_t j = 0; j < buffers.size(); j++)
diff --git a/srcpkgs/chromium/files/musl-patches/musl-libc++.patch b/srcpkgs/chromium/files/musl-patches/musl-libc++.patch
index 088d80fad52..e0776823402 100644
--- a/srcpkgs/chromium/files/musl-patches/musl-libc++.patch
+++ b/srcpkgs/chromium/files/musl-patches/musl-libc++.patch
@@ -2,7 +2,7 @@ diff --git a/buildtools/third_party/libc++/trunk/include/locale b/buildtools/thi
 index d29a2dc..53998bc 100644
 --- buildtools/third_party/libc++/trunk/include/locale
 +++ buildtools/third_party/libc++/trunk/include/locale
-@@ -11,6 +11,15 @@
+@@ -10,6 +10,15 @@
  #ifndef _LIBCPP_LOCALE
  #define _LIBCPP_LOCALE
  
@@ -22,7 +22,7 @@ diff --git a/buildtools/third_party/libc++/trunk/src/locale.cpp b/buildtools/thi
 index 4163c2c..3d1902a 100644
 --- a/buildtools/third_party/libc++/trunk/src/locale.cpp
 +++ buildtools/third_party/libc++/trunk/src/locale.cpp
-@@ -1028,11 +1028,11 @@ ctype<char>::do_narrow(const char_type* low, const char_type* high, char dfault,
+@@ -1019,11 +1019,11 @@ ctype<char>::do_narrow(const char_type* low, const char_type* high, char dfault,
      return low;
  }
  
@@ -36,7 +36,7 @@ index 4163c2c..3d1902a 100644
  
  #ifdef _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE
  const ctype<char>::mask*
-@@ -1136,12 +1136,10 @@ ctype<char>::classic_table()  _NOEXCEPT
+@@ -1127,12 +1127,10 @@ ctype<char>::classic_table()  _NOEXCEPT
  #elif defined(_AIX)
      return (const unsigned int *)__lc_ctype_ptr->obj->mask;
  #else
diff --git a/srcpkgs/chromium/files/musl-patches/musl-no-glibc-version.patch b/srcpkgs/chromium/files/musl-patches/musl-no-glibc-version.patch
new file mode 100644
index 00000000000..9ffec62465c
--- /dev/null
+++ b/srcpkgs/chromium/files/musl-patches/musl-no-glibc-version.patch
@@ -0,0 +1,28 @@
+--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig	2021-03-02 18:45:03.000000000 +0100
++++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc	2021-03-03 17:39:14.944100746 +0100
+@@ -55,7 +55,9 @@
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(__GLIBC__)
+ #include <gnu/libc-version.h>
++#endif
+ 
+ #include "base/linux_util.h"
+ #include "base/strings/string_split.h"
+@@ -317,6 +319,7 @@
+ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
+ // of lacros-chrome is complete.
+ #if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
++#if defined(__GLIBC__)
+   base::Version version(gnu_get_libc_version());
+ 
+   UMALinuxGlibcVersion glibc_version_result = UMA_LINUX_GLIBC_NOT_PARSEABLE;
+@@ -338,6 +341,7 @@
+   }
+   base::UmaHistogramSparse("Linux.GlibcVersion", glibc_version_result);
+ #endif
++#endif
+ }
+ 
+ void RecordTouchEventState() {
diff --git a/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch b/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch
index 230bb7bbd29..0b98253f4d6 100644
--- a/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch
+++ b/srcpkgs/chromium/files/musl-patches/musl-sandbox.patch
@@ -1,6 +1,6 @@
 --- ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.orig	2019-07-03 11:53:21.213479736 -0400
 +++ ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc	2019-07-03 11:57:01.304998253 -0400
-@@ -140,31 +140,14 @@
+@@ -131,31 +131,14 @@
  ResultExpr RestrictCloneToThreadsAndEPERMFork() {
    const Arg<unsigned long> flags(0);
  
@@ -41,7 +41,7 @@
  
 --- ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc.orig
 +++ ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-@@ -494,6 +494,7 @@
+@@ -521,6 +521,7 @@
      case __NR_mlock:
      case __NR_munlock:
      case __NR_munmap:
@@ -49,7 +49,7 @@
        return true;
      case __NR_madvise:
      case __NR_mincore:
-@@ -509,7 +510,6 @@
+@@ -540,7 +540,6 @@
      case __NR_modify_ldt:
  #endif
      case __NR_mprotect:
@@ -61,7 +61,7 @@ diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/sandbox/linux/s
 index 80f02c0..21fbe21 100644
 --- sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
 +++ sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-@@ -373,6 +373,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
+@@ -400,6 +400,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
  #if defined(__i386__)
      case __NR_waitpid:
  #endif
@@ -69,7 +69,7 @@ index 80f02c0..21fbe21 100644
        return true;
      case __NR_clone:  // Should be parameter-restricted.
      case __NR_setns:  // Privileged.
-@@ -385,7 +386,6 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
+@@ -413,7 +413,6 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
  #if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
      case __NR_set_thread_area:
  #endif
@@ -79,7 +79,7 @@ index 80f02c0..21fbe21 100644
      case __NR_vfork:
 --- sandbox/policy/linux/bpf_renderer_policy_linux.cc
 +++ sandbox/policy/linux/bpf_renderer_policy_linux.cc
-@@ -100,9 +100,9 @@
+@@ -95,9 +95,9 @@
      case __NR_uname:
      case __NR_sched_getparam:
      case __NR_sched_getscheduler:
diff --git a/srcpkgs/chromium/files/musl-patches/no-mallinfo.patch b/srcpkgs/chromium/files/musl-patches/no-mallinfo.patch
index 254a1f632da..16e7e368175 100644
--- a/srcpkgs/chromium/files/musl-patches/no-mallinfo.patch
+++ b/srcpkgs/chromium/files/musl-patches/no-mallinfo.patch
@@ -1,6 +1,6 @@
 --- base/trace_event/malloc_dump_provider.cc.orig
 +++ base/trace_event/malloc_dump_provider.cc
-@@ -243,7 +243,7 @@
+@@ -184,7 +184,7 @@
    allocated_objects_count = main_heap_info.block_count;
  #elif defined(OS_FUCHSIA)
  // TODO(fuchsia): Port, see https://crbug.com/706592.
@@ -30,7 +30,7 @@
  #endif
 --- third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc
 +++ third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc.orig
-@@ -84,7 +84,7 @@
+@@ -86,7 +86,7 @@
  }
  
  size_t Process::GetMallocUsage() {
@@ -42,7 +42,7 @@
 
 --- third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h.orig	2019-09-30 13:03:42.556880537 -0400
 +++ third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h	2019-09-30 13:07:27.989821227 -0400
-@@ -122,7 +122,9 @@
+@@ -125,7 +125,9 @@
  /* #undef HAVE_MALLCTL */
  
  /* Define to 1 if you have the `mallinfo' function. */
diff --git a/srcpkgs/chromium/files/musl-patches/resolver.patch b/srcpkgs/chromium/files/musl-patches/resolver.patch
index 29fe2d2f1f3..0ce77c96a60 100644
--- a/srcpkgs/chromium/files/musl-patches/resolver.patch
+++ b/srcpkgs/chromium/files/musl-patches/resolver.patch
@@ -1,6 +1,6 @@
 --- net/dns/host_resolver_manager.cc.orig	2020-10-09 16:39:12.064069835 -0400
 +++ net/dns/host_resolver_manager.cc	2020-10-09 16:42:49.738302772 -0400
-@@ -2779,8 +2779,7 @@
+@@ -2562,8 +2562,7 @@
    NetworkChangeNotifier::AddConnectionTypeObserver(this);
    if (system_dns_config_notifier_)
      system_dns_config_notifier_->AddObserver(this);
diff --git a/srcpkgs/chromium/patches/browser-size_t.patch b/srcpkgs/chromium/patches/browser-size_t.patch
deleted file mode 100644
index fa214d987d6..00000000000
--- a/srcpkgs/chromium/patches/browser-size_t.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- chrome/browser/search/background/ntp_backgrounds.h	2020-08-10 20:39:20.000000000 +0200
-+++ chrome/browser/search/background/ntp_backgrounds.h	2020-09-04 13:48:22.640023256 +0200
-@@ -6,6 +6,7 @@
- #define CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_
- 
- #include <array>
-+#include <cstddef>
- 
- class GURL;
- 
diff --git a/srcpkgs/chromium/patches/chromium-88-AXTreeFormatter-include.patch b/srcpkgs/chromium/patches/chromium-88-AXTreeFormatter-include.patch
deleted file mode 100644
index 54781098920..00000000000
--- a/srcpkgs/chromium/patches/chromium-88-AXTreeFormatter-include.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 6e402d97c2dec5726f37e95f97b7f7e12b1d3b1d Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jdapena@igalia.com>
-Date: Wed, 11 Nov 2020 11:02:13 +0100
-Subject: [PATCH] IWYU: include headers for std::vector and std::unique_ptr in AXTreeFormatter
-
-Fix these build errors with libstdc++:
-../../ui/accessibility/platform/inspect/tree_formatter.h:35:12: error: ‘std::vector’ has not been declared
-../../ui/accessibility/platform/inspect/tree_formatter.h:61:16: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
-
-Bug: 957519
-Change-Id: I402ac0644255b3cd4932ff2fe72d999b125a7895
----
-
-diff --git a/ui/accessibility/platform/inspect/tree_formatter.h b/ui/accessibility/platform/inspect/tree_formatter.h
-index 4a70a4d..bb23768 100644
---- ui/accessibility/platform/inspect/tree_formatter.h
-+++ ui/accessibility/platform/inspect/tree_formatter.h
-@@ -5,6 +5,9 @@
- #ifndef UI_ACCESSIBILITY_PLATFORM_INSPECT_TREE_FORMATTER_H_
- #define UI_ACCESSIBILITY_PLATFORM_INSPECT_TREE_FORMATTER_H_
- 
-+#include <memory>
-+#include <vector>
-+
- #include "ui/accessibility/platform/inspect/inspect.h"
- 
- #include "ui/gfx/native_widget_types.h"
diff --git a/srcpkgs/chromium/patches/chromium-88-BookmarkModelObserver-include.patch b/srcpkgs/chromium/patches/chromium-88-BookmarkModelObserver-include.patch
deleted file mode 100644
index 0b26a60a36e..00000000000
--- a/srcpkgs/chromium/patches/chromium-88-BookmarkModelObserver-include.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 127ec3b1bf26ab37f2ae8333f284008868756274 Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Sat, 21 Nov 2020 15:59:23 +0000
-Subject: [PATCH] IWYU: size_t is defined stddef.h
-
-Change-Id: I4400ac7c6004b49ec6e72c44f2754e2166642f88
----
-
-diff --git a/components/bookmarks/browser/bookmark_model_observer.h b/components/bookmarks/browser/bookmark_model_observer.h
-index 69c40e7..0e5eb96 100644
---- components/bookmarks/browser/bookmark_model_observer.h
-+++ components/bookmarks/browser/bookmark_model_observer.h
-@@ -7,6 +7,8 @@
- 
- #include <set>
- 
-+#include <stddef.h>
-+
- class GURL;
- 
- namespace bookmarks {
diff --git a/srcpkgs/chromium/patches/chromium-88-CompositorFrameReporter-dcheck.patch b/srcpkgs/chromium/patches/chromium-88-CompositorFrameReporter-dcheck.patch
deleted file mode 100644
index aa1c52e0b7e..00000000000
--- a/srcpkgs/chromium/patches/chromium-88-CompositorFrameReporter-dcheck.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 56c654a91600e3bf254aa9f66c1151b0850b6ee4 Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jdapena@igalia.com>
-Date: Wed, 11 Nov 2020 10:24:47 +0100
-Subject: [PATCH] GCC: do not pass unique_ptr to DCHECK_NE, but the actual pointer, in CompositorFrameReporter
-
-DCHECK_NE comparison requires CheckOpValueStr to be defined for the
-type, or providing an output stream operator. A unique_ptr does not
-provide any.
-
-Compilation in GCC is failing in CompositorFrameReporter because of
-this:
-../../cc/metrics/compositor_frame_reporter.cc: In member function ‘void cc::CompositorFrameReporter::ReportEventLatencyHistograms() const’:
-../../base/check_op.h:224:59: error: no matching function for call to ‘CheckOpValueStr(const std::unique_ptr<cc::EventMetrics>&)’
-
-Fixed comparing the result of get() method for unique_ptr instead of
-the unique_ptr.
-
-Bug: 819294
-Change-Id: I11103d1867c7196c1de92e72f9f12dcfd31c29f1
-
-(updated to use DCHECK as suggested in comments)
----
-
-diff --git a/cc/metrics/compositor_frame_reporter.cc b/cc/metrics/compositor_frame_reporter.cc
-index 725beb0..fafd0f3 100644
---- cc/metrics/compositor_frame_reporter.cc
-+++ cc/metrics/compositor_frame_reporter.cc
-@@ -686,7 +686,7 @@
- 
- void CompositorFrameReporter::ReportEventLatencyHistograms() const {
-   for (const auto& event_metrics : events_metrics_) {
--    DCHECK_NE(event_metrics, nullptr);
-+    DCHECK(event_metrics);
-     const std::string histogram_base_name =
-         GetEventLatencyHistogramBaseName(*event_metrics);
-     const int event_type_index = static_cast<int>(event_metrics->type());
diff --git a/srcpkgs/chromium/patches/chromium-88-StringPool-include.patch b/srcpkgs/chromium/patches/chromium-88-StringPool-include.patch
deleted file mode 100644
index e55bbae2ece..00000000000
--- a/srcpkgs/chromium/patches/chromium-88-StringPool-include.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From 372366b4180533f27d3250a50810828370d697b0 Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Sat, 21 Nov 2020 16:12:18 +0000
-Subject: [PATCH] IWYU: include limits for std::numeric_limits
-
-Change-Id: Ia5226e1432a622f4f4abc8f1b18bcab8638a73c6
----
-
-diff --git a/src/trace_processor/containers/string_pool.h b/src/trace_processor/containers/string_pool.h
-index 11ae91c..58c6db2 100644
---- third_party/perfetto/src/trace_processor/containers/string_pool.h
-+++ third_party/perfetto/src/trace_processor/containers/string_pool.h
-@@ -22,6 +22,7 @@
- 
- #include <unordered_map>
- #include <vector>
-+#include <limits>
- 
- #include "perfetto/ext/base/optional.h"
- #include "perfetto/ext/base/paged_memory.h"
diff --git a/srcpkgs/chromium/patches/chromium-88-federated_learning-include.patch b/srcpkgs/chromium/patches/chromium-88-federated_learning-include.patch
deleted file mode 100644
index 3eb1537d801..00000000000
--- a/srcpkgs/chromium/patches/chromium-88-federated_learning-include.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From bcb20babee602b55fe4bd026e13a41d10b89632f Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Sat, 21 Nov 2020 15:55:02 +0000
-Subject: [PATCH] IWYU: include limits for std::numeric_limits
-
-Change-Id: I1b6b07ebb397a29c84d3ed51ae41523e3ecab497
----
-
-diff --git a/components/federated_learning/floc_constants.cc b/components/federated_learning/floc_constants.cc
-index df66e5d..2eb50f1 100644
---- components/federated_learning/floc_constants.cc
-+++ components/federated_learning/floc_constants.cc
-@@ -4,6 +4,8 @@
- 
- #include "components/federated_learning/floc_constants.h"
- 
-+#include <limits>
-+
- namespace federated_learning {
- 
- // This is only for experimentation and won't be served to websites.
diff --git a/srcpkgs/chromium/patches/chromium-88-glibc-2.33.patch b/srcpkgs/chromium/patches/chromium-88-glibc-2.33.patch
deleted file mode 100644
index 64306d5e429..00000000000
--- a/srcpkgs/chromium/patches/chromium-88-glibc-2.33.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-# Patch made by Kevin Kofler <Kevin@tigcc.ticalc.org>
-# https://bugzilla.redhat.com/show_bug.cgi?id=1904652
-
-diff -up chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.fstatfix chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
---- sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.fstatfix	2021-01-25 10:11:45.427436398 -0500
-+++ sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc	2021-01-25 10:12:51.337699003 -0500
-@@ -257,6 +257,18 @@ ResultExpr EvaluateSyscallImpl(int fs_de
-     return RestrictKillTarget(current_pid, sysno);
-   }
- 
-+#if defined(__NR_newfstatat)
-+  if (sysno == __NR_newfstatat) {
-+    return RewriteFstatatSIGSYS();
-+  }
-+#endif
-+
-+#if defined(__NR_fstatat64)
-+  if (sysno == __NR_fstatat64) {
-+    return RewriteFstatatSIGSYS();
-+  }
-+#endif
-+
-   if (SyscallSets::IsFileSystem(sysno) ||
-       SyscallSets::IsCurrentDirectory(sysno)) {
-     return Error(fs_denied_errno);
-diff -up chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc.fstatfix chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
---- sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc.fstatfix	2021-01-25 10:13:10.179774081 -0500
-+++ sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc	2021-01-25 10:16:18.790525746 -0500
-@@ -6,6 +6,8 @@
- 
- #include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h"
- 
-+#include <errno.h>
-+#include <fcntl.h>
- #include <stddef.h>
- #include <stdint.h>
- #include <string.h>
-@@ -355,6 +357,35 @@ intptr_t SIGSYSSchedHandler(const struct
-   return -ENOSYS;
- }
- 
-+intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args,
-+                              void* aux) {
-+  switch (args.nr) {
-+#if defined(__NR_newfstatat)
-+    case __NR_newfstatat:
-+#endif
-+#if defined(__NR_fstatat64)
-+    case __NR_fstatat64:
-+#endif
-+#if defined(__NR_newfstatat) || defined(__NR_fstatat64)
-+      if (*reinterpret_cast<const char *>(args.args[1]) == '\0'
-+          && args.args[3] == static_cast<uint64_t>(AT_EMPTY_PATH)) {
-+        return sandbox::sys_fstat64(static_cast<int>(args.args[0]),
-+                                    reinterpret_cast<struct stat64 *>(args.args[2]));
-+      } else {
-+        errno = EACCES;
-+        return -1;
-+      }
-+      break;
-+#endif
-+  }
-+
-+  CrashSIGSYS_Handler(args, aux);
-+
-+  // Should never be reached.
-+  RAW_CHECK(false);
-+  return -ENOSYS;
-+}
-+
- bpf_dsl::ResultExpr CrashSIGSYS() {
-   return bpf_dsl::Trap(CrashSIGSYS_Handler, NULL);
- }
-@@ -387,6 +418,10 @@ bpf_dsl::ResultExpr RewriteSchedSIGSYS()
-   return bpf_dsl::Trap(SIGSYSSchedHandler, NULL);
- }
- 
-+bpf_dsl::ResultExpr RewriteFstatatSIGSYS() {
-+  return bpf_dsl::Trap(SIGSYSFstatatHandler, NULL);
-+}
-+
- void AllocateCrashKeys() {
- #if !defined(OS_NACL_NONSFI)
-   if (seccomp_crash_key)
-diff -up chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h.fstatfix chromium-88.0.4324.96/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h
---- sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h.fstatfix	2021-01-25 10:16:36.982598236 -0500
-+++ sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h	2021-01-25 10:18:45.705111027 -0500
-@@ -62,6 +62,10 @@ SANDBOX_EXPORT intptr_t SIGSYSPtraceFail
- // sched_setparam(), sched_setscheduler()
- SANDBOX_EXPORT intptr_t SIGSYSSchedHandler(const arch_seccomp_data& args,
-                                            void* aux);
-+// If the fstatat syscall is actually a disguised fstat, calls the regular fstat
-+// syscall, otherwise, crashes in the same way as CrashSIGSYS_Handler.
-+SANDBOX_EXPORT intptr_t SIGSYSFstatatHandler(const struct arch_seccomp_data& args, 
-+                                             void* aux);
- 
- // Variants of the above functions for use with bpf_dsl.
- SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYS();
-@@ -72,6 +76,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Crash
- SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSFutex();
- SANDBOX_EXPORT bpf_dsl::ResultExpr CrashSIGSYSPtrace();
- SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteSchedSIGSYS();
-+SANDBOX_EXPORT bpf_dsl::ResultExpr RewriteFstatatSIGSYS();
- 
- // Allocates a crash key so that Seccomp information can be recorded.
- void AllocateCrashKeys();
-diff -up chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.cc.fstatfix chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.cc
---- sandbox/linux/services/syscall_wrappers.cc.fstatfix	2021-01-25 10:18:53.307141311 -0500
-+++ sandbox/linux/services/syscall_wrappers.cc	2021-01-25 10:19:46.982355293 -0500
-@@ -261,4 +261,13 @@ int sys_sigaction(int signum,
- 
- #endif  // defined(MEMORY_SANITIZER)
- 
-+SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf)
-+{
-+#if defined(__NR_fstat64)
-+    return syscall(__NR_fstat64, fd, buf);
-+#else
-+    return syscall(__NR_fstat, fd, buf);
-+#endif
-+}
-+
- }  // namespace sandbox
-diff -up chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.h.fstatfix chromium-88.0.4324.96/sandbox/linux/services/syscall_wrappers.h
---- sandbox/linux/services/syscall_wrappers.h.fstatfix	2021-01-25 10:19:53.115379741 -0500
-+++ sandbox/linux/services/syscall_wrappers.h	2021-01-25 10:20:45.485588421 -0500
-@@ -17,6 +17,7 @@ struct sock_fprog;
- struct rlimit64;
- struct cap_hdr;
- struct cap_data;
-+struct stat64;
- 
- namespace sandbox {
- 
-@@ -84,6 +85,9 @@ SANDBOX_EXPORT int sys_sigaction(int sig
-                                  const struct sigaction* act,
-                                  struct sigaction* oldact);
- 
-+// Recent glibc rewrites fstat to fstatat.
-+SANDBOX_EXPORT int sys_fstat64(int fd, struct stat64 *buf);
-+
- }  // namespace sandbox
- 
- #endif  // SANDBOX_LINUX_SERVICES_SYSCALL_WRAPPERS_H_
diff --git a/srcpkgs/chromium/patches/chromium-88-ideographicSpaceCharacter.patch b/srcpkgs/chromium/patches/chromium-88-ideographicSpaceCharacter.patch
deleted file mode 100644
index 38a11423b2d..00000000000
--- a/srcpkgs/chromium/patches/chromium-88-ideographicSpaceCharacter.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 75ff882bb5f2fcd14431e65fa638ae72bdb47086 Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Sun, 15 Nov 2020 14:31:23 +0000
-Subject: [PATCH] fix ideographicSpaceCharacter constant for system icu
-
-https://chromium-review.googlesource.com/c/chromium/src/+/1687411
-renamed ideographicSpaceCharacter to kIdeographicSpaceCharacter.
----
- third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
-index fb8ab05..5d4ea13 100644
---- third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
-+++ third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc
-@@ -432,7 +432,7 @@ String TextCodecICU::Decode(const char* bytes,
-   // ICU decodes it as U+E5E5.
-   if (!strcmp(encoding_.GetName(), "GBK")) {
-     if (EqualIgnoringASCIICase(encoding_.GetName(), "gb18030"))
--      resultString.Replace(0xE5E5, ideographicSpaceCharacter);
-+      resultString.Replace(0xE5E5, kIdeographicSpaceCharacter);
-     // Make GBK compliant to the encoding spec and align with GB18030
-     resultString.Replace(0x01F9, 0xE7C8);
-     // FIXME: Once https://www.w3.org/Bugs/Public/show_bug.cgi?id=28740#c3
--- 
-2.26.2
-
diff --git a/srcpkgs/chromium/patches/chromium-88-ityp-include.patch b/srcpkgs/chromium/patches/chromium-88-ityp-include.patch
deleted file mode 100644
index c54b6fffd54..00000000000
--- a/srcpkgs/chromium/patches/chromium-88-ityp-include.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From bc383a5dd7fa8f2b535f28815fd6932fbc0d2a45 Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Wed, 28 Oct 2020 16:00:35 +0000
-Subject: [PATCH] IWYU: include stddef.h for size_t
-
----
- third_party/dawn/src/common/ityp_array.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/third_party/dawn/src/common/ityp_array.h b/third_party/dawn/src/common/ityp_array.h
-index 48e080f..c784198 100644
---- third_party/dawn/src/common/ityp_array.h
-+++ third_party/dawn/src/common/ityp_array.h
-@@ -21,6 +21,8 @@
- #include <array>
- #include <type_traits>
- 
-+#include <stddef.h>
-+
- namespace ityp {
- 
-     // ityp::array is a helper class that wraps std::array with the restriction that
--- 
-2.26.2
-
diff --git a/srcpkgs/chromium/patches/chromium-88-vaapi-attribute.patch b/srcpkgs/chromium/patches/chromium-88-vaapi-attribute.patch
deleted file mode 100644
index e4161af45c7..00000000000
--- a/srcpkgs/chromium/patches/chromium-88-vaapi-attribute.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 4f4604877f3b666ac7a373ae443e3c3795424569 Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <stha09@googlemail.com>
-Date: Fri, 6 Nov 2020 11:18:42 +0000
-Subject: [PATCH] GCC: fix attribute on function definition
-
-GCC does not accept attributes at the end for function definitions.
-Solution is to move it before function name. Otherwise GCC fails like
-this:
-
-../../base/compiler_specific.h:97:28: error: attributes are not allowed
-on a function-definition
-   97 | #define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
-         |                            ^~~~~~~~~~~~~
-	 ../../media/gpu/vaapi/vaapi_wrapper.h:322:36: note: in
-	 expansion of macro 'WARN_UNUSED_RESULT'
-	   322 |                     const T* data) WARN_UNUSED_RESULT {
-	       |                                    ^~~~~~~~~~~~~~~~~~
----
- media/gpu/vaapi/vaapi_wrapper.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/media/gpu/vaapi/vaapi_wrapper.h b/media/gpu/vaapi/vaapi_wrapper.h
-index fd1fd82..deeda1f 100644
---- media/gpu/vaapi/vaapi_wrapper.h
-+++ media/gpu/vaapi/vaapi_wrapper.h
-@@ -318,8 +318,8 @@ class MEDIA_GPU_EXPORT VaapiWrapper
-   // Convenient templatized version of SubmitBuffer() where |size| is deduced to
-   // be the size of the type of |*data|.
-   template <typename T>
--  bool SubmitBuffer(VABufferType va_buffer_type,
--                    const T* data) WARN_UNUSED_RESULT {
-+  bool WARN_UNUSED_RESULT SubmitBuffer(VABufferType va_buffer_type,
-+                                       const T* data) {
-     return SubmitBuffer(va_buffer_type, sizeof(T), data);
-   }
-   // Batch-version of SubmitBuffer(), where the lock for accessing libva is
--- 
-2.26.2
-
diff --git a/srcpkgs/chromium/patches/chromium-89-CompositorFrameReporter-dcheck.patch b/srcpkgs/chromium/patches/chromium-89-CompositorFrameReporter-dcheck.patch
new file mode 100644
index 00000000000..d31ad7fec48
--- /dev/null
+++ b/srcpkgs/chromium/patches/chromium-89-CompositorFrameReporter-dcheck.patch
@@ -0,0 +1,11 @@
+--- net/third_party/quiche/src/quic/core/quic_path_validator.cc.orig	2021-03-02 18:48:06.000000000 +0100
++++ net/third_party/quiche/src/quic/core/quic_path_validator.cc	2021-03-03 13:17:56.624281475 +0100
+@@ -68,7 +68,7 @@
+ void QuicPathValidator::StartPathValidation(
+     std::unique_ptr<QuicPathValidationContext> context,
+     std::unique_ptr<ResultDelegate> result_delegate) {
+-  DCHECK_NE(nullptr, context);
++  DCHECK(context);
+   QUIC_DLOG(INFO) << "Start validating path " << *context
+                   << " via writer: " << context->WriterToUse();
+   if (path_context_ != nullptr) {
diff --git a/srcpkgs/chromium/patches/libc_malloc.patch b/srcpkgs/chromium/patches/libc_malloc.patch
index eda11ec8663..f8d8d66da18 100644
--- a/srcpkgs/chromium/patches/libc_malloc.patch
+++ b/srcpkgs/chromium/patches/libc_malloc.patch
@@ -1,26 +1,11 @@
---- base/process/memory_linux.cc.orig	2017-09-15 08:41:43.000000000 +0000
-+++ base/process/memory_linux.cc	2017-09-15 08:44:39.804995469 +0000
-@@ -21,6 +21,12 @@
- #include "third_party/tcmalloc/chromium/src/gperftools/tcmalloc.h"
- #endif
- 
-+#if defined(LIBC_GLIBC)
-+extern "C" {
-+extern void *__libc_malloc(size_t size);
-+}
-+#endif
-+
- namespace base {
- 
- size_t g_oom_size = 0U;
---- base/process/memory_linux.cc.orig	2020-08-30 14:18:35.401132593 -0400
-+++ base/process/memory_linux.cc	2020-08-30 14:19:08.030199189 -0400
-@@ -141,7 +141,7 @@
+--- base/process/memory_linux.cc.orig	2021-03-02 18:44:58.000000000 +0100
++++ base/process/memory_linux.cc	2021-03-03 12:05:57.952296984 +0100
+@@ -151,7 +151,7 @@
      (!defined(LIBC_GLIBC) && !BUILDFLAG(USE_TCMALLOC))
    *result = malloc(size);
  #elif defined(LIBC_GLIBC) && !BUILDFLAG(USE_TCMALLOC)
 -  *result = __libc_malloc(size);
-+  *result = ::__libc_malloc(size);
++  *result = malloc(size);
  #elif BUILDFLAG(USE_TCMALLOC)
    *result = tc_malloc_skip_new_handler(size);
  #endif
diff --git a/srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch b/srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch
deleted file mode 100644
index 3016b065212..00000000000
--- a/srcpkgs/chromium/patches/llvm-remove-unsupported-compiler-warnings.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- build/config/compiler/BUILD.gn.orig	2021-01-20 09:01:44.362114311 -0500
-+++ build/config/compiler/BUILD.gn	2021-01-20 09:03:41.880232248 -0500
-@@ -1534,9 +1534,6 @@
- 
-           # TODO(https://crbug.com/1028110): Evaluate and possible enable.
-           "-Wno-deprecated-copy",
--
--          # TODO(https://crbug.com/1050281): Clean up, enable.
--          "-Wno-non-c-typedef-for-linkage",
-         ]
- 
-         cflags_c += [
-@@ -1548,13 +1545,6 @@
-           # TODO(https://crbug.com/1143700): Clean up and re-enable.
-           cflags_objc = [ "-Wno-gnu-folding-constant" ]
-         }
--
--        if (enable_wmax_tokens) {
--          cflags += [ "-Wmax-tokens" ]
--        } else {
--          # TODO(https://crbug.com/1049569): Remove after Clang 87b235db.
--          cflags += [ "-Wno-max-tokens" ]
--        }
-       }
-     }
-   }
diff --git a/srcpkgs/chromium/patches/musl-v8-monotonic-pthread-cont_timedwait.patch b/srcpkgs/chromium/patches/musl-v8-monotonic-pthread-cont_timedwait.patch
deleted file mode 100644
index 33a8ea32c9c..00000000000
--- a/srcpkgs/chromium/patches/musl-v8-monotonic-pthread-cont_timedwait.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Use monotonic clock for pthread_cond_timedwait with musl too.
-
-diff --git a/v8/src/base/platform/condition-variable.cc b/v8/src/base/platform/condition-variable.cc
-index 5ea7083..c13027e 100644
---- ./v8/src/base/platform/condition-variable.cc
-+++ ./v8/src/base/platform/condition-variable.cc
-@@ -16,7 +16,7 @@ namespace base {
- 
- ConditionVariable::ConditionVariable() {
- #if (V8_OS_FREEBSD || V8_OS_NETBSD || V8_OS_OPENBSD || \
--     (V8_OS_LINUX && V8_LIBC_GLIBC))
-+     V8_OS_LINUX)
-   // On Free/Net/OpenBSD and Linux with glibc we can change the time
-   // source for pthread_cond_timedwait() to use the monotonic clock.
-   pthread_condattr_t attr;
-@@ -92,7 +92,7 @@ bool ConditionVariable::WaitFor(Mutex* mutex, const TimeDelta& rel_time) {
-       &native_handle_, &mutex->native_handle(), &ts);
- #else
- #if (V8_OS_FREEBSD || V8_OS_NETBSD || V8_OS_OPENBSD || \
--     (V8_OS_LINUX && V8_LIBC_GLIBC))
-+     V8_OS_LINUX)
-   // On Free/Net/OpenBSD and Linux with glibc we can change the time
-   // source for pthread_cond_timedwait() to use the monotonic clock.
-   result = clock_gettime(CLOCK_MONOTONIC, &ts);
diff --git a/srcpkgs/chromium/patches/no-execinfo.patch b/srcpkgs/chromium/patches/no-execinfo.patch
index 386997e8ed1..356a7619ac9 100644
--- a/srcpkgs/chromium/patches/no-execinfo.patch
+++ b/srcpkgs/chromium/patches/no-execinfo.patch
@@ -1,5 +1,5 @@
---- base/debug/stack_trace_posix.cc.orig	2019-05-14 14:49:44.000000000 -0400
-+++ base/debug/stack_trace_posix.cc	2019-07-02 10:43:43.490045013 -0400
+--- base/debug/stack_trace_posix.cc.orig	2021-03-02 18:44:58.000000000 +0100
++++ base/debug/stack_trace_posix.cc	2021-03-03 16:46:37.828883973 +0100
 @@ -27,7 +27,7 @@
  #if !defined(USE_SYMBOLIZE)
  #include <cxxabi.h>
@@ -9,7 +9,7 @@
  #include <execinfo.h>
  #endif
  
-@@ -86,7 +86,7 @@
+@@ -88,7 +88,7 @@
    // Note: code in this function is NOT async-signal safe (std::string uses
    // malloc internally).
  
@@ -18,7 +18,7 @@
    std::string::size_type search_from = 0;
    while (search_from < text->size()) {
      // Look for the start of a mangled symbol, from search_from.
-@@ -121,7 +121,7 @@
+@@ -123,7 +123,7 @@
        search_from = mangled_start + 2;
      }
    }
@@ -27,7 +27,7 @@
  }
  #endif  // !defined(USE_SYMBOLIZE)
  
-@@ -133,7 +133,7 @@
+@@ -135,7 +135,7 @@
    virtual ~BacktraceOutputHandler() = default;
  };
  
@@ -36,7 +36,7 @@
  void OutputPointer(void* pointer, BacktraceOutputHandler* handler) {
    // This should be more than enough to store a 64-bit number in hex:
    // 16 hex digits + 1 for null-terminator.
-@@ -216,7 +216,7 @@
+@@ -218,7 +218,7 @@
    }
  #endif  // defined(USE_SYMBOLIZE)
  }
@@ -45,7 +45,7 @@
  
  void PrintToStderr(const char* output) {
    // NOTE: This code MUST be async-signal safe (it's used by in-process
-@@ -812,7 +812,7 @@
+@@ -827,7 +827,7 @@
    // NOTE: This code MUST be async-signal safe (it's used by in-process
    // stack dumping signal handler). NO malloc or stdio is allowed here.
  
@@ -54,7 +54,7 @@
    // Though the backtrace API man page does not list any possible negative
    // return values, we take no chance.
    return base::saturated_cast<size_t>(backtrace(trace, count));
-@@ -825,13 +825,13 @@
+@@ -840,13 +840,13 @@
  // NOTE: This code MUST be async-signal safe (it's used by in-process
  // stack dumping signal handler). NO malloc or stdio is allowed here.
  
diff --git a/srcpkgs/chromium/patches/no-getcontext.patch b/srcpkgs/chromium/patches/no-getcontext.patch
deleted file mode 100644
index b2a498734c9..00000000000
--- a/srcpkgs/chromium/patches/no-getcontext.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc.orig	2015-12-06 09:59:55.554536646 +0100
-+++ third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc	2015-12-06 10:01:16.818238035 +0100
-@@ -477,7 +477,9 @@ bool ExceptionHandler::SimulateSignalDel
-   siginfo.si_code = SI_USER;
-   siginfo.si_pid = getpid();
-   ucontext_t context;
-+#if defined(__GLIBC__)
-   getcontext(&context);
-+#endif
-   return HandleSignal(sig, &siginfo, &context);
- }
- 
-@@ -647,9 +649,14 @@ bool ExceptionHandler::WriteMinidump() {
-   sys_prctl(PR_SET_DUMPABLE, 1, 0, 0, 0);
- 
-   CrashContext context;
-+
-+#if defined(__GLIBC__)
-   int getcontext_result = getcontext(&context.context);
-   if (getcontext_result)
-     return false;
-+#else
-+  return false;
-+#endif
- 
- #if defined(__i386__)
-   // In CPUFillFromUContext in minidumpwriter.cc the stack pointer is retrieved
diff --git a/srcpkgs/chromium/patches/no-std-time.patch b/srcpkgs/chromium/patches/no-std-time.patch
new file mode 100644
index 00000000000..7f35c22f081
--- /dev/null
+++ b/srcpkgs/chromium/patches/no-std-time.patch
@@ -0,0 +1,11 @@
+--- ui/accessibility/ax_tree_serializer.h.orig	2021-03-02 18:46:00.000000000 +0100
++++ ui/accessibility/ax_tree_serializer.h	2021-03-03 14:03:43.926160333 +0100
+@@ -746,7 +746,7 @@
+ #endif  // defined(AX_FAIL_FAST_BUILD)
+         static bool has_sent_dupe_id_err = false;
+         if (!has_sent_dupe_id_err) {
+-          std::srand(std::time(nullptr));  // use current time as seed.
++          std::srand(time(nullptr));  // use current time as seed.
+           if (std::rand() % 50 == 0) {     // Roughly 2% of the time.
+             base::debug::DumpWithoutCrashing();
+             has_sent_dupe_id_err = true;  // Only send once.
diff --git a/srcpkgs/chromium/patches/sandbox-membarrier.patch b/srcpkgs/chromium/patches/sandbox-membarrier.patch
index a31a9f6a5e9..b30bbc02cb6 100644
--- a/srcpkgs/chromium/patches/sandbox-membarrier.patch
+++ b/srcpkgs/chromium/patches/sandbox-membarrier.patch
@@ -1,56 +1,6 @@
---- sandbox/linux/system_headers/arm64_linux_syscalls.h
-+++ sandbox/linux/system_headers/arm64_linux_syscalls.h
-@@ -1063,4 +1063,8 @@
- #define __NR_memfd_create 279
- #endif
- 
-+#if !defined(__NR_membarrier)
-+#define __NR_membarrier 283
-+#endif
-+
- #endif  // SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_
-
---- sandbox/linux/system_headers/arm_linux_syscalls.h
-+++ sandbox/linux/system_headers/arm_linux_syscalls.h
-@@ -1385,6 +1385,10 @@
- #define __NR_memfd_create (__NR_SYSCALL_BASE+385)
- #endif
- 
-+#if !defined(__NR_membarrier)
-+#define __NR_membarrier (__NR_SYSCALL_BASE+389)
-+#endif
-+
- // ARM private syscalls.
- #if !defined(__ARM_NR_BASE)
- #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000)
-
---- sandbox/linux/system_headers/x86_32_linux_syscalls.h
-+++ sandbox/linux/system_headers/x86_32_linux_syscalls.h
-@@ -1422,5 +1422,9 @@
- #define __NR_memfd_create 356
- #endif
- 
-+#if !defined(__NR_membarrier)
-+#define __NR_membarrier 375
-+#endif
-+
- #endif  // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_
- 
---- sandbox/linux/system_headers/x86_64_linux_syscalls.h
-+++ sandbox/linux/system_headers/x86_64_linux_syscalls.h
-@@ -1290,5 +1290,9 @@
- #define __NR_memfd_create 319
- #endif
- 
-+#if !defined(__NR_membarrier)
-+#define __NR_membarrier 324
-+#endif
-+
- #endif  // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_
- 
---- sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-+++ sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-@@ -370,6 +370,7 @@
+--- sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc.orig	2021-03-03 18:04:45.167674791 +0100
++++ sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc	2021-03-03 18:13:17.036547592 +0100
+@@ -394,11 +394,12 @@
    switch (sysno) {
      case __NR_exit:
      case __NR_exit_group:
@@ -58,3 +8,8 @@
      case __NR_wait4:
      case __NR_waitid:
  #if defined(__i386__)
+     case __NR_waitpid:
+ #endif
+       return true;
+     case __NR_clone:  // Should be parameter-restricted.
+     case __NR_setns:  // Privileged.
diff --git a/srcpkgs/chromium/patches/xxx-ppc64le-support.patch b/srcpkgs/chromium/patches/xxx-ppc64le-support.patch
index 805755c2125..bbcfbad34e5 100644
--- a/srcpkgs/chromium/patches/xxx-ppc64le-support.patch
+++ b/srcpkgs/chromium/patches/xxx-ppc64le-support.patch
@@ -1,6 +1,6 @@
-commit e7944c162ca13b2c30b180c06f917f45643b8cca
-Author: q66 <daniel@octaforge.org>
-Date:   Tue Aug 4 19:57:48 2020 +0200
+commit 2c013a317b1114ef67cdbbc30824b28907b9ea94
+Author: Daniel Kolesa <daniel@octaforge.org>
+Date:   Wed Mar 3 19:08:29 2021 +0100
 
     ppc64le support
 
@@ -20,10 +20,10 @@ index 286a92a27..ec36a85d3 100755
    src_dir = os.path.dirname(script_dir)
    nacl_dir = os.path.join(src_dir, 'native_client')
 diff --git chrome/installer/linux/BUILD.gn chrome/installer/linux/BUILD.gn
-index b101b0cb2..9fd5a7617 100644
+index 35f01d0a4..28f2e7475 100644
 --- chrome/installer/linux/BUILD.gn
 +++ chrome/installer/linux/BUILD.gn
-@@ -92,8 +92,6 @@ packaging_files = packaging_files_binaries + [
+@@ -94,8 +94,6 @@ packaging_files = packaging_files_binaries + [
                      "$root_out_dir/xdg-mime",
                      "$root_out_dir/xdg-settings",
                      "$root_out_dir/locales/en-US.pak",
@@ -32,7 +32,7 @@ index b101b0cb2..9fd5a7617 100644
                    ]
  
  action_foreach("calculate_deb_dependencies") {
-@@ -329,7 +327,6 @@ group("installer_deps") {
+@@ -315,7 +313,6 @@ group("installer_deps") {
      ":theme_files",
      "//chrome",
      "//chrome:packed_resources",
@@ -41,11 +41,11 @@ index b101b0cb2..9fd5a7617 100644
      "//third_party/crashpad/crashpad/handler:crashpad_handler",
    ]
 diff --git sandbox/features.gni sandbox/features.gni
-index 09280d35f..42514157f 100644
+index db30ae6d6..9dc09bf53 100644
 --- sandbox/features.gni
 +++ sandbox/features.gni
-@@ -11,6 +11,7 @@ import("//build/config/nacl/config.gni")
- use_seccomp_bpf = (is_linux || is_android) &&
+@@ -11,7 +11,8 @@ import("//build/config/nacl/config.gni")
+ use_seccomp_bpf = (is_linux || is_chromeos || is_android) &&
                    (current_cpu == "x86" || current_cpu == "x64" ||
                     current_cpu == "arm" || current_cpu == "arm64" ||
 -                   current_cpu == "mipsel" || current_cpu == "mips64el")
@@ -53,11 +53,12 @@ index 09280d35f..42514157f 100644
 +                   current_cpu == "ppc64")
  
  use_seccomp_bpf = use_seccomp_bpf || is_nacl_nonsfi
+ 
 diff --git sandbox/linux/BUILD.gn sandbox/linux/BUILD.gn
-index c27351f9a..9141e1239 100644
+index e9a94b461..cca1a5da5 100644
 --- sandbox/linux/BUILD.gn
 +++ sandbox/linux/BUILD.gn
-@@ -407,6 +407,8 @@ component("sandbox_services") {
+@@ -427,6 +427,8 @@ component("sandbox_services") {
  
  source_set("sandbox_services_headers") {
    sources = [
@@ -151,7 +152,7 @@ index 1a407b952..a6aec544e 100644
  #error Unsupported target platform
  
 diff --git sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
-index a6d2c0dfb..37fdc179a 100644
+index 6a1ec2389..f20c582dd 100644
 --- sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
 +++ sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
 @@ -88,7 +88,8 @@ bool IsBaselinePolicyWatched(int sysno) {
@@ -164,7 +165,7 @@ index a6d2c0dfb..37fdc179a 100644
           SyscallSets::IsSocketCall(sysno) ||
  #endif
  #if defined(__arm__)
-@@ -210,7 +211,7 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
+@@ -227,7 +228,7 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
    }
  
  #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -173,7 +174,7 @@ index a6d2c0dfb..37fdc179a 100644
    if (sysno == __NR_mmap)
      return RestrictMmapFlags();
  #endif
-@@ -228,7 +229,7 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
+@@ -245,7 +246,7 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
      return RestrictPrctl();
  
  #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
@@ -182,7 +183,7 @@ index a6d2c0dfb..37fdc179a 100644
    if (sysno == __NR_socketpair) {
      // Only allow AF_UNIX, PF_UNIX. Crash if anything else is seen.
      static_assert(AF_UNIX == PF_UNIX,
-@@ -268,7 +269,8 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
+@@ -285,7 +286,8 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno,
    }
  
  #if defined(__i386__) || \
@@ -193,22 +194,20 @@ index a6d2c0dfb..37fdc179a 100644
      return RestrictSocketcallCommand();
  #endif
 diff --git sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
-index fc36187c9..1affc9189 100644
+index 01c046dda..7e5a6be82 100644
 --- sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
 +++ sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
-@@ -291,8 +291,10 @@ TEST_BASELINE_SIGSYS(__NR_timer_create)
- #if !defined(__aarch64__)
+@@ -302,7 +302,7 @@ TEST_BASELINE_SIGSYS(__NR_sysinfo)
+ TEST_BASELINE_SIGSYS(__NR_syslog)
+ TEST_BASELINE_SIGSYS(__NR_timer_create)
+ 
+-#if !defined(__aarch64__)
++#if !defined(__aarch64__) && !defined(__powerpc64__)
  TEST_BASELINE_SIGSYS(__NR_eventfd)
  TEST_BASELINE_SIGSYS(__NR_inotify_init)
-+#if !defined(__powerpc64__)
  TEST_BASELINE_SIGSYS(__NR_vserver)
- #endif
-+#endif
- 
- #if defined(LIBC_GLIBC) && !defined(OS_CHROMEOS)
- BPF_TEST_C(BaselinePolicy, FutexEINVAL, BaselinePolicy) {
 diff --git sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
-index f51915edc..ca2f4f106 100644
+index 2a97d3916..8e81aa6cf 100644
 --- sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
 +++ sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
 @@ -40,7 +40,8 @@
@@ -233,7 +232,7 @@ index f51915edc..ca2f4f106 100644
  #if defined(OS_ANDROID)
  
  #if !defined(F_DUPFD_CLOEXEC)
-@@ -98,6 +104,15 @@
+@@ -98,6 +104,15 @@ inline bool IsArchitectureMips() {
  #endif
  }
  
@@ -249,7 +248,7 @@ index f51915edc..ca2f4f106 100644
  // Ubuntu's version of glibc has a race condition in sem_post that can cause
  // it to call futex(2) with bogus op arguments. To workaround this, we need
  // to allow those futex(2) calls to fail with EINVAL, instead of crashing the
-@@ -239,6 +254,8 @@
+@@ -239,6 +254,8 @@ ResultExpr RestrictFcntlCommands() {
    uint64_t kOLargeFileFlag = O_LARGEFILE;
    if (IsArchitectureX86_64() || IsArchitectureI386() || IsArchitectureMips())
      kOLargeFileFlag = 0100000;
@@ -258,7 +257,7 @@ index f51915edc..ca2f4f106 100644
  
    const Arg<int> cmd(1);
    const Arg<long> long_arg(2);
-@@ -253,14 +270,23 @@
+@@ -253,14 +270,23 @@ ResultExpr RestrictFcntlCommands() {
                F_SETLKW,
                F_GETLK,
                F_DUPFD,
@@ -285,7 +284,7 @@ index f51915edc..ca2f4f106 100644
  ResultExpr RestrictSocketcallCommand() {
    // Unfortunately, we are unable to restrict the first parameter to
    // socketpair(2). Whilst initially sounding bad, it's noteworthy that very
-@@ -413,7 +439,7 @@
+@@ -413,7 +439,7 @@ ResultExpr RestrictPtrace() {
  #endif
    return Switch(request)
        .CASES((
@@ -294,7 +293,6 @@ index f51915edc..ca2f4f106 100644
                   PTRACE_GETREGS, PTRACE_GETFPREGS, PTRACE_GET_THREAD_AREA,
                   PTRACE_GETREGSET,
  #endif
-
 diff --git sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
 index ba4289f05..9a4d5ab2d 100644
 --- sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
@@ -309,7 +307,7 @@ index ba4289f05..9a4d5ab2d 100644
  // sendto(2), recvfrom(2), shutdown(2), sendmsg(2) and recvmsg(2).
  SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictSocketcallCommand();
 diff --git sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-index d3693fd78..d492cf94b 100644
+index 642df7207..34f47eb73 100644
 --- sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
 +++ sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
 @@ -29,7 +29,8 @@ bool SyscallSets::IsAllowedGettime(int sysno) {
@@ -322,7 +320,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_time:
  #endif
        return true;
-@@ -41,12 +42,14 @@ bool SyscallSets::IsAllowedGettime(int sysno) {
+@@ -45,12 +46,14 @@ bool SyscallSets::IsAllowedGettime(int sysno) {
      case __NR_clock_nanosleep:  // Parameters filtered by RestrictClockID().
      case __NR_clock_settime:    // Privileged.
  #if defined(__i386__) || \
@@ -339,7 +337,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_stime:
  #endif
      default:
-@@ -112,7 +115,7 @@ bool SyscallSets::IsFileSystem(int sysno) {
+@@ -116,7 +119,7 @@ bool SyscallSets::IsFileSystem(int sysno) {
      case __NR_faccessat:  // EPERM not a valid errno.
      case __NR_fchmodat:
      case __NR_fchownat:  // Should be called chownat ?
@@ -348,7 +346,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_newfstatat:  // fstatat(). EPERM not a valid errno.
  #elif defined(__i386__) || defined(__arm__) || \
      (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
-@@ -131,7 +134,7 @@ bool SyscallSets::IsFileSystem(int sysno) {
+@@ -135,7 +138,7 @@ bool SyscallSets::IsFileSystem(int sysno) {
      case __NR_memfd_create:
      case __NR_mkdirat:
      case __NR_mknodat:
@@ -357,7 +355,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_oldlstat:
      case __NR_oldstat:
  #endif
-@@ -145,7 +148,8 @@ bool SyscallSets::IsFileSystem(int sysno) {
+@@ -149,7 +152,8 @@ bool SyscallSets::IsFileSystem(int sysno) {
  #endif
      case __NR_statfs:  // EPERM not a valid errno.
  #if defined(__i386__) || defined(__arm__) || \
@@ -367,7 +365,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_statfs64:
  #endif
      case __NR_symlinkat:
-@@ -155,7 +159,8 @@ bool SyscallSets::IsFileSystem(int sysno) {
+@@ -159,7 +163,8 @@ bool SyscallSets::IsFileSystem(int sysno) {
      case __NR_truncate64:
  #endif
      case __NR_unlinkat:
@@ -377,7 +375,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_utime:
  #endif
      case __NR_utimensat:  // New.
-@@ -174,7 +179,8 @@ bool SyscallSets::IsAllowedFileSystemAccessViaFd(int sysno) {
+@@ -181,7 +186,8 @@ bool SyscallSets::IsAllowedFileSystemAccessViaFd(int sysno) {
  #endif
        return true;
  // TODO(jln): these should be denied gracefully as well (moved below).
@@ -387,7 +385,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_fadvise64:  // EPERM not a valid errno.
  #endif
  #if defined(__i386__)
-@@ -187,11 +193,12 @@ bool SyscallSets::IsAllowedFileSystemAccessViaFd(int sysno) {
+@@ -194,11 +200,12 @@ bool SyscallSets::IsAllowedFileSystemAccessViaFd(int sysno) {
      case __NR_flock:      // EPERM not a valid errno.
      case __NR_fstatfs:    // Give information about the whole filesystem.
  #if defined(__i386__) || defined(__arm__) || \
@@ -402,7 +400,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_oldfstat:
  #endif
  #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
-@@ -199,6 +206,8 @@ bool SyscallSets::IsAllowedFileSystemAccessViaFd(int sysno) {
+@@ -206,6 +213,8 @@ bool SyscallSets::IsAllowedFileSystemAccessViaFd(int sysno) {
      case __NR_sync_file_range:  // EPERM not a valid errno.
  #elif defined(__arm__)
      case __NR_arm_sync_file_range:  // EPERM not a valid errno.
@@ -411,7 +409,7 @@ index d3693fd78..d492cf94b 100644
  #endif
      default:
        return false;
-@@ -224,7 +233,8 @@ bool SyscallSets::IsDeniedFileSystemAccessViaFd(int sysno) {
+@@ -231,7 +240,8 @@ bool SyscallSets::IsDeniedFileSystemAccessViaFd(int sysno) {
  #endif
      case __NR_getdents64:  // EPERM not a valid errno.
  #if defined(__i386__) || \
@@ -421,7 +419,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_readdir:
  #endif
        return true;
-@@ -265,7 +275,7 @@ bool SyscallSets::IsGetSimpleId(int sysno) {
+@@ -272,7 +282,7 @@ bool SyscallSets::IsGetSimpleId(int sysno) {
  bool SyscallSets::IsProcessPrivilegeChange(int sysno) {
    switch (sysno) {
      case __NR_capset:
@@ -430,7 +428,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_ioperm:  // Intel privilege.
      case __NR_iopl:    // Intel privilege.
  #endif
-@@ -316,7 +326,8 @@ bool SyscallSets::IsAllowedSignalHandling(int sysno) {
+@@ -323,7 +333,8 @@ bool SyscallSets::IsAllowedSignalHandling(int sysno) {
      case __NR_rt_sigreturn:
      case __NR_rt_sigtimedwait:
  #if defined(__i386__) || defined(__arm__) || \
@@ -440,7 +438,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_sigaction:
      case __NR_sigprocmask:
      case __NR_sigreturn:
-@@ -332,7 +343,8 @@ bool SyscallSets::IsAllowedSignalHandling(int sysno) {
+@@ -339,7 +350,8 @@ bool SyscallSets::IsAllowedSignalHandling(int sysno) {
  #endif
      case __NR_signalfd4:
  #if defined(__i386__) || defined(__arm__) || \
@@ -450,7 +448,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_sigpending:
      case __NR_sigsuspend:
  #endif
-@@ -356,7 +368,7 @@ bool SyscallSets::IsAllowedOperationOnFd(int sysno) {
+@@ -363,7 +375,7 @@ bool SyscallSets::IsAllowedOperationOnFd(int sysno) {
  #endif
      case __NR_dup3:
  #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
@@ -459,7 +457,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_shutdown:
  #endif
        return true;
-@@ -390,7 +402,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
+@@ -397,7 +409,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
      case __NR_membarrier:
      case __NR_wait4:
      case __NR_waitid:
@@ -468,7 +466,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_waitpid:
  #endif
        return true;
-@@ -407,7 +419,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
+@@ -414,7 +426,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
  #endif
      case __NR_set_tid_address:
      case __NR_unshare:
@@ -477,7 +475,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_vfork:
  #endif
      default:
-@@ -456,7 +468,7 @@ bool SyscallSets::IsAllowedGetOrModifySocket(int sysno) {
+@@ -463,7 +475,7 @@ bool SyscallSets::IsAllowedGetOrModifySocket(int sysno) {
        return true;
      default:
  #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
@@ -486,7 +484,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_socketpair:  // We will want to inspect its argument.
  #endif
        return false;
-@@ -466,7 +478,7 @@ bool SyscallSets::IsAllowedGetOrModifySocket(int sysno) {
+@@ -473,7 +485,7 @@ bool SyscallSets::IsAllowedGetOrModifySocket(int sysno) {
  bool SyscallSets::IsDeniedGetOrModifySocket(int sysno) {
    switch (sysno) {
  #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
@@ -495,7 +493,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_accept:
      case __NR_accept4:
      case __NR_bind:
-@@ -481,7 +493,8 @@ bool SyscallSets::IsDeniedGetOrModifySocket(int sysno) {
+@@ -488,7 +500,8 @@ bool SyscallSets::IsDeniedGetOrModifySocket(int sysno) {
  }
  
  #if defined(__i386__) || \
@@ -505,7 +503,7 @@ index d3693fd78..d492cf94b 100644
  // Big multiplexing system call for sockets.
  bool SyscallSets::IsSocketCall(int sysno) {
    switch (sysno) {
-@@ -495,7 +508,8 @@ bool SyscallSets::IsSocketCall(int sysno) {
+@@ -502,7 +515,8 @@ bool SyscallSets::IsSocketCall(int sysno) {
  }
  #endif
  
@@ -515,7 +513,7 @@ index d3693fd78..d492cf94b 100644
  bool SyscallSets::IsNetworkSocketInformation(int sysno) {
    switch (sysno) {
      case __NR_getpeername:
-@@ -520,7 +534,7 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) {
+@@ -527,7 +541,7 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) {
      case __NR_mincore:
      case __NR_mlockall:
  #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -524,7 +522,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_mmap:
  #endif
  #if defined(__i386__) || defined(__arm__) || \
-@@ -550,7 +564,8 @@ bool SyscallSets::IsAllowedGeneralIo(int sysno) {
+@@ -557,7 +571,8 @@ bool SyscallSets::IsAllowedGeneralIo(int sysno) {
    switch (sysno) {
      case __NR_lseek:
  #if defined(__i386__) || defined(__arm__) || \
@@ -534,7 +532,7 @@ index d3693fd78..d492cf94b 100644
      case __NR__llseek:
  #endif
  #if !defined(__aarch64__)
-@@ -562,26 +577,28 @@ bool SyscallSets::IsAllowedGeneralIo(int sysno) {
+@@ -569,26 +584,28 @@ bool SyscallSets::IsAllowedGeneralIo(int sysno) {
      case __NR_readv:
      case __NR_pread64:
  #if defined(__arm__) || \
@@ -569,7 +567,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_sendmsg:  // Could specify destination.
      case __NR_sendto:   // Could specify destination.
  #endif
-@@ -638,7 +655,8 @@ bool SyscallSets::IsAllowedBasicScheduler(int sysno) {
+@@ -645,7 +662,8 @@ bool SyscallSets::IsAllowedBasicScheduler(int sysno) {
        return true;
      case __NR_getpriority:
  #if defined(__i386__) || defined(__arm__) || \
@@ -579,7 +577,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_nice:
  #endif
      case __NR_setpriority:
-@@ -650,7 +668,8 @@ bool SyscallSets::IsAllowedBasicScheduler(int sysno) {
+@@ -657,7 +675,8 @@ bool SyscallSets::IsAllowedBasicScheduler(int sysno) {
  bool SyscallSets::IsAdminOperation(int sysno) {
    switch (sysno) {
  #if defined(__i386__) || defined(__arm__) || \
@@ -589,7 +587,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_bdflush:
  #endif
      case __NR_kexec_load:
-@@ -666,7 +685,8 @@ bool SyscallSets::IsAdminOperation(int sysno) {
+@@ -673,7 +692,8 @@ bool SyscallSets::IsAdminOperation(int sysno) {
  
  bool SyscallSets::IsKernelModule(int sysno) {
    switch (sysno) {
@@ -599,7 +597,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_create_module:
      case __NR_get_kernel_syms:  // Should ENOSYS.
      case __NR_query_module:
-@@ -699,7 +719,8 @@ bool SyscallSets::IsFsControl(int sysno) {
+@@ -706,7 +726,8 @@ bool SyscallSets::IsFsControl(int sysno) {
      case __NR_swapoff:
      case __NR_swapon:
  #if defined(__i386__) || \
@@ -609,7 +607,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_umount:
  #endif
      case __NR_umount2:
-@@ -715,7 +736,7 @@ bool SyscallSets::IsNuma(int sysno) {
+@@ -722,7 +743,7 @@ bool SyscallSets::IsNuma(int sysno) {
      case __NR_getcpu:
      case __NR_mbind:
  #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -618,7 +616,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_migrate_pages:
  #endif
      case __NR_move_pages:
-@@ -744,14 +765,15 @@ bool SyscallSets::IsGlobalProcessEnvironment(int sysno) {
+@@ -751,14 +772,15 @@ bool SyscallSets::IsGlobalProcessEnvironment(int sysno) {
    switch (sysno) {
      case __NR_acct:  // Privileged.
  #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -637,7 +635,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_ulimit:
  #endif
      case __NR_getrusage:
-@@ -785,7 +807,7 @@ bool SyscallSets::IsGlobalSystemStatus(int sysno) {
+@@ -792,7 +814,7 @@ bool SyscallSets::IsGlobalSystemStatus(int sysno) {
  #endif
      case __NR_sysinfo:
      case __NR_uname:
@@ -646,7 +644,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_olduname:
      case __NR_oldolduname:
  #endif
-@@ -847,8 +869,16 @@ bool SyscallSets::IsSystemVSemaphores(int sysno) {
+@@ -854,8 +876,16 @@ bool SyscallSets::IsSystemVSemaphores(int sysno) {
  }
  #endif
  
@@ -664,7 +662,7 @@ index d3693fd78..d492cf94b 100644
      (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
  // These give a lot of ambient authority and bypass the setuid sandbox.
  bool SyscallSets::IsSystemVSharedMemory(int sysno) {
-@@ -880,7 +910,8 @@ bool SyscallSets::IsSystemVMessageQueue(int sysno) {
+@@ -887,7 +917,8 @@ bool SyscallSets::IsSystemVMessageQueue(int sysno) {
  #endif
  
  #if defined(__i386__) || \
@@ -674,7 +672,7 @@ index d3693fd78..d492cf94b 100644
  // Big system V multiplexing system call.
  bool SyscallSets::IsSystemVIpc(int sysno) {
    switch (sysno) {
-@@ -900,7 +931,8 @@ bool SyscallSets::IsAnySystemV(int sysno) {
+@@ -907,7 +938,8 @@ bool SyscallSets::IsAnySystemV(int sysno) {
    return IsSystemVMessageQueue(sysno) || IsSystemVSemaphores(sysno) ||
           IsSystemVSharedMemory(sysno);
  #elif defined(__i386__) || \
@@ -684,7 +682,7 @@ index d3693fd78..d492cf94b 100644
    return IsSystemVIpc(sysno);
  #endif
  }
-@@ -953,7 +985,8 @@ bool SyscallSets::IsFaNotify(int sysno) {
+@@ -960,7 +992,8 @@ bool SyscallSets::IsFaNotify(int sysno) {
  bool SyscallSets::IsTimer(int sysno) {
    switch (sysno) {
      case __NR_getitimer:
@@ -694,7 +692,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_alarm:
  #endif
      case __NR_setitimer:
-@@ -1012,18 +1045,22 @@ bool SyscallSets::IsMisc(int sysno) {
+@@ -1019,18 +1052,22 @@ bool SyscallSets::IsMisc(int sysno) {
      case __NR_syncfs:
      case __NR_vhangup:
  // The system calls below are not implemented.
@@ -721,7 +719,7 @@ index d3693fd78..d492cf94b 100644
      case __NR_gtty:
      case __NR_idle:
      case __NR_lock:
-@@ -1031,20 +1068,22 @@ bool SyscallSets::IsMisc(int sysno) {
+@@ -1038,20 +1075,22 @@ bool SyscallSets::IsMisc(int sysno) {
      case __NR_prof:
      case __NR_profil:
  #endif
@@ -889,7 +887,7 @@ index e47e98bf5..d53a7ff56 100644
    SECCOMP_RESULT(ctx) = static_cast<greg_t>(ret_val);
  }
 diff --git sandbox/linux/seccomp-bpf/trap.cc sandbox/linux/seccomp-bpf/trap.cc
-index 9884be8bb..98e4371aa 100644
+index f5b86a73a..5e6c4a068 100644
 --- sandbox/linux/seccomp-bpf/trap.cc
 +++ sandbox/linux/seccomp-bpf/trap.cc
 @@ -232,6 +232,20 @@ void Trap::SigSys(int nr, LinuxSigInfo* info, ucontext_t* ctx) {
@@ -940,23 +938,23 @@ index fcfd2aa12..f6eb32fb7 100644
    return syscall(__NR_clone, flags, child_stack, ptid, tls, ctid);
  #endif
 diff --git sandbox/linux/syscall_broker/broker_process.cc sandbox/linux/syscall_broker/broker_process.cc
-index 8321d2379..7e5ad1de3 100644
+index d72c9d238..77f1d95f5 100644
 --- sandbox/linux/syscall_broker/broker_process.cc
 +++ sandbox/linux/syscall_broker/broker_process.cc
-@@ -157,7 +157,7 @@ bool BrokerProcess::IsSyscallAllowed(int sysno) const {
- #if defined(__NR_fstatat)
-     case __NR_fstatat:
+@@ -169,7 +169,7 @@ bool BrokerProcess::IsSyscallBrokerable(int sysno, bool fast_check) const {
+ #if defined(__NR_fstatat64)
+     case __NR_fstatat64:
  #endif
 -#if defined(__x86_64__) || defined(__aarch64__)
 +#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__)
      case __NR_newfstatat:
  #endif
-       return !fast_check_in_client_ || allowed_command_set_.test(COMMAND_STAT);
+       return !fast_check || allowed_command_set_.test(COMMAND_STAT);
 diff --git sandbox/linux/system_headers/linux_seccomp.h sandbox/linux/system_headers/linux_seccomp.h
-index a60fe2ad3..9dccdb51d 100644
+index 1fa47ed09..39cc9ab53 100644
 --- sandbox/linux/system_headers/linux_seccomp.h
 +++ sandbox/linux/system_headers/linux_seccomp.h
-@@ -29,6 +29,9 @@
+@@ -41,6 +41,9 @@
  #ifndef EM_AARCH64
  #define EM_AARCH64 183
  #endif
@@ -966,7 +964,7 @@ index a60fe2ad3..9dccdb51d 100644
  
  #ifndef __AUDIT_ARCH_64BIT
  #define __AUDIT_ARCH_64BIT 0x80000000
-@@ -54,6 +57,12 @@
+@@ -73,6 +76,12 @@
  #ifndef AUDIT_ARCH_AARCH64
  #define AUDIT_ARCH_AARCH64 (EM_AARCH64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE)
  #endif
@@ -1055,13 +1053,13 @@ index 000000000..07728e087
 +//TODO: is it necessary to redefine ucontext on PPC64?
 +
 +#endif  // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_
-diff --git services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc
-index fb89b3356..1e984731e 100644
+diff --git sandbox/policy/linux/bpf_renderer_policy_linux.cc sandbox/policy/linux/bpf_renderer_policy_linux.cc
+index 2588fc792..d455c4601 100644
 --- sandbox/policy/linux/bpf_renderer_policy_linux.cc
 +++ sandbox/policy/linux/bpf_renderer_policy_linux.cc
 @@ -15,6 +15,11 @@
  #include "sandbox/linux/system_headers/linux_syscalls.h"
- #include "services/service_manager/sandbox/linux/sandbox_linux.h"
+ #include "sandbox/policy/linux/sandbox_linux.h"
  
 +// On PPC64, TCGETS is defined in terms of struct termios, so we must include termios.h
 +#ifdef __powerpc64__
@@ -1072,7 +1070,7 @@ index fb89b3356..1e984731e 100644
  // <linux/dma-buf.h> once kernel version 4.6 becomes widely used.
  #include <linux/types.h>
 diff --git third_party/angle/src/compiler/translator/InfoSink.h third_party/angle/src/compiler/translator/InfoSink.h
-index 3a807e1e..5258617a 100644
+index 3a807e1e3..5258617a7 100644
 --- third_party/angle/src/compiler/translator/InfoSink.h
 +++ third_party/angle/src/compiler/translator/InfoSink.h
 @@ -92,7 +92,16 @@ class TInfoSinkBase
@@ -1094,7 +1092,7 @@ index 3a807e1e..5258617a 100644
      }
      // Write boolean values as their names instead of integral value.
 diff --git third_party/angle/src/libANGLE/Constants.h third_party/angle/src/libANGLE/Constants.h
-index 42964cc1..6607deeb 100644
+index fcbc9246a..39ae66148 100644
 --- third_party/angle/src/libANGLE/Constants.h
 +++ third_party/angle/src/libANGLE/Constants.h
 @@ -9,6 +9,7 @@
@@ -1106,10 +1104,10 @@ index 42964cc1..6607deeb 100644
  
  #include <stdint.h>
 diff --git third_party/boringssl/BUILD.gn third_party/boringssl/BUILD.gn
-index b435499f4..ac8a84b6d 100644
+index 17cf9cda9..8ce96bd32 100644
 --- third_party/boringssl/BUILD.gn
 +++ third_party/boringssl/BUILD.gn
-@@ -101,6 +101,13 @@ if (is_win && !is_msan && current_cpu != "arm64") {
+@@ -103,6 +103,13 @@ if (is_win && !is_msan && current_cpu != "arm64") {
        } else {
          public_configs = [ ":no_asm_config" ]
        }
@@ -1124,10 +1122,10 @@ index b435499f4..ac8a84b6d 100644
        public_configs = [ ":no_asm_config" ]
      }
 diff --git third_party/breakpad/BUILD.gn third_party/breakpad/BUILD.gn
-index 5617de88..dc8bc176 100644
+index 4af3d7bbf..adbf54159 100644
 --- third_party/breakpad/BUILD.gn
 +++ third_party/breakpad/BUILD.gn
-@@ -598,7 +598,6 @@ if (is_linux || is_android) {
+@@ -596,7 +596,6 @@ if (is_linux || is_chromeos || is_android) {
        "breakpad/src/client/minidump_file_writer.h",
        "breakpad/src/common/convert_UTF.cc",
        "breakpad/src/common/convert_UTF.h",
@@ -1135,7 +1133,7 @@ index 5617de88..dc8bc176 100644
        "breakpad/src/common/linux/elf_core_dump.cc",
        "breakpad/src/common/linux/elf_core_dump.h",
        "breakpad/src/common/linux/elfutils.cc",
-@@ -636,6 +635,14 @@ if (is_linux || is_android) {
+@@ -634,6 +633,14 @@ if (is_linux || is_chromeos || is_android) {
  
      libs = [ "dl" ]
  
@@ -1150,7 +1148,7 @@ index 5617de88..dc8bc176 100644
      include_dirs = [
        ".",
        "breakpad/src",
-@@ -686,7 +693,6 @@ if (is_linux || is_android) {
+@@ -682,7 +689,6 @@ if (is_linux || is_chromeos || is_android) {
        "breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc",
        "breakpad/src/client/linux/minidump_writer/minidump_writer_unittest_utils.cc",
        "breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader_unittest.cc",
@@ -1159,7 +1157,7 @@ index 5617de88..dc8bc176 100644
        "breakpad/src/common/linux/file_id_unittest.cc",
        "breakpad/src/common/linux/linux_libc_support_unittest.cc",
 diff --git third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
-index 07d9171a..9aed4cb3 100644
+index 07d9171a0..9aed4cb36 100644
 --- third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
 +++ third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
 @@ -44,6 +44,8 @@ typedef MDRawContextARM RawContextCPU;
@@ -1172,7 +1170,7 @@ index 07d9171a..9aed4cb3 100644
  #error "This code has not been ported to your platform yet."
  #endif
 diff --git third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
-index aae1dc13..03afec7a 100644
+index aae1dc13b..03afec7a5 100644
 --- third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
 +++ third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
 @@ -270,7 +270,42 @@ void ThreadInfo::FillCPUContext(RawContextCPU* out) const {
@@ -1258,7 +1256,7 @@ index aae1dc13..03afec7a 100644
 +
  }  // namespace google_breakpad
 diff --git third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
-index fb216fa6..593aac82 100644
+index fb216fa6d..593aac822 100644
 --- third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
 +++ third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
 @@ -68,6 +68,10 @@ struct ThreadInfo {
@@ -1285,10 +1283,10 @@ index fb216fa6..593aac82 100644
  
  }  // namespace google_breakpad
 diff --git third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
-index ee515c41..1090470f 100644
+index 6eec1be24..741983a1a 100644
 --- third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
 +++ third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
-@@ -254,6 +254,48 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
+@@ -254,6 +254,48 @@ void UContextReader::FillCPUContext(RawContextCPU* out, const ucontext_t* uc) {
    out->float_save.fir = uc->uc_mcontext.fpc_eir;  // Unused.
  #endif
  }
@@ -1338,21 +1336,21 @@ index ee515c41..1090470f 100644
  
  }  // namespace google_breakpad
 diff --git third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
-index 8e74a8a5..7cb667a7 100644
+index 7d4100881..c122ac92e 100644
 --- third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
 +++ third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
 @@ -55,6 +55,9 @@ struct UContextReader {
  #elif defined(__aarch64__)
-   static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+   static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc,
                               const struct fpsimd_context* fpregs);
 +#elif defined(__powerpc64__)
 +  static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
 +                             const vrregset_t* vregs);
  #else
-   static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc);
+   static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc);
  #endif
 diff --git third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
-index c65feaa1..5a7ab50c 100644
+index a6cb5f984..ae16b64d9 100644
 --- third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
 +++ third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
 @@ -461,9 +461,16 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) {
@@ -1373,7 +1371,7 @@ index c65feaa1..5a7ab50c 100644
    // and 'float_state' is not a member of CrashContext.
    ucontext_t* uc_ptr = (ucontext_t*)uc;
    if (uc_ptr->uc_mcontext.fpregs) {
-@@ -701,11 +708,19 @@ bool ExceptionHandler::WriteMinidump() {
+@@ -708,11 +715,19 @@ bool ExceptionHandler::WriteMinidump() {
    }
  #endif
  
@@ -1394,7 +1392,7 @@ index c65feaa1..5a7ab50c 100644
    context.tid = sys_gettid();
  
    // Add an exception stream to the minidump for better reporting.
-@@ -726,6 +741,9 @@ bool ExceptionHandler::WriteMinidump() {
+@@ -733,6 +748,9 @@ bool ExceptionHandler::WriteMinidump() {
  #elif defined(__mips__)
    context.siginfo.si_addr =
        reinterpret_cast<void*>(context.context.uc_mcontext.pc);
@@ -1405,7 +1403,7 @@ index c65feaa1..5a7ab50c 100644
  #error "This code has not been ported to your platform yet."
  #endif
 diff --git third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
-index f44483ff..36ce6d6c 100644
+index f80843ea7..260dd10f7 100644
 --- third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
 +++ third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
 @@ -192,7 +192,11 @@ class ExceptionHandler {
@@ -1422,7 +1420,7 @@ index f44483ff..36ce6d6c 100644
      // In case of MIPS Linux FP state is already part of ucontext_t so
      // 'float_state' is not required.
 diff --git third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
-index 8d8809fa..e2eb031e 100644
+index 35dcbfd4d..7934370fd 100644
 --- third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
 +++ third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
 @@ -307,7 +307,7 @@ TEST(ExceptionHandlerTest, ParallelChildCrashesDontHang) {
@@ -1457,7 +1455,7 @@ index 8d8809fa..e2eb031e 100644
  
    const pid_t child = fork();
 diff --git third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
-index fa3c1713..6ce709e2 100644
+index fa3c1713a..6ce709e2f 100644
 --- third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
 +++ third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
 @@ -138,7 +138,9 @@ class MicrodumpWriter {
@@ -1503,7 +1501,7 @@ index fa3c1713..6ce709e2 100644
  #endif
    LinuxDumper* dumper_;
 diff --git third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
-index 6339ac0c..291af106 100644
+index 6339ac0cd..291af106b 100644
 --- third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
 +++ third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
 @@ -279,10 +279,19 @@ TEST(MicrodumpWriterTest, BasicWithMappings) {
@@ -1530,7 +1528,7 @@ index 6339ac0c..291af106 100644
    ASSERT_NE(std::string::npos,
              buf.find("M 00001000 0000002A 00001000 "
 diff --git third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
-index 41506898..b93e4afc 100644
+index 415068983..b93e4afcf 100644
 --- third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
 +++ third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
 @@ -112,6 +112,9 @@ bool LinuxCoreDumper::GetThreadInfoByIndex(size_t index, ThreadInfo* info) {
@@ -1556,7 +1554,7 @@ index 41506898..b93e4afc 100644
          for (int i = EF_R0; i <= EF_R31; i++)
            info.mcontext.gregs[i - EF_R0] = status->pr_reg[i];
 diff --git third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
-index 1112035b..8523dad6 100644
+index 7fd6532ad..199cbfffd 100644
 --- third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
 +++ third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
 @@ -765,7 +765,9 @@ bool LinuxDumper::GetStackInfo(const void** stack, size_t* stack_len,
@@ -1571,7 +1569,7 @@ index 1112035b..8523dad6 100644
    const MappingInfo* mapping = FindMapping(stack_pointer);
    if (!mapping)
 diff --git third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
-index f4a75d90..020981f5 100644
+index 7bee160f1..07bb2b81a 100644
 --- third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
 +++ third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
 @@ -63,7 +63,8 @@ namespace google_breakpad {
@@ -1585,7 +1583,7 @@ index f4a75d90..020981f5 100644
  #endif
  
 diff --git third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
-index 3ad48e50..1688c365 100644
+index 331f4bb34..3f722947f 100644
 --- third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
 +++ third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
 @@ -51,6 +51,8 @@
@@ -1598,7 +1596,7 @@ index 3ad48e50..1688c365 100644
  #error This test has not been ported to this platform.
  #endif
 diff --git third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
-index e3ddb81a..fa28575e 100644
+index e3ddb81a6..fa28575ef 100644
 --- third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
 +++ third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
 @@ -149,19 +149,27 @@ bool LinuxPtraceDumper::CopyFromProcess(void* dest, pid_t child,
@@ -1644,7 +1642,7 @@ index e3ddb81a..fa28575e 100644
  #error "This code hasn't been ported to your platform yet."
  #endif
 diff --git third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
-index ea6b9a12..9b318fe0 100644
+index da71e15dc..12bfb317a 100644
 --- third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
 +++ third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
 @@ -462,6 +462,9 @@ TEST(LinuxPtraceDumperTest, VerifyStackReadWithMultipleThreads) {
@@ -1667,7 +1665,7 @@ index ea6b9a12..9b318fe0 100644
  #error This test has not been ported to this platform.
  #endif
 diff --git third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
-index f8cdf2a1..cb808c15 100644
+index 32634ef00..2a56948de 100644
 --- third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
 +++ third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
 @@ -136,7 +136,9 @@ class MinidumpWriter {
@@ -1724,7 +1722,7 @@ index f8cdf2a1..cb808c15 100644
  #endif
    LinuxDumper* dumper_;
 diff --git third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
-index e3b0b16d..ccd8aa0a 100644
+index e3b0b16da..ccd8aa0a4 100644
 --- third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
 +++ third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
 @@ -48,6 +48,8 @@ class ExceptionHandler;
@@ -1737,7 +1735,7 @@ index e3b0b16d..ccd8aa0a 100644
  typedef std::remove_pointer<fpregset_t>::type fpstate_t;
  #endif
 diff --git third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
-index 3017a49a..364efd79 100644
+index d192e5cbb..fc1bfa8d7 100644
 --- third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
 +++ third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
 @@ -715,6 +715,9 @@ TEST(MinidumpWriterTest, InvalidStackPointer) {
@@ -1751,7 +1749,7 @@ index 3017a49a..364efd79 100644
  # error "This code has not been ported to your platform yet."
  #endif
 diff --git third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
-index 4e938269..f0ff15d9 100644
+index 99362945c..c54ba7145 100644
 --- third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
 +++ third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
 @@ -65,8 +65,7 @@ bool MemoryMappedFile::Map(const char* path, size_t offset) {
@@ -1765,7 +1763,7 @@ index 4e938269..f0ff15d9 100644
    if (sys_fstat(fd, &st) == -1 || st.st_size < 0) {
  #else
 diff --git third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
-index fad59f40..616496d6 100644
+index fad59f40c..616496d67 100644
 --- third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
 +++ third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
 @@ -176,9 +176,10 @@ TEST_F(MemoryMappedFileTest, RemapAfterMap) {
@@ -1783,10 +1781,10 @@ index fad59f40..616496d6 100644
      data1[i] = i & 0x7f;
    }
 diff --git third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
-index 43c86314..27325b81 100644
+index 5803b90d5..2a1cf14f0 100644
 --- third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
 +++ third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
-@@ -57,8 +57,9 @@
+@@ -57,8 +57,9 @@ TEST(PageAllocatorTest, LargeObject) {
  
    EXPECT_EQ(0U, allocator.pages_allocated());
    uint8_t* p = reinterpret_cast<uint8_t*>(allocator.Alloc(10000));
@@ -1798,7 +1796,7 @@ index 43c86314..27325b81 100644
      uint8_t* p = reinterpret_cast<uint8_t*>(allocator.Alloc(i));
      ASSERT_FALSE(p == NULL);
 diff --git third_party/breakpad/breakpad/src/processor/exploitability_linux.cc third_party/breakpad/breakpad/src/processor/exploitability_linux.cc
-index ccc9f145..debaed4d 100644
+index 798056dfa..22bd81fff 100644
 --- third_party/breakpad/breakpad/src/processor/exploitability_linux.cc
 +++ third_party/breakpad/breakpad/src/processor/exploitability_linux.cc
 @@ -202,12 +202,14 @@ bool ExploitabilityLinux::EndedOnIllegalWrite(uint64_t instruction_ptr) {
@@ -1817,7 +1815,7 @@ index ccc9f145..debaed4d 100644
        // Unsupported architecture. Note that ARM architectures are not
        // supported because objdump does not support ARM.
 diff --git third_party/breakpad/breakpad/src/processor/exploitability_unittest.cc third_party/breakpad/breakpad/src/processor/exploitability_unittest.cc
-index 528ee5f2..72764d6c 100644
+index 528ee5f21..72764d6c1 100644
 --- third_party/breakpad/breakpad/src/processor/exploitability_unittest.cc
 +++ third_party/breakpad/breakpad/src/processor/exploitability_unittest.cc
 @@ -104,6 +104,8 @@ ExploitabilityFor(const string& filename) {
@@ -1875,7 +1873,7 @@ index 528ee5f2..72764d6c 100644
  
  }  // namespace
 diff --git third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
-index a60be323..35b11b6d 100644
+index aade82c99..195aa73f3 100644
 --- third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
 +++ third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
 @@ -77,6 +77,8 @@
@@ -1959,7 +1957,7 @@ index a60be323..35b11b6d 100644
  #error "This code has not been ported to your platform yet"
  #endif
 diff --git third_party/crashpad/crashpad/CONTRIBUTORS third_party/crashpad/crashpad/CONTRIBUTORS
-index 8724b7f3..8e29424e 100644
+index 8724b7f32..8e29424ef 100644
 --- third_party/crashpad/crashpad/CONTRIBUTORS
 +++ third_party/crashpad/crashpad/CONTRIBUTORS
 @@ -13,3 +13,4 @@ Mark Mentovai <mark@chromium.org>
@@ -1968,7 +1966,7 @@ index 8724b7f3..8e29424e 100644
  Joshua Peraza <jperaza@chromium.org>
 +Shawn Anastasio <shawn@anastas.io>
 diff --git third_party/crashpad/crashpad/compat/linux/sys/user.h third_party/crashpad/crashpad/compat/linux/sys/user.h
-index 6ed77a98..1fd83469 100644
+index 6ed77a98e..1fd83469a 100644
 --- third_party/crashpad/crashpad/compat/linux/sys/user.h
 +++ third_party/crashpad/crashpad/compat/linux/sys/user.h
 @@ -15,6 +15,7 @@
@@ -1980,7 +1978,7 @@ index 6ed77a98..1fd83469 100644
  
  #include <features.h>
 diff --git third_party/crashpad/crashpad/minidump/minidump_context.h third_party/crashpad/crashpad/minidump/minidump_context.h
-index 3a3e603c..3118d9e9 100644
+index 3a3e603cb..3118d9e9f 100644
 --- third_party/crashpad/crashpad/minidump/minidump_context.h
 +++ third_party/crashpad/crashpad/minidump/minidump_context.h
 @@ -592,6 +592,70 @@ struct MinidumpContextMIPS64 {
@@ -2055,7 +2053,7 @@ index 3a3e603c..3118d9e9 100644
  
  #endif  // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_H_
 diff --git third_party/crashpad/crashpad/minidump/minidump_context_writer.cc third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
-index d7e53a49..d89eb9e0 100644
+index d7e53a493..d89eb9e01 100644
 --- third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
 +++ third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
 @@ -101,6 +101,13 @@ MinidumpContextWriter::CreateFromSnapshot(const CPUContext* context_snapshot) {
@@ -2121,7 +2119,7 @@ index d7e53a49..d89eb9e0 100644
 +
  }  // namespace crashpad
 diff --git third_party/crashpad/crashpad/minidump/minidump_context_writer.h third_party/crashpad/crashpad/minidump/minidump_context_writer.h
-index d4ab936e..1d22fc59 100644
+index d4ab936ee..1d22fc59c 100644
 --- third_party/crashpad/crashpad/minidump/minidump_context_writer.h
 +++ third_party/crashpad/crashpad/minidump/minidump_context_writer.h
 @@ -315,6 +315,45 @@ class MinidumpContextMIPS64Writer final : public MinidumpContextWriter {
@@ -2171,7 +2169,7 @@ index d4ab936e..1d22fc59 100644
  
  #endif  // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_WRITER_H_
 diff --git third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
-index 3216a906..a9fcbe9d 100644
+index 3216a906b..a9fcbe9d8 100644
 --- third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
 +++ third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
 @@ -213,6 +213,21 @@ TEST(MinidumpContextWriter, MIPS64_FromSnapshot) {
@@ -2197,10 +2195,10 @@ index 3216a906..a9fcbe9d 100644
  }  // namespace test
  }  // namespace crashpad
 diff --git third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
-index a1340760..95dc9252 100644
+index 0974e3ddf..b71ec5880 100644
 --- third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
 +++ third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
-@@ -126,6 +126,8 @@ std::string MinidumpMiscInfoDebugBuildString() {
+@@ -135,6 +135,8 @@ std::string MinidumpMiscInfoDebugBuildString() {
    static constexpr char kCPU[] = "mips";
  #elif defined(ARCH_CPU_MIPS64EL)
    static constexpr char kCPU[] = "mips64";
@@ -2210,10 +2208,10 @@ index a1340760..95dc9252 100644
  #error define kCPU for this CPU
  #endif
 diff --git third_party/crashpad/crashpad/snapshot/capture_memory.cc third_party/crashpad/crashpad/snapshot/capture_memory.cc
-index a51626cc..61e0b20a 100644
+index 7a1b2763c..beda8da9e 100644
 --- third_party/crashpad/crashpad/snapshot/capture_memory.cc
 +++ third_party/crashpad/crashpad/snapshot/capture_memory.cc
-@@ -111,6 +111,11 @@ void CaptureMemory::PointedToByContext(const CPUContext& context,
+@@ -112,6 +112,11 @@ void CaptureMemory::PointedToByContext(const CPUContext& context,
    for (size_t i = 0; i < base::size(context.mipsel->regs); ++i) {
      MaybeCaptureMemoryAround(delegate, context.mipsel->regs[i]);
    }
@@ -2226,7 +2224,7 @@ index a51626cc..61e0b20a 100644
  #error Port.
  #endif
 diff --git third_party/crashpad/crashpad/snapshot/cpu_architecture.h third_party/crashpad/crashpad/snapshot/cpu_architecture.h
-index 811a7209..f4f83981 100644
+index 811a72095..f4f83981d 100644
 --- third_party/crashpad/crashpad/snapshot/cpu_architecture.h
 +++ third_party/crashpad/crashpad/snapshot/cpu_architecture.h
 @@ -43,7 +43,10 @@ enum CPUArchitecture {
@@ -2242,7 +2240,7 @@ index 811a7209..f4f83981 100644
  
  }  // namespace crashpad
 diff --git third_party/crashpad/crashpad/snapshot/cpu_context.cc third_party/crashpad/crashpad/snapshot/cpu_context.cc
-index 6fb8d7e7..b01f7cad 100644
+index c75b5555e..aeade577a 100644
 --- third_party/crashpad/crashpad/snapshot/cpu_context.cc
 +++ third_party/crashpad/crashpad/snapshot/cpu_context.cc
 @@ -169,6 +169,8 @@ uint64_t CPUContext::InstructionPointer() const {
@@ -2272,7 +2270,7 @@ index 6fb8d7e7..b01f7cad 100644
      case kCPUArchitectureX86:
      case kCPUArchitectureARM:
 diff --git third_party/crashpad/crashpad/snapshot/cpu_context.h third_party/crashpad/crashpad/snapshot/cpu_context.h
-index fb23c467..eebede63 100644
+index fb23c4679..eebede63c 100644
 --- third_party/crashpad/crashpad/snapshot/cpu_context.h
 +++ third_party/crashpad/crashpad/snapshot/cpu_context.h
 @@ -352,6 +352,24 @@ struct CPUContextMIPS64 {
@@ -2309,7 +2307,7 @@ index fb23c467..eebede63 100644
  };
  
 diff --git third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
-index 9f46a489..aa677c4e 100644
+index 9f46a4897..aa677c4eb 100644
 --- third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
 +++ third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
 @@ -15,6 +15,7 @@
@@ -2400,24 +2398,20 @@ index 9f46a489..aa677c4e 100644
  }  // namespace crashpad
  
 diff --git third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
-index be22c903..c5df23d1 100644
+index d32bd1937..2dd538c2b 100644
 --- third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
 +++ third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
-@@ -159,9 +159,11 @@ void TestAgainstTarget(PtraceConnection* connection) {
-           const bool is_vdso_mapping =
+@@ -192,6 +192,8 @@ void TestAgainstTarget(PtraceConnection* connection) {
                device == 0 && inode == 0 && mapping_name == "[vdso]";
+ #if defined(ARCH_CPU_X86)
+           static constexpr char kPrefix[] = "linux-gate.so.";
++#elif defined(ARCH_CPU_PPC64)
++          static constexpr char kPrefix[] = "linux-vdso64.so.";
+ #else
            static constexpr char kPrefix[] = "linux-vdso.so.";
-+          static constexpr char kPrefix64[] = "linux-vdso64.so.";
-           return is_vdso_mapping ==
-                  (module_name.empty() ||
--                  module_name.compare(0, strlen(kPrefix), kPrefix) == 0);
-+                  module_name.compare(0, strlen(kPrefix), kPrefix) == 0 ||
-+                  module_name.compare(0, strlen(kPrefix64), kPrefix64) == 0);
-         },
-         module_mapping->name,
-         module_mapping->device,
+ #endif
 diff --git third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
-index cd40b3b1..6bcf23b6 100644
+index cd40b3b12..6bcf23b6f 100644
 --- third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
 +++ third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
 @@ -323,6 +323,69 @@ bool ExceptionSnapshotLinux::ReadContext<ContextTraits64>(
@@ -2491,7 +2485,7 @@ index cd40b3b1..6bcf23b6 100644
  
  bool ExceptionSnapshotLinux::Initialize(ProcessReaderLinux* process_reader,
 diff --git third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
-index ea0cd210..e42df520 100644
+index ea0cd2106..e42df520f 100644
 --- third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
 +++ third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
 @@ -84,6 +84,8 @@ class ExceptionSnapshotLinux final : public ExceptionSnapshot {
@@ -2504,7 +2498,7 @@ index ea0cd210..e42df520 100644
    } context_union_;
    CPUContext context_;
 diff --git third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
-index e4ff1ab7..25534dd0 100644
+index c17170b43..b6a714cc6 100644
 --- third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
 +++ third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
 @@ -296,7 +296,28 @@ void ExpectContext(const CPUContext& actual, const NativeCPUContext& expected) {
@@ -2537,7 +2531,7 @@ index e4ff1ab7..25534dd0 100644
  #error Port.
  #endif
 diff --git third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
-index b96abfe7..df12ca56 100644
+index ee246e8bc..9555dce04 100644
 --- third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
 +++ third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
 @@ -108,6 +108,8 @@ void ProcessReaderLinux::Thread::InitializeStack(ProcessReaderLinux* reader) {
@@ -2549,21 +2543,8 @@ index b96abfe7..df12ca56 100644
  #else
  #error Port.
  #endif
-diff --git third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc
-index 5b572361..049c3285 100644
---- third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc
-+++ third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc
-@@ -612,6 +612,8 @@ bool WriteTestModule(const base::FilePath& module_path) {
-   module.ehdr.e_machine = EM_AARCH64;
- #elif defined(ARCH_CPU_MIPSEL) || defined(ARCH_CPU_MIPS64EL)
-   module.ehdr.e_machine = EM_MIPS;
-+#elif defined(ARCH_CPU_PPC64)
-+  module.ehdr.e_machine = EM_PPC64;
- #endif
- 
-   module.ehdr.e_version = EV_CURRENT;
 diff --git third_party/crashpad/crashpad/snapshot/linux/signal_context.h third_party/crashpad/crashpad/snapshot/linux/signal_context.h
-index 11002468..8e335a09 100644
+index 110024680..a1f2da259 100644
 --- third_party/crashpad/crashpad/snapshot/linux/signal_context.h
 +++ third_party/crashpad/crashpad/snapshot/linux/signal_context.h
 @@ -422,6 +422,89 @@ static_assert(offsetof(UContext<ContextTraits64>, mcontext.fpregs) ==
@@ -2657,10 +2638,10 @@ index 11002468..8e335a09 100644
  #error Port.
  #endif  // ARCH_CPU_X86_FAMILY
 diff --git third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
-index 8564d3d4..b690ecd4 100644
+index a99da3e4b..03b973083 100644
 --- third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
 +++ third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
-@@ -203,6 +203,8 @@ CPUArchitecture SystemSnapshotLinux::GetCPUArchitecture() const {
+@@ -204,6 +204,8 @@ CPUArchitecture SystemSnapshotLinux::GetCPUArchitecture() const {
  #elif defined(ARCH_CPU_MIPS_FAMILY)
    return process_reader_->Is64Bit() ? kCPUArchitectureMIPS64EL
                                      : kCPUArchitectureMIPSEL;
@@ -2669,7 +2650,7 @@ index 8564d3d4..b690ecd4 100644
  #else
  #error port to your architecture
  #endif
-@@ -218,6 +220,9 @@ uint32_t SystemSnapshotLinux::CPURevision() const {
+@@ -219,6 +221,9 @@ uint32_t SystemSnapshotLinux::CPURevision() const {
  #elif defined(ARCH_CPU_MIPS_FAMILY)
    // Not implementable on MIPS
    return 0;
@@ -2679,7 +2660,7 @@ index 8564d3d4..b690ecd4 100644
  #else
  #error port to your architecture
  #endif
-@@ -238,6 +243,9 @@ std::string SystemSnapshotLinux::CPUVendor() const {
+@@ -239,6 +244,9 @@ std::string SystemSnapshotLinux::CPUVendor() const {
  #elif defined(ARCH_CPU_MIPS_FAMILY)
    // Not implementable on MIPS
    return std::string();
@@ -2689,7 +2670,7 @@ index 8564d3d4..b690ecd4 100644
  #else
  #error port to your architecture
  #endif
-@@ -371,6 +379,9 @@ bool SystemSnapshotLinux::NXEnabled() const {
+@@ -372,6 +380,9 @@ bool SystemSnapshotLinux::NXEnabled() const {
  #elif defined(ARCH_CPU_MIPS_FAMILY)
    // Not implementable on MIPS
    return false;
@@ -2699,8 +2680,21 @@ index 8564d3d4..b690ecd4 100644
  #else
  #error Port.
  #endif  // ARCH_CPU_X86_FAMILY
+diff --git third_party/crashpad/crashpad/snapshot/linux/test_modules.cc third_party/crashpad/crashpad/snapshot/linux/test_modules.cc
+index b2450c206..7ba78b2ae 100644
+--- third_party/crashpad/crashpad/snapshot/linux/test_modules.cc
++++ third_party/crashpad/crashpad/snapshot/linux/test_modules.cc
+@@ -110,6 +110,8 @@ bool WriteTestModule(const base::FilePath& module_path,
+   module.ehdr.e_machine = EM_AARCH64;
+ #elif defined(ARCH_CPU_MIPSEL) || defined(ARCH_CPU_MIPS64EL)
+   module.ehdr.e_machine = EM_MIPS;
++#elif defined(ARCH_CPU_PPC64)
++  module.ehdr.e_machine = EM_PPC64;
+ #endif
+ 
+   module.ehdr.e_version = EV_CURRENT;
 diff --git third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
-index e3e2bebd..8ef43752 100644
+index e3e2bebdd..8ef43752e 100644
 --- third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
 +++ third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
 @@ -186,6 +186,14 @@ bool ThreadSnapshotLinux::Initialize(ProcessReaderLinux* process_reader,
@@ -2719,7 +2713,7 @@ index e3e2bebd..8ef43752 100644
  #error Port.
  #endif
 diff --git third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
-index 44cc6f6d..d4136461 100644
+index 44cc6f6d9..d4136461e 100644
 --- third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
 +++ third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
 @@ -68,6 +68,8 @@ class ThreadSnapshotLinux final : public ThreadSnapshot {
@@ -2732,7 +2726,7 @@ index 44cc6f6d..d4136461 100644
  #error Port.
  #endif  // ARCH_CPU_X86_FAMILY
 diff --git third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
-index d3d5ebdf..3fd730cb 100644
+index d3d5ebdfb..3fd730cb5 100644
 --- third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
 +++ third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
 @@ -56,6 +56,11 @@ bool AuxiliaryVector::Read(PtraceConnection* connection) {
@@ -2747,23 +2741,8 @@ index d3d5ebdf..3fd730cb 100644
      if (!MapInsertOrReplace(&values_, type, value, nullptr)) {
        LOG(ERROR) << "duplicate auxv entry";
        return false;
-diff --git third_party/crashpad/crashpad/util/linux/ptrace_broker.cc third_party/crashpad/crashpad/util/linux/ptrace_broker.cc
-index 155a1e0c..5e50ceb5 100644
---- third_party/crashpad/crashpad/util/linux/ptrace_broker.cc
-+++ third_party/crashpad/crashpad/util/linux/ptrace_broker.cc
-@@ -94,8 +94,8 @@ int PtraceBroker::Run() {
- }
- 
- bool PtraceBroker::AllocateAttachments() {
--  constexpr size_t page_size = 4096;
--  constexpr size_t alloc_size =
-+  static size_t page_size = getpagesize();
-+  size_t alloc_size =
-       (sizeof(ScopedPtraceAttach) + page_size - 1) & ~(page_size - 1);
-   void* alloc = sbrk(alloc_size);
-   if (reinterpret_cast<intptr_t>(alloc) == -1) {
 diff --git third_party/crashpad/crashpad/util/linux/ptracer.cc third_party/crashpad/crashpad/util/linux/ptracer.cc
-index 557e0d36..08ae434b 100644
+index 557e0d363..08ae434b8 100644
 --- third_party/crashpad/crashpad/util/linux/ptracer.cc
 +++ third_party/crashpad/crashpad/util/linux/ptracer.cc
 @@ -398,6 +398,64 @@ bool GetThreadArea64(pid_t tid,
@@ -2842,7 +2821,7 @@ index 557e0d36..08ae434b 100644
                             info->thread_context,
                             &info->thread_specific_data_address,
 diff --git third_party/crashpad/crashpad/util/linux/thread_info.h third_party/crashpad/crashpad/util/linux/thread_info.h
-index 5b55c24a..dea0d1f3 100644
+index 5b55c24a7..dea0d1f39 100644
 --- third_party/crashpad/crashpad/util/linux/thread_info.h
 +++ third_party/crashpad/crashpad/util/linux/thread_info.h
 @@ -28,6 +28,10 @@
@@ -2964,10 +2943,10 @@ index 5b55c24a..dea0d1f3 100644
    LinuxVMAddress thread_specific_data_address;
  };
 diff --git third_party/crashpad/crashpad/util/misc/capture_context.h third_party/crashpad/crashpad/util/misc/capture_context.h
-index 3ff71184..3e82f4b9 100644
+index d21a24f19..acc325349 100644
 --- third_party/crashpad/crashpad/util/misc/capture_context.h
 +++ third_party/crashpad/crashpad/util/misc/capture_context.h
-@@ -68,6 +68,7 @@ using NativeCPUContext = ucontext_t;
+@@ -69,6 +69,7 @@ using NativeCPUContext = ucontext_t;
  //!     macOS/Linux/Fuchsia | x86_64       | `%%rdi`
  //!     Linux               | ARM/ARM64    | `r0`/`x0`
  //!     Linux               | MIPS/MIPS64  | `$a0`
@@ -2976,7 +2955,7 @@ index 3ff71184..3e82f4b9 100644
  //!     Additionally, the value `LR` on ARM/ARM64 will be the return address of
  //!     this function.
 diff --git third_party/crashpad/crashpad/util/misc/capture_context_linux.S third_party/crashpad/crashpad/util/misc/capture_context_linux.S
-index 52215ee5..b3e4a3ec 100644
+index 52215ee5d..b3e4a3ec7 100644
 --- third_party/crashpad/crashpad/util/misc/capture_context_linux.S
 +++ third_party/crashpad/crashpad/util/misc/capture_context_linux.S
 @@ -32,7 +32,7 @@
@@ -3204,7 +3183,7 @@ index 52215ee5..b3e4a3ec 100644
 +  blr
  #endif  // __i386__
 diff --git third_party/crashpad/crashpad/util/misc/capture_context_test.cc third_party/crashpad/crashpad/util/misc/capture_context_test.cc
-index cf23c2de..5f264bc9 100644
+index cf23c2def..5f264bc92 100644
 --- third_party/crashpad/crashpad/util/misc/capture_context_test.cc
 +++ third_party/crashpad/crashpad/util/misc/capture_context_test.cc
 @@ -57,7 +57,7 @@ void TestCaptureContext() {
@@ -3217,10 +3196,10 @@ index cf23c2de..5f264bc9 100644
    // likely fail.
    const uintptr_t kReferencePC =
 diff --git third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
-index 9fc5db28..5f69f8dc 100644
+index 30a2ab21d..60509f21d 100644
 --- third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
 +++ third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
-@@ -36,6 +36,8 @@ void SanityCheckContext(const NativeCPUContext& context) {
+@@ -35,6 +35,8 @@ void SanityCheckContext(const NativeCPUContext& context) {
    EXPECT_EQ(context.uc_mcontext.regs[0], FromPointerCast<uintptr_t>(&context));
  #elif defined(ARCH_CPU_MIPS_FAMILY)
    EXPECT_EQ(context.uc_mcontext.gregs[4], FromPointerCast<uintptr_t>(&context));
@@ -3229,7 +3208,7 @@ index 9fc5db28..5f69f8dc 100644
  #endif
  }
  
-@@ -50,6 +52,8 @@ uintptr_t ProgramCounterFromContext(const NativeCPUContext& context) {
+@@ -49,6 +51,8 @@ uintptr_t ProgramCounterFromContext(const NativeCPUContext& context) {
    return context.uc_mcontext.pc;
  #elif defined(ARCH_CPU_MIPS_FAMILY)
    return context.uc_mcontext.pc;
@@ -3238,7 +3217,7 @@ index 9fc5db28..5f69f8dc 100644
  #endif
  }
  
-@@ -64,6 +68,8 @@ uintptr_t StackPointerFromContext(const NativeCPUContext& context) {
+@@ -63,6 +67,8 @@ uintptr_t StackPointerFromContext(const NativeCPUContext& context) {
    return context.uc_mcontext.sp;
  #elif defined(ARCH_CPU_MIPS_FAMILY)
    return context.uc_mcontext.gregs[29];
@@ -3248,10 +3227,10 @@ index 9fc5db28..5f69f8dc 100644
  }
  
 diff --git third_party/crashpad/crashpad/util/posix/signals_test.cc third_party/crashpad/crashpad/util/posix/signals_test.cc
-index 58bfa8f8..8fc37c46 100644
---- third_party/crashpad/crashpad/util/posix/signals_test.cc.orig	2020-11-17 13:39:47.000000000 -0500
-+++ third_party/crashpad/crashpad/util/posix/signals_test.cc	2020-11-18 21:06:33.433408623 -0500
-@@ -46,9 +46,9 @@
+index 54cc2f19f..298b5c993 100644
+--- third_party/crashpad/crashpad/util/posix/signals_test.cc
++++ third_party/crashpad/crashpad/util/posix/signals_test.cc
+@@ -46,9 +46,9 @@ bool CanCauseSignal(int sig) {
    return sig == SIGABRT ||
           sig == SIGALRM ||
           sig == SIGBUS ||
@@ -3263,7 +3242,7 @@ index 58bfa8f8..8fc37c46 100644
  #if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARMEL)
           sig == SIGILL ||
  #endif  // defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARMEL)
-@@ -117,9 +117,11 @@
+@@ -117,9 +117,11 @@ void CauseSignal(int sig) {
        break;
      }
  
@@ -3276,7 +3255,7 @@ index 58bfa8f8..8fc37c46 100644
      case SIGFPE: {
        // Optimization makes this tricky, so get zero from a system call likely
        // to succeed, and try to do something with the result.
-@@ -137,7 +139,7 @@
+@@ -137,7 +139,7 @@ void CauseSignal(int sig) {
        fstat(quotient, &stat_buf);
        break;
      }
@@ -3286,10 +3265,10 @@ index 58bfa8f8..8fc37c46 100644
  #if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARMEL)
      case SIGILL: {
 diff --git third_party/dav1d/BUILD.gn third_party/dav1d/BUILD.gn
-index 788dc6cf..5fd7e8fd 100644
+index 6b4566fc3..c07f732ad 100644
 --- third_party/dav1d/BUILD.gn
 +++ third_party/dav1d/BUILD.gn
-@@ -182,6 +182,8 @@ static_library("dav1d_8bit") {
+@@ -184,6 +184,8 @@ static_library("dav1d_8bit") {
      sources += arm_template_sources
    } else if (current_cpu == "arm64") {
      sources += arm_template_sources
@@ -3298,7 +3277,7 @@ index 788dc6cf..5fd7e8fd 100644
    }
  
    cflags = dav1d_copts
-@@ -210,6 +212,8 @@ static_library("dav1d_10bit") {
+@@ -212,6 +214,8 @@ static_library("dav1d_10bit") {
      sources += arm_template_sources
    } else if (current_cpu == "arm64") {
      sources += arm_template_sources
@@ -3307,9 +3286,9 @@ index 788dc6cf..5fd7e8fd 100644
    }
  
    cflags = dav1d_copts
-@@ -256,6 +260,21 @@ if (current_cpu == "x86" || current_cpu == "x64") {
-       ":dav1d_config",
-     ]
+@@ -263,6 +267,21 @@ if (current_cpu == "x86" || current_cpu == "x64") {
+       defines = [ "PREFIX" ]
+     }
  
 +    cflags = dav1d_copts
 +  }
@@ -3329,7 +3308,7 @@ index 788dc6cf..5fd7e8fd 100644
      cflags = dav1d_copts
    }
  }
-@@ -285,5 +304,7 @@ static_library("dav1d") {
+@@ -292,5 +311,7 @@ static_library("dav1d") {
      }
    } else if (current_cpu == "arm" || current_cpu == "arm64") {
      deps += [ ":dav1d_arm" ]
@@ -3339,7 +3318,7 @@ index 788dc6cf..5fd7e8fd 100644
  }
 diff --git third_party/dav1d/config/linux/ppc64/config.h third_party/dav1d/config/linux/ppc64/config.h
 new file mode 100644
-index 00000000..f6ca57f7
+index 000000000..9fbbf75cc
 --- /dev/null
 +++ third_party/dav1d/config/linux/ppc64/config.h
 @@ -0,0 +1,39 @@
@@ -3383,10 +3362,10 @@ index 00000000..f6ca57f7
 +#define HAVE_UNISTD_H 1
 +
 diff --git third_party/dav1d/dav1d_generated.gni third_party/dav1d/dav1d_generated.gni
-index 8becac02..d5f4fcac 100644
+index c59cb0821..3060284a8 100644
 --- third_party/dav1d/dav1d_generated.gni
 +++ third_party/dav1d/dav1d_generated.gni
-@@ -71,6 +71,11 @@ arm_template_sources = [
+@@ -82,6 +82,11 @@ arm_template_sources = [
    "libdav1d/src/arm/mc_init_tmpl.c",
  ]
  
@@ -3399,7 +3378,7 @@ index 8becac02..d5f4fcac 100644
    "libdav1d/src/cdef_apply_tmpl.c",
    "libdav1d/src/cdef_tmpl.c",
 diff --git third_party/dav1d/generate_source.py third_party/dav1d/generate_source.py
-index 9ab5e00b..ad3feffe 100755
+index 9ab5e00b8..ad3feffee 100755
 --- third_party/dav1d/generate_source.py
 +++ third_party/dav1d/generate_source.py
 @@ -50,7 +50,8 @@ def WriteGn(fd):
@@ -3413,7 +3392,7 @@ index 9ab5e00b..ad3feffe 100755
    WriteArray(fd, "template_sources", template_sources)
  
 diff --git third_party/dav1d/libdav1d/src/ppc/types.h third_party/dav1d/libdav1d/src/ppc/types.h
-index 0b4bd72f..a0caa5e7 100644
+index 0b4bd72f0..a0caa5e71 100644
 --- third_party/dav1d/libdav1d/src/ppc/types.h
 +++ third_party/dav1d/libdav1d/src/ppc/types.h
 @@ -51,4 +51,19 @@
@@ -3437,10 +3416,10 @@ index 0b4bd72f..a0caa5e7 100644
 +
  #endif /* DAV1D_SRC_PPC_TYPES_H */
 diff --git third_party/lss/linux_syscall_support.h third_party/lss/linux_syscall_support.h
-index d2baee9d..9955ce44 100644
+index e4ac22644..1c57015db 100644
 --- third_party/lss/linux_syscall_support.h
 +++ third_party/lss/linux_syscall_support.h
-@@ -3922,7 +3922,7 @@ struct kernel_statfs {
+@@ -3947,7 +3947,7 @@ struct kernel_statfs {
        LSS_REG(2, buf);
        LSS_BODY(void*, mmap2, "0"(__r2));
      }
@@ -3449,7 +3428,7 @@ index d2baee9d..9955ce44 100644
      #define __NR__mmap2 __NR_mmap2
      LSS_INLINE _syscall6(void*, _mmap2,            void*, s,
                           size_t,                   l, int,               p,
-@@ -4033,7 +4033,7 @@ struct kernel_statfs {
+@@ -4058,7 +4058,7 @@ struct kernel_statfs {
    #if defined(__i386__) ||                                                    \
        defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) ||                     \
       (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI32) ||                   \
@@ -3471,10 +3450,10 @@ index bdac4d784..51e0f2cac 100644
  #  define SIMD_SZ 4
  #  define VZERO() ((vector float) vec_splat_u8(0))
 diff --git third_party/skia/src/sksl/SkSLString.cpp third_party/skia/src/sksl/SkSLString.cpp
-index 88eb1c7d..4be33fa5 100644
+index ec3e56964..4cf8999a2 100644
 --- third_party/skia/src/sksl/SkSLString.cpp
 +++ third_party/skia/src/sksl/SkSLString.cpp
-@@ -240,7 +240,12 @@ String to_string(double value) {
+@@ -234,7 +234,12 @@ String to_string(double value) {
      if (needsDotZero) {
          buffer << ".0";
      }
@@ -3487,12 +3466,12 @@ index 88eb1c7d..4be33fa5 100644
 +    return String(ret.c_str());
  }
  
- SKSL_INT stoi(const String& s) {
+ bool stod(const StringFragment& s, SKSL_FLOAT* value) {
 diff --git third_party/sqlite/src/amalgamation/sqlite3.c third_party/sqlite/src/amalgamation/sqlite3.c
-index 1b2c2ec7..7593dba1 100644
+index 6b4a7899d..b8c7fe414 100644
 --- third_party/sqlite/src/amalgamation/sqlite3.c
 +++ third_party/sqlite/src/amalgamation/sqlite3.c
-@@ -14400,7 +14400,8 @@ typedef INT16_TYPE LogEst;
+@@ -14474,7 +14474,8 @@ typedef INT16_TYPE LogEst;
  # if defined(i386)      || defined(__i386__)      || defined(_M_IX86) ||    \
       defined(__x86_64)  || defined(__x86_64__)    || defined(_M_X64)  ||    \
       defined(_M_AMD64)  || defined(_M_ARM)        || defined(__x86)   ||    \
@@ -3503,10 +3482,10 @@ index 1b2c2ec7..7593dba1 100644
  # elif defined(sparc)     || defined(__ppc__) || \
         defined(__ARMEB__) || defined(__AARCH64EB__)
 diff --git third_party/sqlite/src/amalgamation_dev/sqlite3.c third_party/sqlite/src/amalgamation_dev/sqlite3.c
-index 19c87689..c7ab039e 100644
+index d30c9b7de..cf75a69d9 100644
 --- third_party/sqlite/src/amalgamation_dev/sqlite3.c
 +++ third_party/sqlite/src/amalgamation_dev/sqlite3.c
-@@ -14413,7 +14413,8 @@ typedef INT16_TYPE LogEst;
+@@ -14487,7 +14487,8 @@ typedef INT16_TYPE LogEst;
  # if defined(i386)      || defined(__i386__)      || defined(_M_IX86) ||    \
       defined(__x86_64)  || defined(__x86_64__)    || defined(_M_X64)  ||    \
       defined(_M_AMD64)  || defined(_M_ARM)        || defined(__x86)   ||    \
@@ -3517,10 +3496,10 @@ index 19c87689..c7ab039e 100644
  # elif defined(sparc)     || defined(__ppc__) || \
         defined(__ARMEB__) || defined(__AARCH64EB__)
 diff --git third_party/sqlite/src/ext/rtree/rtree.c third_party/sqlite/src/ext/rtree/rtree.c
-index efaef813..4cd57d55 100644
+index f5b57a5e2..80a2d0ad8 100644
 --- third_party/sqlite/src/ext/rtree/rtree.c
 +++ third_party/sqlite/src/ext/rtree/rtree.c
-@@ -432,7 +432,7 @@ struct RtreeMatchArg {
+@@ -450,7 +450,7 @@ struct RtreeMatchArg {
  #if defined(i386)     || defined(__i386__)   || defined(_M_IX86) ||    \
      defined(__x86_64) || defined(__x86_64__) || defined(_M_X64)  ||    \
      defined(_M_AMD64) || defined(_M_ARM)     || defined(__x86)   ||    \
@@ -3530,10 +3509,10 @@ index efaef813..4cd57d55 100644
  #elif defined(sparc)    || defined(__ppc__)
  # define SQLITE_BYTEORDER    4321
 diff --git third_party/sqlite/src/src/sqliteInt.h third_party/sqlite/src/src/sqliteInt.h
-index 122e26ad..ec21dcb5 100644
+index 245070d4f..b25164e95 100644
 --- third_party/sqlite/src/src/sqliteInt.h
 +++ third_party/sqlite/src/src/sqliteInt.h
-@@ -868,7 +868,8 @@ typedef INT16_TYPE LogEst;
+@@ -877,7 +877,8 @@ typedef INT16_TYPE LogEst;
  # if defined(i386)      || defined(__i386__)      || defined(_M_IX86) ||    \
       defined(__x86_64)  || defined(__x86_64__)    || defined(_M_X64)  ||    \
       defined(_M_AMD64)  || defined(_M_ARM)        || defined(__x86)   ||    \
@@ -3544,10 +3523,10 @@ index 122e26ad..ec21dcb5 100644
  # elif defined(sparc)     || defined(__ppc__) || \
         defined(__ARMEB__) || defined(__AARCH64EB__)
 diff --git third_party/webrtc/modules/desktop_capture/differ_block.cc third_party/webrtc/modules/desktop_capture/differ_block.cc
-index dd9ab457..c005d959 100644
---- third_party/webrtc/modules/desktop_capture/differ_block.cc.orig	2020-11-17 13:42:02.000000000 -0500
-+++ third_party/webrtc/modules/desktop_capture/differ_block.cc	2020-11-18 21:11:03.039905360 -0500
-@@ -30,11 +30,7 @@
+index 4f0c5430c..54ee0829e 100644
+--- third_party/webrtc/modules/desktop_capture/differ_block.cc
++++ third_party/webrtc/modules/desktop_capture/differ_block.cc
+@@ -30,11 +30,7 @@ bool VectorDifference(const uint8_t* image1, const uint8_t* image2) {
    static bool (*diff_proc)(const uint8_t*, const uint8_t*) = nullptr;
  
    if (!diff_proc) {
@@ -3560,7 +3539,7 @@ index dd9ab457..c005d959 100644
      bool have_sse2 = GetCPUInfo(kSSE2) != 0;
      // For x86 processors, check if SSE2 is supported.
      if (have_sse2 && kBlockSize == 32) {
-@@ -44,6 +40,10 @@
+@@ -44,6 +40,10 @@ bool VectorDifference(const uint8_t* image1, const uint8_t* image2) {
      } else {
        diff_proc = &VectorDifference_C;
      }
@@ -3572,10 +3551,10 @@ index dd9ab457..c005d959 100644
    }
  
 diff --git third_party/webrtc/rtc_base/system/arch.h third_party/webrtc/rtc_base/system/arch.h
-index ed216e66..25d36c07 100644
+index be2367b85..be4ee4233 100644
 --- third_party/webrtc/rtc_base/system/arch.h
 +++ third_party/webrtc/rtc_base/system/arch.h
-@@ -50,6 +50,18 @@
+@@ -79,6 +79,18 @@
  #elif defined(__EMSCRIPTEN__)
  #define WEBRTC_ARCH_32_BITS
  #define WEBRTC_ARCH_LITTLE_ENDIAN
@@ -3594,15 +3573,15 @@ index ed216e66..25d36c07 100644
  #else
  #error Please add support for your architecture in rtc_base/system/arch.h
  #endif
- diff --git v8/BUILD.gn v8/BUILD.gn
-index 167e63503..125c445ea 100644
+diff --git v8/BUILD.gn v8/BUILD.gn
+index f39529a3a..e84fc449e 100644
 --- v8/BUILD.gn
 +++ v8/BUILD.gn
-@@ -696,6 +696,12 @@ config("toolchain") {
+@@ -850,6 +850,12 @@ config("toolchain") {
      }
      if (host_byteorder == "little") {
        defines += [ "V8_TARGET_ARCH_PPC_LE" ]
-+        cflags += [
++      cflags += [
 +        # Enable usage of AltiVec, VSX, and other POWER8 and higher features
 +        "-mcpu=power8",
 +        "-maltivec",
@@ -3611,24 +3590,12 @@ index 167e63503..125c445ea 100644
      } else if (host_byteorder == "big") {
        defines += [ "V8_TARGET_ARCH_PPC_BE" ]
        if (current_os == "aix") {
-diff --git ui/gl/features.gni ui/gl/features.gni
-index cb2c98649..5e09bc1f7 100644
---- ui/gl/features.gni
-+++ ui/gl/features.gni
-@@ -25,5 +25,6 @@ declare_args() {
-                         is_chromeos || is_fuchsia) &&
-                        (target_cpu == "x86" || target_cpu == "x64" ||
-                         target_cpu == "arm" || target_cpu == "arm64" ||
--                        target_cpu == "mipsel" || target_cpu == "mips64el")
-+                        target_cpu == "mipsel" || target_cpu == "mips64el" ||
-+                        target_cpu == "ppc64")
- }
 diff --git v8/test/BUILD.gn v8/test/BUILD.gn
-index f6d30537a..287b27080 100644
+index fb872ad39..45fc585dd 100644
 --- v8/test/BUILD.gn
 +++ v8/test/BUILD.gn
-@@ -31,7 +31,7 @@ group("gn_all") {
-     deps += [
+@@ -36,7 +36,7 @@ group("gn_all") {
+       "benchmarks/cpp:gn_all",
        "cctest:cctest",
        "cctest:generate-bytecode-expectations",
 -      "unittests:unittests",
@@ -3636,7 +3603,7 @@ index f6d30537a..287b27080 100644
      ]
    }
  }
-@@ -73,7 +73,7 @@ group("v8_bot_default") {
+@@ -78,7 +78,7 @@ group("v8_bot_default") {
      "message:v8_message",
      "mjsunit:v8_mjsunit",
      "mkgrokdump:mkgrokdump",
@@ -3645,7 +3612,7 @@ index f6d30537a..287b27080 100644
      "wasm-api-tests:wasm_api_tests",
      "wasm-js:v8_wasm_js",
      "wasm-spec-tests:v8_wasm_spec_tests",
-@@ -93,7 +93,7 @@ group("v8_default") {
+@@ -98,7 +98,7 @@ group("v8_default") {
      "message:v8_message",
      "mjsunit:v8_mjsunit",
      "mkgrokdump:mkgrokdump",
diff --git a/srcpkgs/chromium/template b/srcpkgs/chromium/template
index 098cb904da9..c08c9a6004d 100644
--- a/srcpkgs/chromium/template
+++ b/srcpkgs/chromium/template
@@ -1,7 +1,7 @@
 # Template file for 'chromium'
 pkgname=chromium
 # See http://www.chromium.org/developers/calendar for the latest version
-version=88.0.4324.182
+version=89.0.4389.72
 revision=1
 archs="i686* x86_64* aarch64* armv7l* ppc64le*"
 short_desc="Google's attempt at creating a safer, faster, and more stable browser"
@@ -9,7 +9,7 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="BSD-3-Clause"
 homepage="https://www.chromium.org/"
 distfiles="https://commondatastorage.googleapis.com/chromium-browser-official/${pkgname}-${version}.tar.xz"
-checksum=30411fc3ec2d33df4c5cad41f21affa3823c80f7dbd394f6d68f9a1e81015b81
+checksum=946a0b65aad10e0f77a539103892099b7238310c733f25b41d58b76f6ac0bc4f
 nocross=yes
 
 lib32disabled=yes
@@ -34,7 +34,7 @@ makedepends="libpng-devel gtk+-devel gtk+3-devel nss-devel pciutils-devel
  libXcursor-devel libflac-devel speex-devel libmtp-devel libwebp-devel
  libjpeg-turbo-devel libevent-devel json-c-devel harfbuzz-devel
  minizip-devel jsoncpp-devel zlib-devel libcap-devel libXdamage-devel
- re2-devel fontconfig-devel freetype-devel opus-devel
+ re2-devel fontconfig-devel freetype-devel
  ffmpeg-devel libva-devel python-setuptools xcb-proto
  $(vopt_if pipewire libpipewire0.2-devel) $(vopt_if sndio sndio-devel)"
 depends="libexif hwids desktop-file-utils hicolor-icon-theme xdg-utils"
@@ -119,6 +119,7 @@ do_configure() {
 	# use_system_v8=1
 	# use_system_zlib=1
 	# bzip2 jsoncpp minizip xdg_utils speex
+	# opus fails because the generated shim header opus.h tries to include <opus.h>
 	system="
 		ffmpeg
 		flac
@@ -132,7 +133,6 @@ do_configure() {
 		libwebp
 		libxml
 		libxslt
-		opus
 		re2
 		snappy
 	"

  parent reply	other threads:[~2021-03-03 19:56 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-03 14:20 [PR PATCH] " pullmoll
2021-03-03 15:15 ` [PR PATCH] [Updated] " pullmoll
2021-03-03 15:40 ` pullmoll
2021-03-03 15:49 ` pullmoll
2021-03-03 16:49 ` pullmoll
2021-03-03 17:00 ` pullmoll
2021-03-03 17:06 ` pullmoll
2021-03-03 17:20 ` pullmoll
2021-03-03 17:20 ` ericonr
2021-03-03 17:21 ` ericonr
2021-03-03 17:23 ` pullmoll
2021-03-03 17:23 ` pullmoll
2021-03-03 17:24 ` pullmoll
2021-03-03 17:25 ` pullmoll
2021-03-03 17:27 ` [PR PATCH] [Updated] " pullmoll
2021-03-03 17:30 ` pullmoll
2021-03-03 18:13 ` pullmoll
2021-03-03 18:13 ` q66
2021-03-03 18:15 ` pullmoll
2021-03-03 18:25 ` [PR PATCH] [Updated] " pullmoll
2021-03-03 18:27 ` pullmoll
2021-03-03 18:30 ` pullmoll
2021-03-03 18:32 ` pullmoll
2021-03-03 18:42 ` q66
2021-03-03 19:56 ` pullmoll [this message]
2021-03-07 12:06 ` [PR PATCH] [Updated] " pullmoll
2021-03-11 19:11 ` [PR PATCH] [Closed]: " q66

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210303195622.oJnfCdCdyjZxEdWA5numZL0nWMpIUS8Lf7sp-pIJbmE@z \
    --to=pullmoll@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).