From 31eed02d302da5316113170551827448b3844422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= Date: Wed, 3 Mar 2021 15:06:38 +0100 Subject: [PATCH] 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, needs testing + system opus disabled because the generated shim header opus.h tries to include and fails + not sure if libc_malloc.patch is ok, i.e. simply use malloc() instead of __libc_malloc(). + more to do [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 #include #include @@ -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 #include @@ -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 #endif #include @@ -74,28 +74,6 @@ #endif #if HAVE_UNISTD_H #include -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 -+#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(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::do_narrow(const char_type* low, const char_type* high, char dfault, +@@ -1019,11 +1019,11 @@ ctype::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::mask* -@@ -1136,12 +1136,10 @@ ctype::classic_table() _NOEXCEPT +@@ -1127,12 +1127,10 @@ ctype::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 ++#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 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 -+#include - - 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 -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 -+#include -+ - #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 -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 - -+#include -+ - 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 -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&)’ - -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(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 -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 - #include -+#include - - #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 -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 -+ - 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 -# 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 -+#include - #include - #include - #include -@@ -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(args.args[1]) == '\0' -+ && args.args[3] == static_cast(AT_EMPTY_PATH)) { -+ return sandbox::sys_fstat64(static_cast(args.args[0]), -+ reinterpret_cast(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 -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 -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 - #include - -+#include -+ - 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 -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 -- 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 context, + std::unique_ptr 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 @@ -9,7 +9,7 @@ #include #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(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 -Date: Tue Aug 4 19:57:48 2020 +0200 +commit 2c013a317b1114ef67cdbbc30824b28907b9ea94 +Author: Daniel Kolesa +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 cmd(1); const Arg 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(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 // once kernel version 4.6 becomes widely used. #include 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 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(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::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(allocator.Alloc(10000)); @@ -1798,7 +1796,7 @@ index 43c86314..27325b81 100644 uint8_t* p = reinterpret_cast(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 @@ -1968,7 +1966,7 @@ index 8724b7f3..8e29424e 100644 Joshua Peraza +Shawn Anastasio 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 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( @@ -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, 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(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(&context)); #elif defined(ARCH_CPU_MIPS_FAMILY) EXPECT_EQ(context.uc_mcontext.gregs[4], FromPointerCast(&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 " 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 system=" ffmpeg flac @@ -132,7 +133,6 @@ do_configure() { libwebp libxml libxslt - opus re2 snappy "