From 88d334caf998589bc3483530b63ed4306dac1e8c Mon Sep 17 00:00:00 2001 From: q66 Date: Sat, 4 Apr 2020 20:34:05 +0200 Subject: [PATCH] qt5-webengine: properly restore and update ppc64le patches --- .../patches/0089-enable-ppc64.patch | 37 + .../patches/0090-chromium-ppc64le.patch | 975 +++++++++++++----- .../patches/0091-chromium-ppc64le-musl.patch | 164 +++ srcpkgs/qt5-webengine/template | 10 + 4 files changed, 953 insertions(+), 233 deletions(-) create mode 100644 srcpkgs/qt5-webengine/patches/0089-enable-ppc64.patch create mode 100644 srcpkgs/qt5-webengine/patches/0091-chromium-ppc64le-musl.patch diff --git a/srcpkgs/qt5-webengine/patches/0089-enable-ppc64.patch b/srcpkgs/qt5-webengine/patches/0089-enable-ppc64.patch new file mode 100644 index 0000000000..4cbec77d11 --- /dev/null +++ b/srcpkgs/qt5-webengine/patches/0089-enable-ppc64.patch @@ -0,0 +1,37 @@ +From 463f1234c57a36e78ff666bd55094a9d4e68f296 Mon Sep 17 00:00:00 2001 +From: q66 +Date: Sat, 18 Jan 2020 23:52:55 +0100 +Subject: [PATCH 1/3] Enable ppc64 builds + +--- + configure.pri | 1 + + mkspecs/features/functions.prf | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/configure.pri b/configure.pri +index 3a144e3f8..cabe8b24a 100644 +--- a/configure.pri ++++ b/configure.pri +@@ -144,6 +144,7 @@ defineTest(qtConfTest_detectArch) { + contains(QT_ARCH, "i386")|contains(QT_ARCH, "x86_64"): return(true) + contains(QT_ARCH, "arm")|contains(QT_ARCH, "arm64"): return(true) + contains(QT_ARCH, "mips"): return(true) ++ contains(QT_ARCH, "power64"): return(true) + qtLog("Architecture not supported.") + return(false) + } +diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf +index 512e2523b..e31123654 100644 +--- a/mkspecs/features/functions.prf ++++ b/mkspecs/features/functions.prf +@@ -87,6 +87,7 @@ defineReplace(gnArch) { + contains(qtArch, "arm64"): return(arm64) + contains(qtArch, "mips"): return(mipsel) + contains(qtArch, "mips64"): return(mips64el) ++ contains(qtArch, "power64"): return(ppc64) + return(unknown) + } + +-- +2.26.0 + diff --git a/srcpkgs/qt5-webengine/patches/0090-chromium-ppc64le.patch b/srcpkgs/qt5-webengine/patches/0090-chromium-ppc64le.patch index 21796909b7..2cad643878 100644 --- a/srcpkgs/qt5-webengine/patches/0090-chromium-ppc64le.patch +++ b/srcpkgs/qt5-webengine/patches/0090-chromium-ppc64le.patch @@ -1,14 +1,128 @@ -This is a base patch that adds support for ppc64le glibc. Big endian and musl -support is added in extra patches afterwards. +From 50f6a674ca5e77165f2e6801520d73a9ce3829cd Mon Sep 17 00:00:00 2001 +From: q66 +Date: Sun, 19 Jan 2020 00:17:36 +0100 +Subject: [PATCH 2/3] WebEngine support for ppc64le architecture -Ping q66 if you're updating qt5 and the patch does not apply anymore. +This is a base patch that adds support for little endian ppc64 +with glibc. Big endian and musl support is added in extra patches +after that. + +Ping q66 if you're updating qt5 and this does not apply anymore. Source: https://wiki.raptorcs.com/w/index.php?title=Porting/Chromium Upstream: Currently being submitted +--- + .../build/download_nacl_toolchains.py | 4 + + src/3rdparty/chromium/sandbox/features.gni | 2 +- + src/3rdparty/chromium/sandbox/linux/BUILD.gn | 2 + + .../linux/bpf_dsl/linux_syscall_ranges.h | 7 + + .../sandbox/linux/bpf_dsl/seccomp_macros.h | 48 ++ + .../seccomp-bpf-helpers/baseline_policy.cc | 10 +- + .../baseline_policy_unittest.cc | 2 +- + .../syscall_parameters_restrictions.cc | 24 +- + .../syscall_parameters_restrictions.cc.orig | 13 +- + .../syscall_parameters_restrictions.h | 2 +- + .../linux/seccomp-bpf-helpers/syscall_sets.cc | 121 +-- + .../linux/seccomp-bpf-helpers/syscall_sets.h | 8 +- + .../sandbox/linux/seccomp-bpf/syscall.cc | 62 +- + .../sandbox/linux/seccomp-bpf/trap.cc | 14 + + .../sandbox/linux/services/credentials.cc | 2 +- + .../linux/syscall_broker/broker_process.cc | 2 +- + .../linux/system_headers/linux_seccomp.h | 9 + + .../linux/system_headers/linux_signal.h | 2 +- + .../linux/system_headers/linux_syscalls.h | 4 + + .../linux/system_headers/linux_ucontext.h | 2 + + .../system_headers/ppc64_linux_syscalls.h | 12 + + .../system_headers/ppc64_linux_ucontext.h | 12 + + .../linux/bpf_renderer_policy_linux.cc | 5 + + .../angle/src/libANGLE/Constants.h | 1 + + .../chromium/third_party/boringssl/BUILD.gn | 7 + + .../dump_writer_common/raw_context_cpu.h | 2 + + .../linux/dump_writer_common/thread_info.cc | 56 +- + .../linux/dump_writer_common/thread_info.h | 9 + + .../dump_writer_common/ucontext_reader.cc | 42 + + .../dump_writer_common/ucontext_reader.h | 3 + + .../client/linux/handler/exception_handler.cc | 22 +- + .../client/linux/handler/exception_handler.h | 6 +- + .../handler/exception_handler_unittest.cc | 8 +- + .../microdump_writer/microdump_writer.cc | 14 +- + .../microdump_writer_unittest.cc | 15 +- + .../minidump_writer/linux_core_dumper.cc | 8 +- + .../linux/minidump_writer/linux_dumper.cc | 4 +- + .../linux/minidump_writer/linux_dumper.h | 3 +- + .../linux_dumper_unittest_helper.cc | 2 + + .../minidump_writer/linux_ptrace_dumper.cc | 19 +- + .../linux_ptrace_dumper_unittest.cc | 5 + + .../linux/minidump_writer/minidump_writer.cc | 18 +- + .../linux/minidump_writer/minidump_writer.h | 2 + + .../minidump_writer_unittest.cc | 3 + + .../src/common/linux/memory_mapped_file.cc | 3 +- + .../linux/memory_mapped_file_unittest.cc | 7 +- + .../src/common/memory_allocator_unittest.cc | 3 +- + .../src/processor/exploitability_linux.cc | 2 + + .../src/processor/exploitability_unittest.cc | 15 +- + .../tools/linux/md2core/minidump-2-core.cc | 45 + + .../crashpad/crashpad/CONTRIBUTORS | 1 + + .../crashpad/crashpad/compat/linux/sys/user.h | 1 + + .../crashpad/minidump/minidump_context.h | 64 ++ + .../minidump/minidump_context_writer.cc | 50 ++ + .../minidump/minidump_context_writer.h | 39 + + .../minidump/minidump_context_writer_test.cc | 15 + + .../minidump/minidump_misc_info_writer.cc | 2 + + .../crashpad/snapshot/capture_memory.cc | 5 + + .../crashpad/snapshot/cpu_architecture.h | 5 +- + .../crashpad/crashpad/snapshot/cpu_context.cc | 5 + + .../crashpad/crashpad/snapshot/cpu_context.h | 19 + + .../snapshot/linux/cpu_context_linux.h | 73 ++ + .../snapshot/linux/debug_rendezvous_test.cc | 4 +- + .../linux/exception_snapshot_linux.cc | 63 ++ + .../snapshot/linux/exception_snapshot_linux.h | 2 + + .../linux/exception_snapshot_linux_test.cc | 21 + + .../snapshot/linux/process_reader_linux.cc | 2 + + .../linux/process_reader_linux_test.cc | 2 + + .../crashpad/snapshot/linux/signal_context.h | 83 ++ + .../snapshot/linux/system_snapshot_linux.cc | 11 + + .../snapshot/linux/thread_snapshot_linux.cc | 8 + + .../snapshot/linux/thread_snapshot_linux.h | 2 + + .../crashpad/util/linux/auxiliary_vector.cc | 5 + + .../crashpad/util/linux/ptrace_broker.cc | 4 +- + .../crashpad/crashpad/util/linux/ptracer.cc | 61 ++ + .../crashpad/util/linux/thread_info.h | 55 ++ + .../crashpad/util/misc/capture_context.h | 1 + + .../util/misc/capture_context_linux.S | 212 ++++- + .../util/misc/capture_context_test.cc | 2 +- + .../misc/capture_context_test_util_linux.cc | 6 + + .../crashpad/util/posix/signals_test.cc | 12 +- + .../chromium/third_party/dav1d/BUILD.gn | 17 + + .../dav1d/config/linux/ppc64/config.h | 35 + + .../chromium/third_party/libdrm/src/xf86drm.c | 4 +- + .../chromium/third_party/libpng/BUILD.gn | 5 + + .../libpng/powerpc/filter_vsx_intrinsics.c | 767 ++++++++++++++++++ + .../third_party/libpng/powerpc/powerpc_init.c | 125 +++ + .../third_party/lss/linux_syscall_support.h | 4 +- + .../chromium/third_party/node/node.py | 11 +- + .../page_allocator_constants.h | 6 +- + .../partition_alloc_constants.h | 2 + + .../chromium/third_party/pffft/src/pffft.c | 1 + + .../third_party/sqlite/amalgamation/sqlite3.c | 9 +- + .../sqlite/patched/ext/rtree/rtree.c | 4 +- + .../sqlite/patched/src/sqliteInt.h | 5 +- + .../modules/desktop_capture/differ_block.cc | 10 +- + .../third_party/webrtc/rtc_base/system/arch.h | 12 + + src/3rdparty/chromium/v8/BUILD.gn | 6 + + src/3rdparty/chromium/v8/test/BUILD.gn | 16 +- + 99 files changed, 2423 insertions(+), 144 deletions(-) + create mode 100644 src/3rdparty/chromium/sandbox/linux/system_headers/ppc64_linux_syscalls.h + create mode 100644 src/3rdparty/chromium/sandbox/linux/system_headers/ppc64_linux_ucontext.h + create mode 100644 src/3rdparty/chromium/third_party/dav1d/config/linux/ppc64/config.h + create mode 100644 src/3rdparty/chromium/third_party/libpng/powerpc/filter_vsx_intrinsics.c + create mode 100644 src/3rdparty/chromium/third_party/libpng/powerpc/powerpc_init.c ---- qtwebengine/src/3rdparty/chromium/build/download_nacl_toolchains.py -+++ qtwebengine/src/3rdparty/chromium/build/download_nacl_toolchains.py -@@ -11,6 +11,10 @@ import sys +diff --git a/src/3rdparty/chromium/build/download_nacl_toolchains.py b/src/3rdparty/chromium/build/download_nacl_toolchains.py +index 286a92a27..ec36a85d3 100755 +--- a/src/3rdparty/chromium/build/download_nacl_toolchains.py ++++ b/src/3rdparty/chromium/build/download_nacl_toolchains.py +@@ -13,6 +13,10 @@ import sys def Main(args): @@ -19,8 +133,10 @@ Upstream: Currently being submitted script_dir = os.path.dirname(os.path.abspath(__file__)) src_dir = os.path.dirname(script_dir) nacl_dir = os.path.join(src_dir, 'native_client') ---- qtwebengine/src/3rdparty/chromium/sandbox/features.gni -+++ qtwebengine/src/3rdparty/chromium/sandbox/features.gni +diff --git a/src/3rdparty/chromium/sandbox/features.gni b/src/3rdparty/chromium/sandbox/features.gni +index 89693c54c..6017c7eea 100644 +--- a/src/3rdparty/chromium/sandbox/features.gni ++++ b/src/3rdparty/chromium/sandbox/features.gni @@ -12,6 +12,6 @@ use_seccomp_bpf = (is_linux || is_android) && (current_cpu == "x86" || current_cpu == "x64" || current_cpu == "arm" || @@ -29,8 +145,10 @@ Upstream: Currently being submitted + current_cpu == "mips64el" || current_cpu == "ppc64") use_seccomp_bpf = use_seccomp_bpf || is_nacl_nonsfi ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/BUILD.gn -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/BUILD.gn +diff --git a/src/3rdparty/chromium/sandbox/linux/BUILD.gn b/src/3rdparty/chromium/sandbox/linux/BUILD.gn +index b00a88cfa..b3e55d5cb 100644 +--- a/src/3rdparty/chromium/sandbox/linux/BUILD.gn ++++ b/src/3rdparty/chromium/sandbox/linux/BUILD.gn @@ -416,6 +416,8 @@ component("sandbox_services") { source_set("sandbox_services_headers") { @@ -40,8 +158,10 @@ Upstream: Currently being submitted "system_headers/arm64_linux_syscalls.h", "system_headers/arm_linux_syscalls.h", "system_headers/arm_linux_ucontext.h", ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h +diff --git a/src/3rdparty/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h b/src/3rdparty/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h +index 73c26c4ba..e312589dc 100644 +--- a/src/3rdparty/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h ++++ b/src/3rdparty/chromium/sandbox/linux/bpf_dsl/linux_syscall_ranges.h @@ -55,6 +55,13 @@ #define MAX_PUBLIC_SYSCALL 279u #define MAX_SYSCALL MAX_PUBLIC_SYSCALL @@ -56,8 +176,10 @@ Upstream: Currently being submitted #else #error "Unsupported architecture" #endif ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h +diff --git a/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h b/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h +index 1a407b952..a6aec544e 100644 +--- a/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h ++++ b/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h @@ -16,6 +16,9 @@ #if defined(__mips__) // sys/user.h in eglibc misses size_t definition @@ -120,9 +242,11 @@ Upstream: Currently being submitted #else #error Unsupported target platform ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -@@ -87,7 +87,8 @@ bool IsBaselinePolicyWatched(int sysno) { +diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc +index 806d13c1a..f7f59621a 100644 +--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc ++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc +@@ -88,7 +88,8 @@ bool IsBaselinePolicyWatched(int sysno) { SyscallSets::IsPrctl(sysno) || SyscallSets::IsProcessGroupOrSession(sysno) || #if defined(__i386__) || \ @@ -132,7 +256,7 @@ Upstream: Currently being submitted SyscallSets::IsSocketCall(sysno) || #endif #if defined(__arm__) -@@ -190,7 +191,7 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, +@@ -210,7 +211,7 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, } #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ @@ -141,7 +265,7 @@ Upstream: Currently being submitted if (sysno == __NR_mmap) return RestrictMmapFlags(); #endif -@@ -208,7 +209,7 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, +@@ -228,7 +229,7 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, return RestrictPrctl(); #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ @@ -150,7 +274,7 @@ Upstream: Currently being submitted if (sysno == __NR_socketpair) { // Only allow AF_UNIX, PF_UNIX. Crash if anything else is seen. static_assert(AF_UNIX == PF_UNIX, -@@ -248,7 +249,8 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, +@@ -268,7 +269,8 @@ ResultExpr EvaluateSyscallImpl(int fs_denied_errno, } #if defined(__i386__) || \ @@ -160,9 +284,24 @@ Upstream: Currently being submitted if (SyscallSets::IsSocketCall(sysno)) return RestrictSocketcallCommand(); #endif ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc -@@ -35,7 +35,8 @@ +diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc +index 060181bd4..abb323f5e 100644 +--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc ++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc +@@ -287,7 +287,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) + TEST_BASELINE_SIGSYS(__NR_vserver) +diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc +index be8225987..d21c24bf0 100644 +--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc ++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc +@@ -36,7 +36,8 @@ #include #include #if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(__arm__) && \ @@ -172,7 +311,7 @@ Upstream: Currently being submitted // Also include asm/ptrace-abi.h since ptrace.h in older libc (for instance // the one in Ubuntu 16.04 LTS) is missing PTRACE_GET_THREAD_AREA. // asm/ptrace-abi.h doesn't exist on arm32 and PTRACE_GET_THREAD_AREA isn't -@@ -44,6 +44,11 @@ +@@ -45,6 +46,11 @@ #endif #endif // !OS_NACL_NONSFI @@ -184,7 +323,7 @@ Upstream: Currently being submitted #if defined(OS_ANDROID) #if !defined(F_DUPFD_CLOEXEC) -@@ -106,6 +111,15 @@ inline bool IsArchitectureMips() { +@@ -107,6 +113,15 @@ inline bool IsArchitectureMips() { #endif } @@ -200,7 +339,7 @@ Upstream: Currently being submitted // 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 -@@ -247,7 +261,8 @@ ResultExpr RestrictFcntlCommands() { +@@ -257,7 +272,8 @@ ResultExpr RestrictFcntlCommands() { // operator. // Glibc overrides the kernel's O_LARGEFILE value. Account for this. uint64_t kOLargeFileFlag = O_LARGEFILE; @@ -210,7 +349,7 @@ Upstream: Currently being submitted kOLargeFileFlag = 0100000; const Arg cmd(1); -@@ -270,7 +285,7 @@ ResultExpr RestrictFcntlCommands() { +@@ -280,7 +296,7 @@ ResultExpr RestrictFcntlCommands() { .Default(CrashSIGSYS()); } @@ -219,7 +358,7 @@ Upstream: Currently being submitted ResultExpr RestrictSocketcallCommand() { // Unfortunately, we are unable to restrict the first parameter to // socketpair(2). Whilst initially sounding bad, it's noteworthy that very -@@ -421,7 +422,7 @@ ResultExpr RestrictPrlimit(pid_t target_pid) { +@@ -421,7 +437,7 @@ ResultExpr RestrictPrlimit(pid_t target_pid) { ResultExpr RestrictPtrace() { const Arg request(0); return Switch(request).CASES(( @@ -228,8 +367,41 @@ Upstream: Currently being submitted PTRACE_GETREGS, PTRACE_GETFPREGS, PTRACE_GET_THREAD_AREA, ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h +diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.orig b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.orig +index 348ab6e8c..be8225987 100644 +--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.orig ++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.orig +@@ -139,7 +139,7 @@ namespace sandbox { + // present (as in newer versions of posix_spawn). + ResultExpr RestrictCloneToThreadsAndEPERMFork() { + const Arg flags(0); +- ++#if defined(__GLIBC__) + // TODO(mdempsky): Extend DSL to support (flags & ~mask1) == mask2. + const uint64_t kAndroidCloneMask = CLONE_VM | CLONE_FS | CLONE_FILES | + CLONE_SIGHAND | CLONE_THREAD | +@@ -166,6 +166,17 @@ ResultExpr RestrictCloneToThreadsAndEPERMFork() { + return If(IsAndroid() ? android_test : glibc_test, Allow()) + .ElseIf(is_fork_or_clone_vfork, Error(EPERM)) + .Else(CrashSIGSYSClone()); ++#else ++ const int required = CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | ++ CLONE_THREAD | CLONE_SYSVSEM; ++ const int safe = CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID | ++ CLONE_DETACHED; ++ const BoolExpr thread_clone_ok = (flags&~safe)==required; ++ ++ return If(thread_clone_ok, Allow()) ++ .ElseIf((flags & (CLONE_VM | CLONE_THREAD)) == 0, Error(EPERM)) ++ .Else(CrashSIGSYSClone()); ++#endif + } + + ResultExpr RestrictPrctl() { +diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h +index cb563dfc5..2b17800d4 100644 +--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h ++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h @@ -48,7 +48,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictMprotectFlags(); // O_NONBLOCK | O_SYNC | O_LARGEFILE | O_CLOEXEC | O_NOATIME. SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictFcntlCommands(); @@ -239,8 +411,10 @@ Upstream: Currently being submitted // Restrict socketcall(2) to only allow socketpair(2), send(2), recv(2), // sendto(2), recvfrom(2), shutdown(2), sendmsg(2) and recvmsg(2). SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictSocketcallCommand(); ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc +diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc +index 525e40a83..82081a7b3 100644 +--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc ++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc @@ -29,7 +29,8 @@ bool SyscallSets::IsAllowedGettime(int sysno) { switch (sysno) { case __NR_gettimeofday: @@ -637,8 +811,10 @@ Upstream: Currently being submitted case __NR_vserver: #endif return true; ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h +diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h +index acd92da39..c2cb6d126 100644 +--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h ++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h @@ -43,13 +43,14 @@ class SANDBOX_EXPORT SyscallSets { static bool IsDeniedGetOrModifySocket(int sysno); @@ -666,8 +842,10 @@ Upstream: Currently being submitted // Big system V multiplexing system call. static bool IsSystemVIpc(int sysno); #endif ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/syscall.cc -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/syscall.cc +diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/syscall.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/syscall.cc +index 34edabd2b..10fa5fd07 100644 +--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/syscall.cc ++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/syscall.cc @@ -16,7 +16,7 @@ namespace sandbox { namespace { @@ -764,8 +942,10 @@ Upstream: Currently being submitted #endif SECCOMP_RESULT(ctx) = static_cast(ret_val); } ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/trap.cc -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/trap.cc +diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/trap.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/trap.cc +index e9c51940c..35a8f0d67 100644 +--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/trap.cc ++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/trap.cc @@ -230,6 +230,20 @@ void Trap::SigSys(int nr, LinuxSigInfo* info, ucontext_t* ctx) { SetIsInSigHandler(); } @@ -787,8 +967,10 @@ Upstream: Currently being submitted // Copy the seccomp-specific data into a arch_seccomp_data structure. This // is what we are showing to TrapFnc callbacks that the system call // evaluator registered with the sandbox. ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/services/credentials.cc -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/services/credentials.cc +diff --git a/src/3rdparty/chromium/sandbox/linux/services/credentials.cc b/src/3rdparty/chromium/sandbox/linux/services/credentials.cc +index 542567f3e..31d493c26 100644 +--- a/src/3rdparty/chromium/sandbox/linux/services/credentials.cc ++++ b/src/3rdparty/chromium/sandbox/linux/services/credentials.cc @@ -79,7 +79,7 @@ bool ChrootToSafeEmptyDir() { pid_t pid = -1; alignas(16) char stack_buf[PTHREAD_STACK_MIN]; @@ -798,8 +980,10 @@ Upstream: Currently being submitted // The stack grows downward. void* stack = stack_buf + sizeof(stack_buf); #else ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_process.cc -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_process.cc +diff --git a/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_process.cc b/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_process.cc +index 56d4964cf..a2e94eada 100644 +--- a/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_process.cc ++++ b/src/3rdparty/chromium/sandbox/linux/syscall_broker/broker_process.cc @@ -151,7 +151,7 @@ bool BrokerProcess::IsSyscallAllowed(int sysno) const { #if defined(__NR_fstatat) case __NR_fstatat: @@ -809,8 +993,10 @@ Upstream: Currently being submitted case __NR_newfstatat: #endif return !fast_check_in_client_ || allowed_command_set_.test(COMMAND_STAT); ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/system_headers/linux_seccomp.h -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/system_headers/linux_seccomp.h +diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/linux_seccomp.h b/src/3rdparty/chromium/sandbox/linux/system_headers/linux_seccomp.h +index a60fe2ad3..9dccdb51d 100644 +--- a/src/3rdparty/chromium/sandbox/linux/system_headers/linux_seccomp.h ++++ b/src/3rdparty/chromium/sandbox/linux/system_headers/linux_seccomp.h @@ -29,6 +29,9 @@ #ifndef EM_AARCH64 #define EM_AARCH64 183 @@ -834,8 +1020,10 @@ Upstream: Currently being submitted // For prctl.h #ifndef PR_SET_SECCOMP ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/system_headers/linux_signal.h -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/system_headers/linux_signal.h +diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/linux_signal.h b/src/3rdparty/chromium/sandbox/linux/system_headers/linux_signal.h +index f5a736761..515b21a5f 100644 +--- a/src/3rdparty/chromium/sandbox/linux/system_headers/linux_signal.h ++++ b/src/3rdparty/chromium/sandbox/linux/system_headers/linux_signal.h @@ -13,7 +13,7 @@ // (not undefined, but defined different values and in different memory // layouts). So, fill the gap here. @@ -845,8 +1033,10 @@ Upstream: Currently being submitted #define LINUX_SIGHUP 1 #define LINUX_SIGINT 2 ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/system_headers/linux_syscalls.h -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/system_headers/linux_syscalls.h +diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/linux_syscalls.h +index 2b78a0cc3..0a70f5ea5 100644 +--- a/src/3rdparty/chromium/sandbox/linux/system_headers/linux_syscalls.h ++++ b/src/3rdparty/chromium/sandbox/linux/system_headers/linux_syscalls.h @@ -35,5 +35,9 @@ #include "sandbox/linux/system_headers/arm64_linux_syscalls.h" #endif @@ -857,8 +1047,10 @@ Upstream: Currently being submitted + #endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_ ---- qtwebengine/src/3rdparty/chromium/sandbox/linux/system_headers/linux_ucontext.h -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/system_headers/linux_ucontext.h +diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/linux_ucontext.h b/src/3rdparty/chromium/sandbox/linux/system_headers/linux_ucontext.h +index 22ce78027..a69b024c2 100644 +--- a/src/3rdparty/chromium/sandbox/linux/system_headers/linux_ucontext.h ++++ b/src/3rdparty/chromium/sandbox/linux/system_headers/linux_ucontext.h @@ -11,6 +11,8 @@ #include "sandbox/linux/system_headers/arm_linux_ucontext.h" #elif defined(__i386__) @@ -868,9 +1060,11 @@ Upstream: Currently being submitted #else #error "No support for your architecture in PNaCl header" #endif +diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/ppc64_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/ppc64_linux_syscalls.h new file mode 100644 +index 000000000..ccacffe22 --- /dev/null -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/system_headers/ppc64_linux_syscalls.h ++++ b/src/3rdparty/chromium/sandbox/linux/system_headers/ppc64_linux_syscalls.h @@ -0,0 +1,12 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be @@ -884,9 +1078,11 @@ new file mode 100644 +//TODO: is it necessary to redefine syscall numbers for PPC64? + +#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_ +diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/ppc64_linux_ucontext.h b/src/3rdparty/chromium/sandbox/linux/system_headers/ppc64_linux_ucontext.h new file mode 100644 +index 000000000..07728e087 --- /dev/null -+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/system_headers/ppc64_linux_ucontext.h ++++ b/src/3rdparty/chromium/sandbox/linux/system_headers/ppc64_linux_ucontext.h @@ -0,0 +1,12 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be @@ -900,8 +1096,10 @@ new file mode 100644 +//TODO: is it necessary to redefine ucontext on PPC64? + +#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_ ---- qtwebengine/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc -+++ qtwebengine/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc +diff --git a/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc b/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc +index 5cfdb7a09..9c56942a8 100644 +--- a/src/3rdparty/chromium/services/service_manager/sandbox/linux/bpf_renderer_policy_linux.cc ++++ b/src/3rdparty/chromium/services/service_manager/sandbox/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" @@ -914,8 +1112,10 @@ new file mode 100644 // TODO(vignatti): replace the local definitions below with #include // once kernel version 4.6 becomes widely used. #include ---- qtwebengine/src/3rdparty/chromium/third_party/angle/src/libANGLE/Constants.h -+++ qtwebengine/src/3rdparty/chromium/third_party/angle/src/libANGLE/Constants.h +diff --git a/src/3rdparty/chromium/third_party/angle/src/libANGLE/Constants.h b/src/3rdparty/chromium/third_party/angle/src/libANGLE/Constants.h +index 0fd38748c..baed8b400 100644 +--- a/src/3rdparty/chromium/third_party/angle/src/libANGLE/Constants.h ++++ b/src/3rdparty/chromium/third_party/angle/src/libANGLE/Constants.h @@ -9,6 +9,7 @@ #ifndef LIBANGLE_CONSTANTS_H_ #define LIBANGLE_CONSTANTS_H_ @@ -923,10 +1123,12 @@ new file mode 100644 +#include #include "common/platform.h" - namespace gl ---- qtwebengine/src/3rdparty/chromium/third_party/boringssl/BUILD.gn -+++ qtwebengine/src/3rdparty/chromium/third_party/boringssl/BUILD.gn -@@ -100,6 +100,13 @@ if (is_win && !is_msan && current_cpu != "arm64") { + #include +diff --git a/src/3rdparty/chromium/third_party/boringssl/BUILD.gn b/src/3rdparty/chromium/third_party/boringssl/BUILD.gn +index 250ed8542..c75f4e0c2 100644 +--- a/src/3rdparty/chromium/third_party/boringssl/BUILD.gn ++++ b/src/3rdparty/chromium/third_party/boringssl/BUILD.gn +@@ -103,6 +103,13 @@ if (is_win && !is_msan && current_cpu != "arm64") { } else { public_configs = [ ":no_asm_config" ] } @@ -940,8 +1142,10 @@ new file mode 100644 } else { public_configs = [ ":no_asm_config" ] } ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h +index 07d9171a0..9aed4cb36 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h @@ -44,6 +44,8 @@ typedef MDRawContextARM RawContextCPU; typedef MDRawContextARM64_Old RawContextCPU; #elif defined(__mips__) @@ -951,8 +1155,10 @@ new file mode 100644 #else #error "This code has not been ported to your platform yet." #endif ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc +index aae1dc13b..03afec7a5 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc @@ -270,7 +270,42 @@ void ThreadInfo::FillCPUContext(RawContextCPU* out) const { out->float_save.fir = mcontext.fpc_eir; #endif @@ -1035,8 +1241,10 @@ new file mode 100644 +#endif + } // namespace google_breakpad ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h +index fb216fa6d..593aac822 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h @@ -68,6 +68,10 @@ struct ThreadInfo { // Use the structures defined in struct user_regs_struct regs; @@ -1060,8 +1268,10 @@ new file mode 100644 }; } // namespace google_breakpad ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc +index a8f9ccc72..7620cf6f7 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc ++++ b/src/3rdparty/chromium/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) { out->float_save.fir = uc->uc_mcontext.fpc_eir; // Unused. #endif @@ -1111,8 +1321,10 @@ new file mode 100644 #endif } // namespace google_breakpad ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h +index f3dde1f4d..96079169d 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h @@ -54,6 +54,9 @@ struct UContextReader { #elif defined(__aarch64__) static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc, @@ -1123,9 +1335,11 @@ new file mode 100644 #else static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc); #endif ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -@@ -467,9 +467,16 @@ bool ExceptionHandler::HandleSignal(int /*sig*/, siginfo_t* info, void* uc) { +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc +index b895f6d7a..901cd68fb 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc ++++ b/src/3rdparty/chromium/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) { memcpy(&g_crash_context_.float_state, fp_ptr, sizeof(g_crash_context_.float_state)); } @@ -1143,7 +1357,7 @@ new file mode 100644 // and 'float_state' is not a member of CrashContext. ucontext_t* uc_ptr = (ucontext_t*)uc; if (uc_ptr->uc_mcontext.fpregs) { -@@ -707,11 +714,19 @@ bool ExceptionHandler::WriteMinidump() { +@@ -701,11 +708,19 @@ bool ExceptionHandler::WriteMinidump() { } #endif @@ -1164,7 +1378,7 @@ new file mode 100644 context.tid = sys_gettid(); // Add an exception stream to the minidump for better reporting. -@@ -732,6 +747,9 @@ bool ExceptionHandler::WriteMinidump() { +@@ -726,6 +741,9 @@ bool ExceptionHandler::WriteMinidump() { #elif defined(__mips__) context.siginfo.si_addr = reinterpret_cast(context.context.uc_mcontext.pc); @@ -1174,8 +1388,10 @@ new file mode 100644 #else #error "This code has not been ported to your platform yet." #endif ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h +index f44483ff0..36ce6d6ce 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h @@ -192,7 +192,11 @@ class ExceptionHandler { siginfo_t siginfo; pid_t tid; // the crashing thread. @@ -1189,8 +1405,10 @@ new file mode 100644 // #ifdef this out because FP state is not part of user ABI for Linux ARM. // In case of MIPS Linux FP state is already part of ucontext_t so // 'float_state' is not required. ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc +index bcbf9c26f..2c36ed41f 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc @@ -307,7 +307,7 @@ TEST(ExceptionHandlerTest, ParallelChildCrashesDontHang) { } @@ -1200,7 +1418,7 @@ new file mode 100644 // Kill the child if it is still running. kill(child, SIGKILL); -@@ -576,6 +576,8 @@ const unsigned char kIllegalInstruction[] = { +@@ -559,6 +559,8 @@ const unsigned char kIllegalInstruction[] = { #if defined(__mips__) // mfc2 zero,Impl - usually illegal in userspace. 0x48, 0x00, 0x00, 0x48 @@ -1209,7 +1427,7 @@ new file mode 100644 #else // This crashes with SIGILL on x86/x86-64/arm. 0xff, 0xff, 0xff, 0xff -@@ -771,10 +773,10 @@ TEST(ExceptionHandlerTest, InstructionPointerMemoryMaxBound) { +@@ -754,10 +756,10 @@ TEST(ExceptionHandlerTest, InstructionPointerMemoryMaxBound) { // These are defined here so the parent can use them to check the // data from the minidump afterwards. @@ -1222,8 +1440,10 @@ new file mode 100644 const int kOffset = kMemorySize - sizeof(kIllegalInstruction); const pid_t child = fork(); ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc +index fa3c1713a..6ce709e2f 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc @@ -138,7 +138,9 @@ class MicrodumpWriter { const MicrodumpExtraInfo& microdump_extra_info, LinuxDumper* dumper) @@ -1266,8 +1486,10 @@ new file mode 100644 const google_breakpad::fpstate_t* const float_state_; #endif LinuxDumper* dumper_; ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc +index c2fea0225..8c62c524a 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc @@ -278,10 +278,19 @@ TEST(MicrodumpWriterTest, BasicWithMappings) { CrashAndGetMicrodump(mappings, MicrodumpExtraInfo(), &buf); ASSERT_TRUE(ContainsMicrodump(buf)); @@ -1291,9 +1513,11 @@ new file mode 100644 #else ASSERT_NE(std::string::npos, buf.find("M 00001000 0000002A 00001000 " ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc -@@ -116,6 +116,9 @@ bool LinuxCoreDumper::GetThreadInfoByIndex(size_t index, ThreadInfo* info) { +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc +index 4756a5416..4805fb694 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc +@@ -117,6 +117,9 @@ bool LinuxCoreDumper::GetThreadInfoByIndex(size_t index, ThreadInfo* info) { #elif defined(__mips__) stack_pointer = reinterpret_cast(info->mcontext.gregs[MD_CONTEXT_MIPS_REG_SP]); @@ -1303,7 +1527,7 @@ new file mode 100644 #else #error "This code hasn't been ported to your platform yet." #endif -@@ -200,7 +203,10 @@ bool LinuxCoreDumper::EnumerateThreads() { +@@ -202,7 +205,10 @@ bool LinuxCoreDumper::EnumerateThreads() { memset(&info, 0, sizeof(ThreadInfo)); info.tgid = status->pr_pgrp; info.ppid = status->pr_ppid; @@ -1315,8 +1539,10 @@ new file mode 100644 #if defined(__ANDROID__) for (int i = EF_R0; i <= EF_R31; i++) info.mcontext.gregs[i - EF_R0] = status->pr_reg[i]; ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc +index dbedecd53..f91f7f994 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc @@ -798,7 +798,9 @@ bool LinuxDumper::GetStackInfo(const void** stack, size_t* stack_len, reinterpret_cast(int_stack_pointer & ~(page_size - 1)); @@ -1328,9 +1554,11 @@ new file mode 100644 const MappingInfo* mapping = FindMapping(stack_pointer); if (!mapping) ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h -@@ -60,7 +60,8 @@ namespace google_breakpad { +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h +index f4a75d906..020981f57 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h +@@ -63,7 +63,8 @@ namespace google_breakpad { (defined(__mips__) && _MIPS_SIM == _ABIO32) typedef Elf32_auxv_t elf_aux_entry; #elif defined(__x86_64) || defined(__aarch64__) || \ @@ -1340,8 +1568,10 @@ new file mode 100644 typedef Elf64_auxv_t elf_aux_entry; #endif ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc +index 3ad48e501..1688c365e 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc @@ -51,6 +51,8 @@ #define TID_PTR_REGISTER "rcx" #elif defined(__mips__) @@ -1351,8 +1581,10 @@ new file mode 100644 #else #error This test has not been ported to this platform. #endif ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc +index 8a3f04e29..e607b28d5 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc @@ -154,19 +154,27 @@ bool LinuxPtraceDumper::CopyFromProcess(void* dest, pid_t child, return true; } @@ -1395,9 +1627,11 @@ new file mode 100644 #else #error "This code hasn't been ported to your platform yet." #endif ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc -@@ -457,6 +457,9 @@ TEST(LinuxPtraceDumperTest, VerifyStackReadWithMultipleThreads) { +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc +index a41dafce0..31743940d 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc +@@ -462,6 +462,9 @@ TEST(LinuxPtraceDumperTest, VerifyStackReadWithMultipleThreads) { #elif defined(__mips__) pid_t* process_tid_location = reinterpret_cast(one_thread.mcontext.gregs[1]); @@ -1407,7 +1641,7 @@ new file mode 100644 #else #error This test has not been ported to this platform. #endif -@@ -553,6 +556,8 @@ TEST_F(LinuxPtraceDumperTest, SanitizeStackCopy) { +@@ -559,6 +562,8 @@ TEST_F(LinuxPtraceDumperTest, SanitizeStackCopy) { uintptr_t heap_addr = thread_info.regs.rcx; #elif defined(__mips__) uintptr_t heap_addr = thread_info.mcontext.gregs[1]; @@ -1416,8 +1650,10 @@ new file mode 100644 #else #error This test has not been ported to this platform. #endif ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc +index f8cdf2a1c..cb808c151 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc @@ -136,7 +136,9 @@ class MinidumpWriter { : fd_(minidump_fd), path_(minidump_path), @@ -1440,7 +1676,7 @@ new file mode 100644 UContextReader::FillCPUContext(cpu.get(), ucontext_, float_state_); #else UContextReader::FillCPUContext(cpu.get(), ucontext_); -@@ -891,7 +895,7 @@ class MinidumpWriter { +@@ -897,7 +901,7 @@ class MinidumpWriter { dirent->location.rva = 0; } @@ -1449,7 +1685,7 @@ new file mode 100644 bool WriteCPUInformation(MDRawSystemInfo* sys_info) { char vendor_id[sizeof(sys_info->cpu.x86_cpu_info.vendor_id) + 1] = {0}; static const char vendor_id_name[] = "vendor_id"; -@@ -911,7 +915,9 @@ class MinidumpWriter { +@@ -917,7 +921,9 @@ class MinidumpWriter { // processor_architecture should always be set, do this first sys_info->processor_architecture = @@ -1460,7 +1696,7 @@ new file mode 100644 # if _MIPS_SIM == _ABIO32 MD_CPU_ARCHITECTURE_MIPS; # elif _MIPS_SIM == _ABI64 -@@ -1327,7 +1333,9 @@ class MinidumpWriter { +@@ -1333,7 +1339,9 @@ class MinidumpWriter { const char* path_; // Path to the file where the minidum should be written. const ucontext_t* const ucontext_; // also from the signal handler @@ -1471,8 +1707,10 @@ new file mode 100644 const google_breakpad::fpstate_t* const float_state_; // ditto #endif LinuxDumper* dumper_; ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h +index d1cc5624c..320847643 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h @@ -47,6 +47,8 @@ class ExceptionHandler; #if defined(__aarch64__) @@ -1482,9 +1720,11 @@ new file mode 100644 #elif !defined(__ARM_EABI__) && !defined(__mips__) typedef struct _fpstate fpstate_t; #endif ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc -@@ -710,6 +710,9 @@ TEST(MinidumpWriterTest, InvalidStackPointer) { +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc +index c951e69d8..e1d6e40d6 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc +@@ -714,6 +714,9 @@ TEST(MinidumpWriterTest, InvalidStackPointer) { #elif defined(__mips__) context.context.uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP] = invalid_stack_pointer; @@ -1494,8 +1734,10 @@ new file mode 100644 #else # error "This code has not been ported to your platform yet." #endif ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc +index 4e938269f..f0ff15d96 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc @@ -65,8 +65,7 @@ bool MemoryMappedFile::Map(const char* path, size_t offset) { } @@ -1506,8 +1748,10 @@ new file mode 100644 struct kernel_stat st; if (sys_fstat(fd, &st) == -1 || st.st_size < 0) { #else ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc +index fad59f40c..616496d67 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc @@ -176,9 +176,10 @@ TEST_F(MemoryMappedFileTest, RemapAfterMap) { TEST_F(MemoryMappedFileTest, MapWithOffset) { // Put more data in the test file this time. Offsets can only be @@ -1522,8 +1766,10 @@ new file mode 100644 for (size_t i = 0; i < data1_size; ++i) { data1[i] = i & 0x7f; } ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc +index 43c86314c..27325b813 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc @@ -57,8 +57,9 @@ TEST(PageAllocatorTest, LargeObject) { EXPECT_EQ(0U, allocator.pages_allocated()); @@ -1535,8 +1781,10 @@ new file mode 100644 for (unsigned i = 1; i < 10; ++i) { uint8_t *p = reinterpret_cast(allocator.Alloc(i)); ASSERT_FALSE(p == NULL); ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/processor/exploitability_linux.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/processor/exploitability_linux.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/processor/exploitability_linux.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/processor/exploitability_linux.cc +index ccc9f1459..debaed4d6 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/processor/exploitability_linux.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/processor/exploitability_linux.cc @@ -202,12 +202,14 @@ bool ExploitabilityLinux::EndedOnIllegalWrite(uint64_t instruction_ptr) { // Check architecture and set architecture variable to corresponding flag // in objdump. @@ -1552,8 +1800,10 @@ new file mode 100644 default: // Unsupported architecture. Note that ARM architectures are not // supported because objdump does not support ARM. ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/processor/exploitability_unittest.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/processor/exploitability_unittest.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/processor/exploitability_unittest.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/processor/exploitability_unittest.cc +index 528ee5f21..72764d6c1 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/processor/exploitability_unittest.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/processor/exploitability_unittest.cc @@ -104,6 +104,8 @@ ExploitabilityFor(const string& filename) { } @@ -1608,8 +1858,10 @@ new file mode 100644 + } // namespace ---- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc +index 941586e9f..49cdc3fc2 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc @@ -76,6 +76,8 @@ #define ELF_ARCH EM_MIPS #elif defined(__aarch64__) @@ -1690,15 +1942,19 @@ new file mode 100644 #else #error "This code has not been ported to your platform yet" #endif ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/CONTRIBUTORS -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/CONTRIBUTORS +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/CONTRIBUTORS b/src/3rdparty/chromium/third_party/crashpad/crashpad/CONTRIBUTORS +index 8724b7f32..8e29424ef 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/CONTRIBUTORS ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/CONTRIBUTORS @@ -13,3 +13,4 @@ Mark Mentovai Robert Sesek Scott Graham Joshua Peraza +Shawn Anastasio ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/linux/sys/user.h -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/linux/sys/user.h +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/linux/sys/user.h b/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/linux/sys/user.h +index 6ed77a98e..1fd83469a 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/linux/sys/user.h ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/linux/sys/user.h @@ -15,6 +15,7 @@ #ifndef CRASHPAD_COMPAT_LINUX_SYS_USER_H_ #define CRASHPAD_COMPAT_LINUX_SYS_USER_H_ @@ -1707,8 +1963,10 @@ new file mode 100644 #include_next #include ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context.h -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context.h +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context.h b/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context.h +index 3a3e603cb..3118d9e9f 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context.h ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context.h @@ -592,6 +592,70 @@ struct MinidumpContextMIPS64 { uint64_t fir; }; @@ -1780,8 +2038,10 @@ new file mode 100644 } // namespace crashpad #endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_H_ ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc +index d7e53a493..d89eb9e01 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc @@ -101,6 +101,13 @@ MinidumpContextWriter::CreateFromSnapshot(const CPUContext* context_snapshot) { break; } @@ -1844,8 +2104,10 @@ new file mode 100644 +} + } // namespace crashpad ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer.h -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer.h +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer.h b/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer.h +index d4ab936ee..1d22fc59c 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer.h ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer.h @@ -315,6 +315,45 @@ class MinidumpContextMIPS64Writer final : public MinidumpContextWriter { DISALLOW_COPY_AND_ASSIGN(MinidumpContextMIPS64Writer); }; @@ -1892,8 +2154,10 @@ new file mode 100644 } // namespace crashpad #endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_WRITER_H_ ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc +index 3216a906b..a9fcbe9d8 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc @@ -213,6 +213,21 @@ TEST(MinidumpContextWriter, MIPS64_FromSnapshot) { context, ExpectMinidumpContextMIPS64, kSeed); } @@ -1916,8 +2180,10 @@ new file mode 100644 } // namespace } // namespace test } // namespace crashpad ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc +index a13407605..95dc92524 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc @@ -126,6 +126,8 @@ std::string MinidumpMiscInfoDebugBuildString() { static constexpr char kCPU[] = "mips"; #elif defined(ARCH_CPU_MIPS64EL) @@ -1927,8 +2193,10 @@ new file mode 100644 #else #error define kCPU for this CPU #endif ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/capture_memory.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/capture_memory.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/capture_memory.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/capture_memory.cc +index a51626ccd..61e0b20a1 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/capture_memory.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/capture_memory.cc @@ -111,6 +111,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]); @@ -1941,8 +2209,10 @@ new file mode 100644 #else #error Port. #endif ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_architecture.h -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_architecture.h +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_architecture.h b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_architecture.h +index 811a72095..f4f83981d 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_architecture.h ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_architecture.h @@ -43,7 +43,10 @@ enum CPUArchitecture { kCPUArchitectureMIPSEL, @@ -1955,8 +2225,10 @@ new file mode 100644 }; } // namespace crashpad ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_context.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_context.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_context.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_context.cc +index 6fb8d7e71..b01f7cad1 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_context.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_context.cc @@ -169,6 +169,8 @@ uint64_t CPUContext::InstructionPointer() const { return arm->pc; case kCPUArchitectureARM64: @@ -1983,8 +2255,10 @@ new file mode 100644 return true; case kCPUArchitectureX86: case kCPUArchitectureARM: ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_context.h -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_context.h +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_context.h b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_context.h +index fb23c4679..eebede63c 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_context.h ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/cpu_context.h @@ -352,6 +352,24 @@ struct CPUContextMIPS64 { uint64_t fir; }; @@ -2018,8 +2292,10 @@ new file mode 100644 }; }; ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h +index 37fbc4325..cf4ef7ef9 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h @@ -15,6 +15,7 @@ #ifndef CRASHPAD_SNAPSHOT_LINUX_CPU_CONTEXT_LINUX_H_ #define CRASHPAD_SNAPSHOT_LINUX_CPU_CONTEXT_LINUX_H_ @@ -2107,8 +2383,10 @@ new file mode 100644 } // namespace internal } // namespace crashpad ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc +index be22c9031..c5df23d1b 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc @@ -159,9 +159,11 @@ void TestAgainstTarget(PtraceConnection* connection) { const bool is_vdso_mapping = device == 0 && inode == 0 && mapping_name == "[vdso]"; @@ -2122,8 +2400,10 @@ new file mode 100644 }, module_mapping->name, module_mapping->device, ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc +index cd40b3b12..6bcf23b6f 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc @@ -323,6 +323,69 @@ bool ExceptionSnapshotLinux::ReadContext( reader, context_address, context_.mips64); } @@ -2194,8 +2474,10 @@ new file mode 100644 #endif // ARCH_CPU_X86_FAMILY bool ExceptionSnapshotLinux::Initialize(ProcessReaderLinux* process_reader, ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h +index ea0cd2106..e42df520f 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h @@ -84,6 +84,8 @@ class ExceptionSnapshotLinux final : public ExceptionSnapshot { #elif defined(ARCH_CPU_MIPS_FAMILY) CPUContextMIPS mipsel; @@ -2205,8 +2487,10 @@ new file mode 100644 #endif } context_union_; CPUContext context_; ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc +index e4ff1ab79..25534dd08 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc @@ -296,7 +296,28 @@ void ExpectContext(const CPUContext& actual, const NativeCPUContext& expected) { 0); #undef CPU_ARCH_NAME @@ -2236,8 +2520,10 @@ new file mode 100644 #else #error Port. #endif ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc +index b96abfe74..df12ca566 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc @@ -108,6 +108,8 @@ void ProcessReaderLinux::Thread::InitializeStack(ProcessReaderLinux* reader) { #elif defined(ARCH_CPU_MIPS_FAMILY) stack_pointer = reader->Is64Bit() ? thread_info.thread_context.t64.regs[29] @@ -2247,9 +2533,11 @@ new file mode 100644 #else #error Port. #endif ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc -@@ -591,6 +591,8 @@ bool WriteTestModule(const base::FilePath& module_path) { +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc +index d76770020..40ad41d74 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux_test.cc +@@ -613,6 +613,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; @@ -2258,8 +2546,10 @@ new file mode 100644 #endif module.ehdr.e_version = EV_CURRENT; ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/signal_context.h -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/signal_context.h +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/signal_context.h b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/signal_context.h +index 110024680..8e335a096 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/signal_context.h ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/signal_context.h @@ -422,6 +422,89 @@ static_assert(offsetof(UContext, mcontext.fpregs) == "context offset mismatch"); #endif @@ -2350,8 +2640,10 @@ new file mode 100644 #else #error Port. #endif // ARCH_CPU_X86_FAMILY ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc +index 8564d3d45..b690ecd48 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc @@ -203,6 +203,8 @@ CPUArchitecture SystemSnapshotLinux::GetCPUArchitecture() const { #elif defined(ARCH_CPU_MIPS_FAMILY) return process_reader_->Is64Bit() ? kCPUArchitectureMIPS64EL @@ -2391,8 +2683,10 @@ new file mode 100644 #else #error Port. #endif // ARCH_CPU_X86_FAMILY ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc +index e3e2bebdd..8ef43752e 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc @@ -186,6 +186,14 @@ bool ThreadSnapshotLinux::Initialize(ProcessReaderLinux* process_reader, thread.thread_info.float_context.f32, context_.mipsel); @@ -2408,8 +2702,10 @@ new file mode 100644 #else #error Port. #endif ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h +index 44cc6f6d9..d4136461e 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h @@ -68,6 +68,8 @@ class ThreadSnapshotLinux final : public ThreadSnapshot { #elif defined(ARCH_CPU_MIPS_FAMILY) CPUContextMIPS mipsel; @@ -2419,8 +2715,10 @@ new file mode 100644 #else #error Port. #endif // ARCH_CPU_X86_FAMILY ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc +index d3d5ebdfb..3fd730cb5 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc @@ -56,6 +56,11 @@ bool AuxiliaryVector::Read(PtraceConnection* connection) { if (type == AT_IGNORE) { continue; @@ -2433,9 +2731,11 @@ new file mode 100644 if (!MapInsertOrReplace(&values_, type, value, nullptr)) { LOG(ERROR) << "duplicate auxv entry"; return false; ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/ptrace_broker.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/ptrace_broker.cc -@@ -93,8 +93,8 @@ int PtraceBroker::Run() { +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/ptrace_broker.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/ptrace_broker.cc +index 155a1e0c6..5e50ceb5f 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/ptrace_broker.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/ptrace_broker.cc +@@ -94,8 +94,8 @@ int PtraceBroker::Run() { } bool PtraceBroker::AllocateAttachments() { @@ -2446,8 +2746,10 @@ new file mode 100644 (sizeof(ScopedPtraceAttach) + page_size - 1) & ~(page_size - 1); void* alloc = sbrk(alloc_size); if (reinterpret_cast(alloc) == -1) { ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/ptracer.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/ptracer.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/ptracer.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/ptracer.cc +index c6c922994..c770b6b6f 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/ptracer.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/ptracer.cc @@ -394,6 +394,64 @@ bool GetThreadArea64(pid_t tid, return true; } @@ -2523,8 +2825,10 @@ new file mode 100644 GetThreadArea64(tid, info->thread_context, &info->thread_specific_data_address, ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h +index 5b55c24a7..dea0d1f39 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h @@ -28,6 +28,10 @@ #include #endif @@ -2643,8 +2947,10 @@ new file mode 100644 //! \brief The thread-local storage address for the thread. LinuxVMAddress thread_specific_data_address; }; ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context.h -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context.h +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context.h b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context.h +index 541589dfd..5b0fc8218 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context.h ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context.h @@ -66,6 +66,7 @@ using NativeCPUContext = ucontext_t; //! macOS/Linux/Fuchsia | x86_64 | `%%rdi` //! Linux | ARM/ARM64 | `r0`/`x0` @@ -2653,8 +2959,10 @@ new file mode 100644 //! //! Additionally, the value `LR` on ARM/ARM64 will be the return address of //! this function. ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_linux.S -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_linux.S +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_linux.S b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_linux.S +index de71e7231..af0ffff39 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_linux.S ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_linux.S @@ -28,7 +28,7 @@ .globl CAPTURECONTEXT_SYMBOL2 #if defined(__i386__) || defined(__x86_64__) @@ -2879,19 +3187,23 @@ new file mode 100644 + + blr #endif // __i386__ ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_test.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_test.cc -@@ -56,7 +56,7 @@ void TestCaptureContext() { +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_test.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_test.cc +index cf23c2def..bcb837b17 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_test.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_test.cc +@@ -57,7 +57,7 @@ void TestCaptureContext() { uintptr_t pc = ProgramCounterFromContext(context_1); #if !defined(ADDRESS_SANITIZER) && !defined(ARCH_CPU_MIPS_FAMILY) && \ - !defined(MEMORY_SANITIZER) -+ !defined(MEMORY_SANITIZER) && !defined(ARCH_CPU_PPC64_FAMILY) ++ !defined(ARCH_CPU_PPC64_FAMILY) && !defined(MEMORY_SANITIZER) // Sanitizers can cause enough code bloat that the “nearby” check would // likely fail. const uintptr_t kReferencePC = ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc +index 9fc5db28c..5f69f8dce 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc @@ -36,6 +36,8 @@ void SanityCheckContext(const NativeCPUContext& context) { EXPECT_EQ(context.uc_mcontext.regs[0], FromPointerCast(&context)); #elif defined(ARCH_CPU_MIPS_FAMILY) @@ -2919,8 +3231,10 @@ new file mode 100644 #endif } ---- qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/posix/signals_test.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/crashpad/crashpad/util/posix/signals_test.cc +diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/posix/signals_test.cc b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/posix/signals_test.cc +index d91e3cc66..b1ffc7b15 100644 +--- a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/posix/signals_test.cc ++++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/posix/signals_test.cc @@ -46,12 +46,12 @@ bool CanCauseSignal(int sig) { return sig == SIGABRT || sig == SIGALRM || @@ -2959,8 +3273,102 @@ new file mode 100644 #if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARMEL) case SIGILL: { ---- qtwebengine/src/3rdparty/chromium/third_party/libpng/BUILD.gn -+++ qtwebengine/src/3rdparty/chromium/third_party/libpng/BUILD.gn +diff --git a/src/3rdparty/chromium/third_party/dav1d/BUILD.gn b/src/3rdparty/chromium/third_party/dav1d/BUILD.gn +index 37ced877c..be8ae8304 100644 +--- a/src/3rdparty/chromium/third_party/dav1d/BUILD.gn ++++ b/src/3rdparty/chromium/third_party/dav1d/BUILD.gn +@@ -233,6 +233,21 @@ if (current_cpu == "x86" || current_cpu == "x64") { + ":dav1d_config", + ] + ++ cflags = dav1d_copts ++ } ++} else if (current_cpu == "ppc64") { ++ static_library("dav1d_ppc") { ++ sources = [ ++ "libdav1d/src/ppc/cpu.c", ++ "libdav1d/src/ppc/cpu.h", ++ ] ++ ++ configs -= [ "//build/config/compiler:chromium_code" ] ++ configs += [ ++ "//build/config/compiler:no_chromium_code", ++ ":dav1d_config", ++ ] ++ + cflags = dav1d_copts + } + } +@@ -262,5 +277,7 @@ static_library("dav1d") { + } + } else if (current_cpu == "arm" || current_cpu == "arm64") { + deps += [ ":dav1d_arm" ] ++ } else if (current_cpu == "ppc64") { ++ deps += [ ":dav1d_ppc" ] + } + } +diff --git a/src/3rdparty/chromium/third_party/dav1d/config/linux/ppc64/config.h b/src/3rdparty/chromium/third_party/dav1d/config/linux/ppc64/config.h +new file mode 100644 +index 000000000..f6ca57f7f +--- /dev/null ++++ b/src/3rdparty/chromium/third_party/dav1d/config/linux/ppc64/config.h +@@ -0,0 +1,35 @@ ++/* ++ * Autogenerated by the Meson build system. ++ * Do not edit, your changes will be lost. ++ */ ++ ++#pragma once ++ ++#define ARCH_AARCH64 0 ++ ++#define ARCH_ARM 0 ++ ++#define ARCH_PPC64LE 1 ++ ++#define ARCH_X86 0 ++ ++#define ARCH_X86_32 0 ++ ++#define ARCH_X86_64 0 ++ ++#define CONFIG_16BPC 1 ++ ++#define CONFIG_8BPC 1 ++ ++#define CONFIG_LOG 1 ++ ++#define ENDIANNESS_BIG 0 ++ ++#define HAVE_ASM 1 ++ ++#define HAVE_GETAUXVAL 1 ++ ++#define HAVE_POSIX_MEMALIGN 1 ++ ++#define HAVE_UNISTD_H 1 ++ +diff --git a/src/3rdparty/chromium/third_party/libdrm/src/xf86drm.c b/src/3rdparty/chromium/third_party/libdrm/src/xf86drm.c +index 1e87610b6..d1283f256 100644 +--- a/src/3rdparty/chromium/third_party/libdrm/src/xf86drm.c ++++ b/src/3rdparty/chromium/third_party/libdrm/src/xf86drm.c +@@ -54,10 +54,10 @@ + #include + #include + #include +-#ifdef MAJOR_IN_MKDEV ++#if __has_include() + #include + #endif +-#ifdef MAJOR_IN_SYSMACROS ++#if __has_include() + #include + #endif + #include +diff --git a/src/3rdparty/chromium/third_party/libpng/BUILD.gn b/src/3rdparty/chromium/third_party/libpng/BUILD.gn +index cbdb867f2..37d7d5805 100644 +--- a/src/3rdparty/chromium/third_party/libpng/BUILD.gn ++++ b/src/3rdparty/chromium/third_party/libpng/BUILD.gn @@ -93,6 +93,11 @@ source_set("libpng_sources") { "mips/filter_msa_intrinsics.c", "mips/mips_init.c", @@ -2973,9 +3381,11 @@ new file mode 100644 } configs -= [ "//build/config/compiler:chromium_code" ] +diff --git a/src/3rdparty/chromium/third_party/libpng/powerpc/filter_vsx_intrinsics.c b/src/3rdparty/chromium/third_party/libpng/powerpc/filter_vsx_intrinsics.c new file mode 100644 +index 000000000..e3de496bd --- /dev/null -+++ qtwebengine/src/3rdparty/chromium/third_party/libpng/powerpc/filter_vsx_intrinsics.c ++++ b/src/3rdparty/chromium/third_party/libpng/powerpc/filter_vsx_intrinsics.c @@ -0,0 +1,767 @@ +/* filter_vsx_intrinsics.c - PowerPC optimised filter functions + * @@ -3744,9 +4154,11 @@ new file mode 100644 +#endif /* PNG_POWERPC_VSX_OPT > 0 */ +#endif /* PNG_POWERPC_VSX_IMPLEMENTATION == 1 (intrinsics) */ +#endif /* READ */ +diff --git a/src/3rdparty/chromium/third_party/libpng/powerpc/powerpc_init.c b/src/3rdparty/chromium/third_party/libpng/powerpc/powerpc_init.c new file mode 100644 +index 000000000..07016177c --- /dev/null -+++ qtwebengine/src/3rdparty/chromium/third_party/libpng/powerpc/powerpc_init.c ++++ b/src/3rdparty/chromium/third_party/libpng/powerpc/powerpc_init.c @@ -0,0 +1,125 @@ + +/* powerpc_init.c - POWERPC optimised filter functions @@ -3873,8 +4285,10 @@ new file mode 100644 +} +#endif /* PNG_POWERPC_VSX_OPT > 0 */ +#endif /* READ */ ---- qtwebengine/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h -+++ qtwebengine/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h +diff --git a/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h b/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h +index 0f3d399b1..5cc45ba02 100644 +--- a/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h ++++ b/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h @@ -3914,7 +3914,7 @@ struct kernel_statfs { LSS_REG(2, buf); LSS_BODY(void*, mmap2, "0"(__r2)); @@ -3893,8 +4307,10 @@ new file mode 100644 (defined(__s390__) && !defined(__s390x__)) /* On these architectures, implement mmap() with mmap2(). */ LSS_INLINE void* LSS_NAME(mmap)(void *s, size_t l, int p, int f, int d, ---- qtwebengine/src/3rdparty/chromium/third_party/node/node.py -+++ qtwebengine/src/3rdparty/chromium/third_party/node/node.py +diff --git a/src/3rdparty/chromium/third_party/node/node.py b/src/3rdparty/chromium/third_party/node/node.py +index 8097e2c49..10e6a16ea 100755 +--- a/src/3rdparty/chromium/third_party/node/node.py ++++ b/src/3rdparty/chromium/third_party/node/node.py @@ -10,11 +10,12 @@ import sys @@ -3913,8 +4329,10 @@ new file mode 100644 def RunNode(cmd_parts, stdout=None): ---- qtwebengine/src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_constants.h -+++ qtwebengine/src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_constants.h +diff --git a/src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_constants.h b/src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_constants.h +index 945273b1f..e1735f2e5 100644 +--- a/src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_constants.h ++++ b/src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_constants.h @@ -11,7 +11,7 @@ namespace pdfium { @@ -3935,20 +4353,99 @@ new file mode 100644 #else static constexpr size_t kSystemPageSize = 4096; #endif ---- qtwebengine/src/3rdparty/chromium/third_party/sqlite/amalgamation/sqlite3.c -+++ qtwebengine/src/3rdparty/chromium/third_party/sqlite/amalgamation/sqlite3.c -@@ -13937,7 +13937,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) || \ +diff --git a/src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/partition_alloc_constants.h b/src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/partition_alloc_constants.h +index 437e4dffd..a42a9b085 100644 +--- a/src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/partition_alloc_constants.h ++++ b/src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/partition_alloc_constants.h +@@ -36,6 +36,8 @@ static const size_t kBucketShift = (kAllocationGranularity == 8) ? 3 : 2; + + #if defined(_MIPS_ARCH_LOONGSON) + static const size_t kPartitionPageShift = 16; // 64 KiB ++#elif defined(ARCH_CPU_PPC64) ++static const size_t kPartitionPageShift = 18; // 256 KiB + #else + static const size_t kPartitionPageShift = 14; // 16 KiB + #endif +diff --git a/src/3rdparty/chromium/third_party/pffft/src/pffft.c b/src/3rdparty/chromium/third_party/pffft/src/pffft.c +index bdac4d784..51e0f2cac 100644 +--- a/src/3rdparty/chromium/third_party/pffft/src/pffft.c ++++ b/src/3rdparty/chromium/third_party/pffft/src/pffft.c +@@ -100,6 +100,7 @@ + Altivec support macros + */ + #if !defined(PFFFT_SIMD_DISABLE) && (defined(__ppc__) || defined(__ppc64__)) ++#include + typedef vector float v4sf; + # define SIMD_SZ 4 + # define VZERO() ((vector float) vec_splat_u8(0)) +diff --git a/src/3rdparty/chromium/third_party/sqlite/amalgamation/sqlite3.c b/src/3rdparty/chromium/third_party/sqlite/amalgamation/sqlite3.c +index 59bdd500f..78d2924d7 100644 +--- a/src/3rdparty/chromium/third_party/sqlite/amalgamation/sqlite3.c ++++ b/src/3rdparty/chromium/third_party/sqlite/amalgamation/sqlite3.c +@@ -13986,10 +13986,11 @@ 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) || \ +- defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) ++ defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) || \ ++ defined(__LITTLE_ENDIAN__) + # define SQLITE_BYTEORDER 1234 + # elif defined(sparc) || defined(__ppc__) || \ +- defined(__ARMEB__) || defined(__AARCH64EB__) ++ defined(__ARMEB__) || defined(__AARCH64EB__) || defined(__BIG_ENDIAN__) + # define SQLITE_BYTEORDER 4321 + # else + # define SQLITE_BYTEORDER 0 +@@ -181728,9 +181729,9 @@ 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) || \ +- defined(__arm__) ++ defined(__arm__) || defined(__LITTLE_ENDIAN__) + # define SQLITE_BYTEORDER 1234 +-#elif defined(sparc) || defined(__ppc__) ++#elif defined(sparc) || defined(__ppc__) || defined(__BIG_ENDIAN__) + # define SQLITE_BYTEORDER 4321 + #else + # define SQLITE_BYTEORDER 0 /* 0 means "unknown at compile-time" */ +diff --git a/src/3rdparty/chromium/third_party/sqlite/patched/ext/rtree/rtree.c b/src/3rdparty/chromium/third_party/sqlite/patched/ext/rtree/rtree.c +index bd8b08eec..da3d77307 100644 +--- a/src/3rdparty/chromium/third_party/sqlite/patched/ext/rtree/rtree.c ++++ b/src/3rdparty/chromium/third_party/sqlite/patched/ext/rtree/rtree.c +@@ -425,9 +425,9 @@ 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) || \ +- defined(__arm__) ++ defined(__arm__) || defined(__LITTLE_ENDIAN__) + # define SQLITE_BYTEORDER 1234 +-#elif defined(sparc) || defined(__ppc__) ++#elif defined(sparc) || defined(__ppc__) || defined(__BIG_ENDIAN__) + # define SQLITE_BYTEORDER 4321 + #else + # define SQLITE_BYTEORDER 0 /* 0 means "unknown at compile-time" */ +diff --git a/src/3rdparty/chromium/third_party/sqlite/patched/src/sqliteInt.h b/src/3rdparty/chromium/third_party/sqlite/patched/src/sqliteInt.h +index 017809295..1acd10264 100644 +--- a/src/3rdparty/chromium/third_party/sqlite/patched/src/sqliteInt.h ++++ b/src/3rdparty/chromium/third_party/sqlite/patched/src/sqliteInt.h +@@ -833,10 +833,11 @@ 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) || \ - defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) + defined(__ARMEL__) || defined(__AARCH64EL__) || defined(_M_ARM64) || \ -+ defined(__powerpc64__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) ++ defined(__LITTLE_ENDIAN__) # define SQLITE_BYTEORDER 1234 - # elif defined(sparc) || defined(__ppc__) || \ - defined(__ARMEB__) || defined(__AARCH64EB__) ---- qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/differ_block.cc -+++ qtwebengine/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/differ_block.cc + # elif defined(sparc) || defined(__ppc__) || \ +- defined(__ARMEB__) || defined(__AARCH64EB__) ++ defined(__ARMEB__) || defined(__AARCH64EB__) || defined(__BIG_ENDIAN__) + # define SQLITE_BYTEORDER 4321 + # else + # define SQLITE_BYTEORDER 0 +diff --git a/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/differ_block.cc b/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/differ_block.cc +index dd9ab457e..c005d9599 100644 +--- a/src/3rdparty/chromium/third_party/webrtc/modules/desktop_capture/differ_block.cc ++++ b/src/3rdparty/chromium/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; @@ -3973,10 +4470,12 @@ new file mode 100644 #endif } ---- qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/system/arch.h -+++ qtwebengine/src/3rdparty/chromium/third_party/webrtc/rtc_base/system/arch.h -@@ -47,6 +47,18 @@ - #elif defined(__pnacl__) +diff --git a/src/3rdparty/chromium/third_party/webrtc/rtc_base/system/arch.h b/src/3rdparty/chromium/third_party/webrtc/rtc_base/system/arch.h +index eb77ffa8f..e60b81a05 100644 +--- a/src/3rdparty/chromium/third_party/webrtc/rtc_base/system/arch.h ++++ b/src/3rdparty/chromium/third_party/webrtc/rtc_base/system/arch.h +@@ -50,6 +50,18 @@ + #elif defined(__EMSCRIPTEN__) #define WEBRTC_ARCH_32_BITS #define WEBRTC_ARCH_LITTLE_ENDIAN +#elif defined(__PPC__) @@ -3992,11 +4491,13 @@ new file mode 100644 +#define WEBRTC_ARCH_32_BITS +#endif #else - #error Please add support for your architecture in typedefs.h + #error Please add support for your architecture in rtc_base/system/arch.h #endif ---- qtwebengine/src/3rdparty/chromium/v8/BUILD.gn -+++ qtwebengine/src/3rdparty/chromium/v8/BUILD.gn -@@ -544,6 +544,12 @@ config("toolchain") { +diff --git a/src/3rdparty/chromium/v8/BUILD.gn b/src/3rdparty/chromium/v8/BUILD.gn +index e21400265..23456628b 100644 +--- a/src/3rdparty/chromium/v8/BUILD.gn ++++ b/src/3rdparty/chromium/v8/BUILD.gn +@@ -588,6 +588,12 @@ config("toolchain") { } if (host_byteorder == "little") { defines += [ "V8_TARGET_ARCH_PPC_LE" ] @@ -4009,30 +4510,35 @@ new file mode 100644 } else if (host_byteorder == "big") { defines += [ "V8_TARGET_ARCH_PPC_BE" ] if (current_os == "aix") { ---- qtwebengine/src/3rdparty/chromium/v8/test/BUILD.gn -+++ qtwebengine/src/3rdparty/chromium/v8/test/BUILD.gn -@@ -17,7 +17,7 @@ group("gn_all") { - "mozilla:v8_mozilla", - "preparser:v8_preparser", - "test262:v8_test262", - "wasm-js:v8_wasm_js", -- "wasm-spec-tests:v8_wasm_spec_tests", -+ #"wasm-spec-tests:v8_wasm_spec_tests", - "webkit:v8_webkit", - ] -@@ -80,9 +80,9 @@ group("v8_bot_default") { +diff --git a/src/3rdparty/chromium/v8/test/BUILD.gn b/src/3rdparty/chromium/v8/test/BUILD.gn +index 6bf9ca643..66ce4ad31 100644 +--- a/src/3rdparty/chromium/v8/test/BUILD.gn ++++ b/src/3rdparty/chromium/v8/test/BUILD.gn +@@ -32,7 +32,7 @@ group("gn_all") { + deps += [ + "cctest:cctest", + "cctest:generate-bytecode-expectations", +- "unittests:unittests", ++ #"unittests:unittests", + ] + } + } +@@ -82,10 +82,10 @@ group("v8_bot_default") { "mjsunit:v8_mjsunit", "mkgrokdump:mkgrokdump", "preparser:v8_preparser", - "unittests:unittests", +- "wasm-api-tests:wasm_api_tests", + #"unittests:unittests", - "wasm-api-tests:wasm_api_tests", ++ #"wasm-api-tests:wasm_api_tests", "wasm-js:v8_wasm_js", - "wasm-spec-tests:v8_wasm_spec_tests", + #"wasm-spec-tests:v8_wasm_spec_tests", "webkit:v8_webkit", ] -@@ -104,9 +104,9 @@ group("v8_default") { + } +@@ -103,10 +103,10 @@ group("v8_default") { + "mjsunit:v8_mjsunit", "mkgrokdump:mkgrokdump", "preparser:v8_preparser", - "unittests:unittests", @@ -4046,3 +4552,6 @@ new file mode 100644 ] } +-- +2.26.0 + diff --git a/srcpkgs/qt5-webengine/patches/0091-chromium-ppc64le-musl.patch b/srcpkgs/qt5-webengine/patches/0091-chromium-ppc64le-musl.patch new file mode 100644 index 0000000000..f17635cb4a --- /dev/null +++ b/srcpkgs/qt5-webengine/patches/0091-chromium-ppc64le-musl.patch @@ -0,0 +1,164 @@ +From 8854db726f90e53bf5ed5af8b236ef36a709a682 Mon Sep 17 00:00:00 2001 +From: q66 +Date: Sun, 19 Jan 2020 01:06:40 +0100 +Subject: [PATCH 3/3] Additional fixes for musl libc with ppc64 + +--- + .../chromium/sandbox/linux/bpf_dsl/seccomp_macros.h | 6 +++--- + src/3rdparty/chromium/sandbox/linux/seccomp-bpf/syscall.cc | 4 ++-- + .../abseil-cpp/absl/base/internal/unscaledcycleclock.cc | 4 ++-- + .../abseil-cpp/absl/base/internal/unscaledcycleclock.h | 2 +- + .../src/client/linux/dump_writer_common/thread_info.cc | 7 +++++-- + .../src/client/linux/dump_writer_common/ucontext_reader.cc | 7 +++++-- + .../breakpad/src/client/linux/handler/exception_handler.cc | 5 +++++ + 7 files changed, 23 insertions(+), 12 deletions(-) + +diff --git a/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h b/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h +index a6aec544e..2a4a7f1bc 100644 +--- a/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h ++++ b/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h +@@ -16,7 +16,7 @@ + #if defined(__mips__) + // sys/user.h in eglibc misses size_t definition + #include +-#elif defined(__powerpc64__) ++#elif defined(__powerpc64__) && defined(__GLIBC__) + // Manually define greg_t on ppc64 + typedef unsigned long long greg_t; + #endif +@@ -361,11 +361,11 @@ typedef struct pt_regs regs_struct; + #define SECCOMP_ARCH AUDIT_ARCH_PPC64 + #endif + +-#define SECCOMP_REG(_ctx, _reg) ((_ctx)->uc_mcontext.regs->gpr[_reg]) ++#define SECCOMP_REG(_ctx, _reg) (((struct pt_regs *)(_ctx)->uc_mcontext.regs)->gpr[_reg]) + + #define SECCOMP_RESULT(_ctx) SECCOMP_REG(_ctx, 3) + #define SECCOMP_SYSCALL(_ctx) SECCOMP_REG(_ctx, 0) +-#define SECCOMP_IP(_ctx) (_ctx)->uc_mcontext.regs->nip ++#define SECCOMP_IP(_ctx) ((struct pt_regs *)(_ctx)->uc_mcontext.regs)->nip + #define SECCOMP_PARM1(_ctx) SECCOMP_REG(_ctx, 3) + #define SECCOMP_PARM2(_ctx) SECCOMP_REG(_ctx, 4) + #define SECCOMP_PARM3(_ctx) SECCOMP_REG(_ctx, 5) +diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/syscall.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/syscall.cc +index 10fa5fd07..30b7b3851 100644 +--- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/syscall.cc ++++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/syscall.cc +@@ -497,9 +497,9 @@ void Syscall::PutValueInUcontext(intptr_t ret_val, ucontext_t* ctx) { + // Same as MIPS, need to invert ret and set error register (cr0.SO) + if (ret_val <= -1 && ret_val >= -4095) { + ret_val = -ret_val; +- ctx->uc_mcontext.regs->ccr |= (1 << 28); ++ ((struct pt_regs *)ctx->uc_mcontext.regs)->ccr |= (1 << 28); + } else { +- ctx->uc_mcontext.regs->ccr &= ~(1 << 28); ++ ((struct pt_regs *)ctx->uc_mcontext.regs)->ccr &= ~(1 << 28); + } + #endif + SECCOMP_RESULT(ctx) = static_cast(ret_val); +diff --git a/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc b/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +index 593762bc8..689248755 100644 +--- a/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc ++++ b/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +@@ -20,7 +20,7 @@ + #include + #endif + +-#if defined(__powerpc__) || defined(__ppc__) ++#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__) + #include + #endif + +@@ -53,7 +53,7 @@ double UnscaledCycleClock::Frequency() { + return base_internal::NominalCPUFrequency(); + } + +-#elif defined(__powerpc__) || defined(__ppc__) ++#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__) + + int64_t UnscaledCycleClock::Now() { + return __ppc_get_timebase(); +diff --git a/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h b/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +index 2d361e962..98242096c 100644 +--- a/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h ++++ b/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +@@ -46,7 +46,7 @@ + + // The following platforms have an implementation of a hardware counter. + #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \ +- defined(__powerpc__) || defined(__ppc__) || \ ++ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \ + defined(_M_IX86) || defined(_M_X64) + #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1 + #else +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc +index 03afec7a5..0264ecf13 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc +@@ -273,6 +273,9 @@ void ThreadInfo::FillCPUContext(RawContextCPU* out) const { + + #elif defined(__powerpc64__) + ++#include ++#include ++ + uintptr_t ThreadInfo::GetInstructionPointer() const { + return mcontext.gp_regs[PT_NIP]; + } +@@ -290,9 +293,9 @@ void ThreadInfo::FillCPUContext(RawContextCPU* out) const { + out->ctr = mcontext.gp_regs[PT_CTR]; + + for (int i = 0; i < MD_FLOATINGSAVEAREA_PPC_FPR_COUNT; i++) +- out->float_save.fpregs[i] = mcontext.fp_regs[i]; ++ out->float_save.fpregs[i] = ((uint64_t *)&mcontext.fp_regs)[i]; + +- out->float_save.fpscr = mcontext.fp_regs[NFPREG-1]; ++ out->float_save.fpscr = ((uint64_t *)&mcontext.fp_regs)[ELF_NFPREG-1]; + + for (int i = 0; i < MD_VECTORSAVEAREA_PPC_VR_COUNT; i++) + out->vector_save.save_vr[i] = \ +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc +index 7620cf6f7..54e373611 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc +@@ -257,6 +257,9 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) { + + #elif defined(__powerpc64__) + ++#include ++#include ++ + uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) { + return uc->uc_mcontext.gp_regs[MD_CONTEXT_PPC64_REG_SP]; + } +@@ -280,9 +283,9 @@ void UContextReader::FillCPUContext(RawContextCPU* out, const ucontext_t* uc, + out->ctr = uc->uc_mcontext.gp_regs[PT_CTR]; + + for (int i = 0; i < MD_FLOATINGSAVEAREA_PPC_FPR_COUNT; i++) +- out->float_save.fpregs[i] = uc->uc_mcontext.fp_regs[i]; ++ out->float_save.fpregs[i] = ((uint64_t *)&uc->uc_mcontext.fp_regs)[i]; + +- out->float_save.fpscr = uc->uc_mcontext.fp_regs[NFPREG-1]; ++ out->float_save.fpscr = ((uint64_t *)&uc->uc_mcontext.fp_regs)[ELF_NFPREG-1]; + + for (int i = 0; i < MD_VECTORSAVEAREA_PPC_VR_COUNT; i++) + out->vector_save.save_vr[i] = +diff --git a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc +index 901cd68fb..561958c44 100644 +--- a/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc ++++ b/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc +@@ -105,6 +105,11 @@ + #define PR_SET_PTRACER 0x59616d61 + #endif + ++/* musl hack, can't include asm/ptrace.h as that causes conflicts */ ++#if defined(__powerpc64__) && !defined(PT_NIP) ++#define PT_NIP 32 ++#endif ++ + namespace google_breakpad { + + namespace { +-- +2.26.0 + diff --git a/srcpkgs/qt5-webengine/template b/srcpkgs/qt5-webengine/template index 94e491bbf1..ab9c673333 100644 --- a/srcpkgs/qt5-webengine/template +++ b/srcpkgs/qt5-webengine/template @@ -58,10 +58,20 @@ fi if [ "$XBPS_NO_ATOMIC8" ]; then hostmakedepends+=" libatomic-devel" fi + +# ppc64 still needs libatomic here, as does s390x but we don't have that +case "$XBPS_MACHINE" in + ppc64*) hostmakedepends+=" libatomic-devel" +esac + if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then makedepends+=" libatomic-devel" fi +case "$XBPS_TARGET_MACHINE" in + ppc64*) makedepends+=" libatomic-devel" +esac + case "$XBPS_TARGET_MACHINE" in armv7l*) broken="ERROR at //skia/BUILD.gn:707:11: Undefined identifier.";; # configs -= [ "//build/config/compiler:compiler_arm_fpu" ]