Compare commits

..

20 commits

Author SHA1 Message Date
Than Ngo
8afd224270 - Update to 144.0.7559.59
* CVE-2026-0899: Out of bounds memory access in V8
  * CVE-2026-0900: Inappropriate implementation in V8
  * CVE-2026-0901: Inappropriate implementation in Blink
  * CVE-2026-0902: Inappropriate implementation in V8
  * CVE-2026-0903: Insufficient validation of untrusted input in Downloads
  * CVE-2026-0904: Incorrect security UI in Digital Credentials
  * CVE-2026-0905: Insufficient policy enforcement in Network
  * CVE-2026-0906: Incorrect security UI
  * CVE-2026-0907: Incorrect security UI in Split View
  * CVE-2026-0908: Use after free in ANGLE
2026-01-14 11:03:27 +01:00
Than Ngo
9d700ef13f Fix typo 2026-01-07 15:50:15 +01:00
Than Ngo
9fa42d3890 - Update tp 143.0.7499.192
* High CVE-2026-0628: Insufficient policy enforcement in WebView tag
- Fix rhbz#2425338, Enable control flow integrity support for x86_64/aarch64
- Enable build for epel10.1
2026-01-07 15:49:11 +01:00
Than Ngo
5d3124cac2 Update to 143.0.7499.169 2025-12-20 10:24:21 +01:00
Than Ngo
cbf2808293 - Update to 143.0.7499.146
* High CVE-2025-14765: Use after free in WebGPU
  * High CVE-2025-14766: Out of bounds read and write in V8
- Force dark mode when auto dark mode web content is on
- Remove omnibox-next-Improve-cutout-mouse-handling-for-Wayla patch, as it's merged
2025-12-17 11:30:05 +01:00
Hoshino Lina
fa84178555 Move core BRs out of GTK4 section & add missing ones
These BRs are required by Chromium proper, even when built without any toolkits
(e.g. as CEF).

Add a few missing ones (wayland-devel, xkbcommon, pangocairo) and move others
out of the GTK4 conditional, since they aren't actually related to GTK4, they
just happened to be pulled in by gtk3-devel.
2025-12-13 14:55:06 +09:00
Than Ngo
d0c2893c13 Enable gtk3 for el9 as it still has old gtk4 version 2025-12-12 11:58:21 +01:00
Than Ngo
9cf22f9f1c Add BR for gtk4 2025-12-12 09:43:04 +01:00
Than Ngo
9334d87d2c Enable gtk4 by default 2025-12-11 23:14:37 +01:00
Than Ngo
6196c57429 - Update to 143.0.7499.109
* High: Under coordination
  * Medium CVE-2025-14372: Use after free in Password Manager
  * Medium CVE-2025-14373: Inappropriate implementation in Toolbar
- Workaround problem of auto dark mode inverting images and making them unreadable
2025-12-11 10:08:45 +01:00
LuK1337
538383ec00
Backport Wayland Omnibox bug fix from upstream 2025-12-09 18:28:09 +01:00
Than Ngo
fe4b649258 Fix build error caused by python-3.9 on EL9 2025-12-04 18:25:39 +01:00
Than Ngo
c285730bf0 Fix build error caused by old rustc on el9 2025-12-04 14:39:50 +01:00
Than Ngo
42d5249d17 apply swiftshader-llvm-16.0 patch 2025-12-04 09:57:38 +01:00
Yaakov Selkowitz
a0dda14ce4 Update flatpak patches from flathub 2025-12-04 00:59:02 -05:00
Than Ngo
ffdc3cb055 Update to 143.0.7499.40
* High CVE-2025-13630: Type Confusion in V8
  * High CVE-2025-13631: Inappropriate implementation in Google Updater
  * High CVE-2025-13632: Inappropriate implementation in DevTools
  * High CVE-2025-13633: Use after free in Digital Credentials
  * Medium CVE-2025-13634: Inappropriate implementation in Downloads
  * Medium CVE-2025-13720: Bad cast in Loader
  * Medium CVE-2025-13721: Race in v8
  * Low CVE-2025-13635: Inappropriate implementation in Downloads
  * Low CVE-2025-13636: Inappropriate implementation in Split View
  * Low CVE-2025-13637: Inappropriate implementation in Downloads
  * Low CVE-2025-13638: Use after free in Media Stream
  * Low CVE-2025-13639: Inappropriate implementation in WebRTC
  * Low CVE-2025-13640: Inappropriate implementation in Passwords
- Drop workaround darkmode-image-policy.patch
- Fix build error due to Unresolved dependencies
- Fix swiftshader to compile with llvm-16.0
- Refresh python-3.9-ftbfs patch for el9
- Refresh ppc64le patches
- Refresh chromium.conf
2025-12-03 19:49:16 +01:00
LuK1337
21c645393d
Backport one more Wayland DnD bug fix from upstream 2025-12-01 09:07:42 +01:00
Than Ngo
c33bc72873 Set gtk version to 3 by default 2025-11-25 17:55:14 +01:00
Than Ngo
c2f0304e51 - Enable system libcxx
- Fix link error when building with system libcxx
- Apply memory-allocator-dcheck-assert-fix for aarch64
2025-11-24 09:28:20 +01:00
LuK1337
5bf1f40832
Backport Wayland DnD bug fix from upstream 2025-11-20 23:43:08 +01:00
57 changed files with 6871 additions and 6316 deletions

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/abi_self_test.cc
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/abi_self_test.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/crypto/abi_self_test.cc
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/abi_self_test.cc
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/abi_self_test.cc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/abi_self_test.cc
@@ -521,3 +521,289 @@ TEST(ABITest, AArch64) {
CHECK_ABI_NO_UNWIND(abi_test_clobber_v15_upper);
}
@ -292,10 +292,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/abi_self_test.cc
+ CHECK_ABI_NO_UNWIND(abi_test_clobber_lr);
+}
+#endif // OPENSSL_PPC64LE && SUPPORTS_ABI_TEST
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/cpu_ppc64le.cc
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/cpu_ppc64le.cc
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/cpu_ppc64le.cc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/cpu_ppc64le.cc
@@ -0,0 +1,38 @@
+/* Copyright (c) 2016, Google Inc.
+ *
@ -335,10 +335,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/cpu_ppc64le.cc
+}
+
+#endif // OPENSSL_PPC64LE
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/crypto.cc
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/crypto.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/crypto/crypto.cc
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/crypto.cc
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/crypto.cc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/crypto.cc
@@ -67,6 +67,10 @@ uint32_t OPENSSL_get_ia32cap(int idx) {
return OPENSSL_ia32cap_P[idx];
}
@ -350,10 +350,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/crypto.cc
#elif (defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)) && \
!defined(OPENSSL_STATIC_ARMCAP)
HIDDEN uint32_t OPENSSL_armcap_P = 0;
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
@@ -0,0 +1,3809 @@
+#! /usr/bin/env perl
+# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved.
@ -4164,10 +4164,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/as
+}
+
+close STDOUT or die "error closing STDOUT: $!";
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
@@ -81,6 +81,12 @@ inline int vpaes_capable(void) { return
inline int vpaes_capable(void) { return CRYPTO_is_NEON_capable(); }
#endif
@ -4195,11 +4195,11 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/in
#endif
#endif // OPENSSL_NO_ASM
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
@@ -104,6 +104,7 @@
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
@@ -105,6 +105,7 @@
#include "self_check/fips.cc.inc"
#include "self_check/self_check.cc.inc"
#include "service_indicator/service_indicator.cc.inc"
@ -4207,10 +4207,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
#include "sha/sha1.cc.inc"
#include "sha/sha256.cc.inc"
#include "sha/sha512.cc.inc"
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
@@ -330,6 +330,23 @@ int bn_expand(BIGNUM *bn, size_t bits) {
}
@ -4235,11 +4235,11 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/bn/bn.
if ((size_t)bn->width <= words) {
if (!bn_wexpand(bn, words)) {
return 0;
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
@@ -1229,6 +1229,8 @@ int EVP_has_aes_hardware(void) {
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
@@ -1234,6 +1234,8 @@ int EVP_has_aes_hardware(void) {
return hwaes_capable() && crypto_gcm_clmul_enabled();
#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
return hwaes_capable() && CRYPTO_is_ARMv8_PMULL_capable();
@ -4248,10 +4248,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/cipher
#else
return 0;
#endif
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
@@ -0,0 +1,671 @@
+#! /usr/bin/env perl
+# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
@ -4924,10 +4924,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/as
+}
+
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
@@ -233,6 +233,13 @@ void CRYPTO_ghash_init(gmult_func *out_m
*out_hash = gcm_ghash_neon;
return;
@ -4942,10 +4942,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/gc
#endif
gcm_init_nohw(out_table, H);
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
@@ -169,5 +169,15 @@ TEST(GCMTest, ABI) {
}
}
@ -4962,10 +4962,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/aes/gc
+#endif // GHASH_ASM_PPC64LE
}
#endif // SUPPORTS_ABI_TEST && !OPENSSL_NO_ASM
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
@@ -30,6 +30,8 @@
#define EXPECTED_NR_getrandom 278
#elif defined(OPENSSL_ARM)
@ -4975,11 +4975,11 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/rand/getrandom_fi
#elif defined(OPENSSL_RISCV64)
#define EXPECTED_NR_getrandom 278
#endif
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
@@ -431,6 +431,11 @@ bcm_infallible BCM_rand_bytes_with_addit
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
@@ -425,6 +425,11 @@ bcm_infallible BCM_rand_bytes_with_addit
// Take a read lock around accesses to |state->drbg|. This is needed to
// avoid returning bad entropy if we race with
// |rand_thread_state_clear_all|.
@ -4990,11 +4990,11 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/rand/r
+ // kernel, syscalls made with |syscall| did not abort the transaction.
CRYPTO_MUTEX_lock_read(&state->clear_drbg_lock);
#endif
if (!CTR_DRBG_reseed(&state->drbg, seed, reseed_additional_data,
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
if (!CTR_DRBG_reseed_ex(&state->drbg, seed, sizeof(seed),
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
@@ -23,6 +23,16 @@
extern "C" {
#endif
@ -5012,10 +5012,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/sha/in
// Define SHA{n}[_{variant}]_ASM if sha{n}_block_data_order[_{variant}] is
// defined in assembly.
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
@@ -0,0 +1,369 @@
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.ccom)
+ * All rights reserved.
@ -5386,11 +5386,11 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/sha/sh
+#undef BODY_20_39
+#undef BODY_40_59
+#undef BODY_60_79
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/internal.h
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/internal.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/crypto/internal.h
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/internal.h
@@ -62,8 +62,9 @@ extern "C" {
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/internal.h
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/internal.h
@@ -66,8 +66,9 @@ extern "C" {
#if !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_STATIC_ARMCAP) && \
(defined(OPENSSL_X86) || defined(OPENSSL_X86_64) || \
defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64))
@ -5402,7 +5402,7 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/internal.h
#define NEED_CPUID
// OPENSSL_cpuid_setup initializes the platform-specific feature cache. This
@@ -1412,6 +1413,16 @@ inline int CRYPTO_is_ARMv8_SHA512_capabl
@@ -1420,6 +1421,16 @@ inline int CRYPTO_is_ARMv8_SHA512_capabl
#endif // OPENSSL_ARM || OPENSSL_AARCH64
@ -5419,10 +5419,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/internal.h
#if defined(BORINGSSL_DISPATCH_TEST)
// Runtime CPU dispatch testing support
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
@@ -0,0 +1,320 @@
+#! /usr/bin/env perl
+# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.
@ -5744,10 +5744,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/perlasm/ppc-xlate
+___
+
+close STDOUT or die "error closing STDOUT: $!";
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/test/abi_test.h
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/abi_test.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/crypto/test/abi_test.h
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/test/abi_test.h
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/test/abi_test.h
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/abi_test.h
@@ -179,7 +179,78 @@ struct alignas(16) Reg128 {
CALLER_STATE_REGISTER(uint64_t, x28) \
CALLER_STATE_REGISTER(uint64_t, x29)
@ -5854,10 +5854,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/test/abi_test.h
static_assert(sizeof...(args) <= 8,
"too many arguments for abi_test_trampoline");
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
@@ -0,0 +1,262 @@
+#!/usr/bin/env perl
+# Copyright (c) 2019, Google Inc.
@ -6121,10 +6121,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/test/asm/trampoli
+
+print $code;
+close STDOUT or die "error closing STDOUT: $!";
Index: chromium-140.0.7339.41/third_party/boringssl/src/include/openssl/target.h
Index: chromium-144.0.7559.59/third_party/boringssl/src/include/openssl/target.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/include/openssl/target.h
+++ chromium-140.0.7339.41/third_party/boringssl/src/include/openssl/target.h
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/include/openssl/target.h
+++ chromium-144.0.7559.59/third_party/boringssl/src/include/openssl/target.h
@@ -34,6 +34,9 @@
#elif defined(__ARMEL__) || defined(_M_ARM)
#define OPENSSL_32_BIT
@ -6135,11 +6135,11 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/include/openssl/target.h
#elif defined(__MIPSEL__) && !defined(__LP64__)
#define OPENSSL_32_BIT
#define OPENSSL_MIPS
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
@@ -35,6 +35,8 @@ int main(int argc, char **argv) {
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
@@ -31,6 +31,8 @@ int main(int argc, char **argv) {
puts("ARM (32-bit)");
#elif defined(OPENSSL_AARCH64)
puts("aarch64 (64-bit)");
@ -6148,10 +6148,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/acvp/modu
#else
#error "FIPS build not supported on this architecture"
#endif
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/delocate.go
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.go
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/delocate.go
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.go
@@ -56,7 +56,8 @@ type stringWriter interface {
type processorType int
@ -6751,10 +6751,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/
case "str", "bl", "ldr", "st1":
return aarch64
}
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
@@ -12,9 +12,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
@ -6768,10 +6768,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/
# To regenerate delocate.peg.go:
#
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
@@ -39,6 +39,11 @@ func (test *delocateTest) Path(file stri
var delocateTests = []delocateTest{
@ -6784,10 +6784,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/
{"x86_64-Basic", []string{"in.s"}, "out.s"},
{"x86_64-BSS", []string{"in.s"}, "out.s"},
{"x86_64-GOTRewrite", []string{"in.s"}, "out.s"},
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
@@ -0,0 +1,9 @@
+ .text
+foo:
@ -6798,10 +6798,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/
+ .localentry foo,.-foo
+.LVL0:
+ bl
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
@@ -0,0 +1,62 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@ -6865,19 +6865,19 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
@@ -0,0 +1,4 @@
+ .text
+foo:
+ addis 22,2,bar@toc@ha
+ ld 0,bar@toc@l(22)
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
@@ -0,0 +1,72 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@ -6951,10 +6951,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
@@ -0,0 +1,161 @@
+ .file "foo.cc"
+ .abiversion 2
@ -7117,10 +7117,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/
+ .size exported_function,.-exported_function
+ .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2"
+ .section .note.GNU-stack,"",@progbits
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
@@ -0,0 +1,552 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@ -7674,10 +7674,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
@@ -0,0 +1,226 @@
+ .file "foo.cc"
+ .abiversion 2
@ -7905,10 +7905,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/
+ .zero 20
+ .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2"
+ .section .note.GNU-stack,"",@progbits
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
@@ -0,0 +1,677 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@ -8587,10 +8587,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
@@ -0,0 +1,23 @@
+ .text
+foo:
@ -8615,10 +8615,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/
+
+ addis 4, 2, 1+foo-2@toc@ha+3
+ addi 4, 4, 1+foo-2@toc@l+3
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
@@ -0,0 +1,178 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@ -8798,10 +8798,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
+++ chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
@@ -377,6 +377,10 @@ static void sha1_block_data_order(uint32
return;
}
@ -8813,11 +8813,11 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/crypto/fipsmodule/sha/sh
sha1_block_data_order_nohw(state, data, num);
}
Index: chromium-140.0.7339.41/third_party/boringssl/src/build.json
Index: chromium-144.0.7559.59/third_party/boringssl/src/build.json
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/build.json
+++ chromium-140.0.7339.41/third_party/boringssl/src/build.json
@@ -128,6 +128,10 @@
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/build.json
+++ chromium-144.0.7559.59/third_party/boringssl/src/build.json
@@ -130,6 +130,10 @@
{"src": "crypto/fipsmodule/sha/asm/sha512-armv4.pl"},
{"src": "crypto/fipsmodule/aes/asm/vpaes-armv7.pl"}
],
@ -8828,7 +8828,7 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/build.json
"perlasm_x86": [
{"src": "crypto/fipsmodule/aes/asm/aesni-x86.pl"},
{"src": "crypto/fipsmodule/bn/asm/bn-586.pl"},
@@ -237,6 +241,7 @@
@@ -239,6 +243,7 @@
"crypto/cpu_arm_freebsd.cc",
"crypto/cpu_arm_linux.cc",
"crypto/cpu_intel.cc",
@ -8846,10 +8846,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/build.json
"perlasm_x86": [
{"src": "crypto/test/asm/trampoline-x86.pl"}
],
Index: chromium-140.0.7339.41/third_party/boringssl/src/util/pregenerate/build.go
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/pregenerate/build.go
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/util/pregenerate/build.go
+++ chromium-140.0.7339.41/third_party/boringssl/src/util/pregenerate/build.go
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/pregenerate/build.go
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/pregenerate/build.go
@@ -38,6 +38,7 @@ type InputTarget struct {
// architecture.
PerlasmAarch64 []PerlasmSource `json:"perlasm_aarch64,omitempty"`
@ -8868,10 +8868,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/util/pregenerate/build.g
for _, p := range in.PerlasmX86 {
addPerlasmTask(&out.Asm, &p, "-apple.S", []string{"macosx", "-fPIC"})
addPerlasmTask(&out.Asm, &p, "-linux.S", []string{"elf", "-fPIC"})
Index: chromium-140.0.7339.41/third_party/boringssl/README.ppc64le
Index: chromium-144.0.7559.59/third_party/boringssl/README.ppc64le
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/README.ppc64le
+++ chromium-144.0.7559.59/third_party/boringssl/README.ppc64le
@@ -0,0 +1,8 @@
+==============================================================
+To recreate boringssl pregenerated files patch for ppc64le:
@ -8881,11 +8881,11 @@ Index: chromium-140.0.7339.41/third_party/boringssl/README.ppc64le
+go run ./util/pregenerate
+cd ../../../../
+diff -urN chromium-*/third_party/boringssl/src/gen.orig chromium-*/third_party/boringssl/src/gen
Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.gni
Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.gni
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/gen/sources.gni
+++ chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.gni
@@ -121,6 +121,7 @@ bcm_sources_asm = [
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/gen/sources.gni
+++ chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.gni
@@ -123,6 +123,7 @@ bcm_sources_asm = [
"gen/bcm/aesv8-gcm-armv8-apple.S",
"gen/bcm/aesv8-gcm-armv8-linux.S",
"gen/bcm/aesv8-gcm-armv8-win.S",
@ -8893,7 +8893,7 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.gni
"gen/bcm/armv4-mont-linux.S",
"gen/bcm/armv8-mont-apple.S",
"gen/bcm/armv8-mont-linux.S",
@@ -137,6 +138,7 @@ bcm_sources_asm = [
@@ -139,6 +140,7 @@ bcm_sources_asm = [
"gen/bcm/ghash-neon-armv8-apple.S",
"gen/bcm/ghash-neon-armv8-linux.S",
"gen/bcm/ghash-neon-armv8-win.S",
@ -8901,7 +8901,7 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.gni
"gen/bcm/ghash-ssse3-x86-apple.S",
"gen/bcm/ghash-ssse3-x86-linux.S",
"gen/bcm/ghash-ssse3-x86_64-apple.S",
@@ -336,6 +338,7 @@ crypto_sources = [
@@ -338,6 +340,7 @@ crypto_sources = [
"crypto/cpu_arm_freebsd.cc",
"crypto/cpu_arm_linux.cc",
"crypto/cpu_intel.cc",

View file

@ -8,10 +8,10 @@ Subject: [PATCH] Add ppc64 target to libaom
third_party/libaom/cmake_update.sh | 3 +++
2 files changed, 15 insertions(+)
Index: chromium-140.0.7339.41/third_party/libaom/BUILD.gn
Index: chromium-144.0.7559.59/third_party/libaom/BUILD.gn
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libaom/BUILD.gn
+++ chromium-140.0.7339.41/third_party/libaom/BUILD.gn
--- chromium-144.0.7559.59.orig/third_party/libaom/BUILD.gn
+++ chromium-144.0.7559.59/third_party/libaom/BUILD.gn
@@ -299,6 +299,18 @@ if (current_cpu == "arm64" || current_cp
}
}
@ -41,10 +41,10 @@ Index: chromium-140.0.7339.41/third_party/libaom/BUILD.gn
if (is_android) {
deps += [ "//third_party/cpu_features:ndk_compat" ]
}
Index: chromium-140.0.7339.41/third_party/libaom/cmake_update.sh
Index: chromium-144.0.7559.59/third_party/libaom/cmake_update.sh
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libaom/cmake_update.sh
+++ chromium-140.0.7339.41/third_party/libaom/cmake_update.sh
--- chromium-144.0.7559.59.orig/third_party/libaom/cmake_update.sh
+++ chromium-144.0.7559.59/third_party/libaom/cmake_update.sh
@@ -167,6 +167,9 @@ egrep \
"#define [A-Z0-9_]+[[:space:]]+[01]" "${CFG}/win/ia32/config/aom_config.h" \
| awk '{print "%define " $2 " " $3}' > "${CFG}/win/ia32/config/aom_config.asm"

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
@@ -0,0 +1,100 @@
+;
+; Copyright (c) 2025, Alliance for Open Media. All rights reserved.
@ -103,10 +103,10 @@ Index: chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/confi
+HAVE_VSX equ 1
+HAVE_WXWIDGETS equ 0
+STATIC_LINK_JXL equ 0
Index: chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
@@ -0,0 +1,13 @@
+/*
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.
@ -121,10 +121,10 @@ Index: chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/confi
+#include "aom/aom_codec.h"
+static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/ppc-linux-gcc.cmake\" -DCONFIG_AV1_DECODER=0 -DCONFIG_AV1_ENCODER=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_QUANT_MATRIX=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384";
+const char *aom_codec_build_config(void) {return cfg;}
Index: chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.
@ -229,10 +229,10 @@ Index: chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/confi
+#define HAVE_WXWIDGETS 0
+#define STATIC_LINK_JXL 0
+#endif // AOM_CONFIG_H_
Index: chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
@@ -0,0 +1,1177 @@
+/*
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.
@ -1411,10 +1411,10 @@ Index: chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/confi
+#endif
+
+#endif // AOM_DSP_RTCD_H_
Index: chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.
@ -1507,10 +1507,10 @@ Index: chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/confi
+#endif
+
+#endif // AOM_SCALE_RTCD_H_
Index: chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
@@ -0,0 +1,405 @@
+/*
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.

View file

@ -1,8 +1,8 @@
Index: chromium-140.0.7339.41/v8/gni/v8.gni
Index: chromium-144.0.7559.59/v8/gni/v8.gni
===================================================================
--- chromium-140.0.7339.41.orig/v8/gni/v8.gni
+++ chromium-140.0.7339.41/v8/gni/v8.gni
@@ -274,7 +274,7 @@ assert(!(v8_enable_webassembly && v8_ena
--- chromium-144.0.7559.59.orig/v8/gni/v8.gni
+++ chromium-144.0.7559.59/v8/gni/v8.gni
@@ -317,7 +317,7 @@ assert(
if (v8_enable_pointer_compression == "") {
v8_enable_pointer_compression =
v8_current_cpu == "arm64" || v8_current_cpu == "x64" ||

View file

@ -8,11 +8,11 @@ Subject: [PATCH] Force baseline POWER8 / AltiVec / VSX CPU features when on a
BUILD.gn | 6 ++++++
1 file changed, 6 insertions(+)
Index: chromium-140.0.7339.41/v8/BUILD.gn
Index: chromium-144.0.7559.59/v8/BUILD.gn
===================================================================
--- chromium-140.0.7339.41.orig/v8/BUILD.gn
+++ chromium-140.0.7339.41/v8/BUILD.gn
@@ -1555,7 +1555,14 @@ config("toolchain") {
--- chromium-144.0.7559.59.orig/v8/BUILD.gn
+++ chromium-144.0.7559.59/v8/BUILD.gn
@@ -1596,7 +1596,14 @@ config("toolchain") {
if (v8_current_cpu == "ppc64") {
defines += [ "V8_TARGET_ARCH_PPC64" ]
cflags += [ "-ffp-contract=off" ]

View file

@ -40,20 +40,20 @@ This patch implements support for the PPC64 architecture on Linux hosts.
util/misc/capture_context_test_util_linux.cc | 6 +
36 files changed, 932 insertions(+), 12 deletions(-)
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/CONTRIBUTORS
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/CONTRIBUTORS
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/CONTRIBUTORS
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/CONTRIBUTORS
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/CONTRIBUTORS
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/CONTRIBUTORS
@@ -13,3 +13,5 @@ Mark Mentovai <mark@chromium.org>
Robert Sesek <rsesek@chromium.org>
Scott Graham <scottmg@chromium.org>
Joshua Peraza <jperaza@chromium.org>
+Shawn Anastasio <sanastasio@raptorengineering.com>
+Timothy Pearson <tpearson@raptorengineering.com>
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_context.h
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/minidump/minidump_context.h
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_context.h
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context.h
@@ -686,6 +686,70 @@ struct MinidumpContextRISCV64 {
uint32_t fcsr;
};
@ -125,10 +125,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_co
} // namespace crashpad
#endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_H_
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
@@ -110,6 +110,13 @@ MinidumpContextWriter::CreateFromSnapsho
break;
}
@ -192,10 +192,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_co
+}
} // namespace crashpad
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
@@ -413,6 +413,49 @@ class MinidumpContextRISCV64Writer final
MinidumpContextRISCV64 context_;
};
@ -246,10 +246,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_co
} // namespace crashpad
#endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_WRITER_H_
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
@@ -322,6 +322,21 @@ TYPED_TEST(MinidumpContextWriter, RISCV6
TypeParam>(context, ExpectMinidumpContextRISCV64, kSeed);
}
@ -272,10 +272,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_co
} // namespace
} // namespace test
} // namespace crashpad
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
@@ -177,6 +177,8 @@ std::string MinidumpMiscInfoDebugBuildSt
static constexpr char kCPU[] = "mips64";
#elif defined(ARCH_CPU_RISCV64)
@ -285,10 +285,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/minidump_mi
#else
#error define kCPU for this CPU
#endif
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
@@ -297,6 +297,40 @@ void InitializeMinidumpContextRISCV64(Mi
context->fcsr = value++;
}
@ -369,10 +369,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/test/minidu
+
} // namespace test
} // namespace crashpad
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
@@ -90,6 +90,9 @@ void ExpectMinidumpContextMIPS64(uint32_
void ExpectMinidumpContextRISCV64(uint32_t expect_seed,
const MinidumpContextRISCV64* observed,
@ -383,10 +383,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/minidump/test/minidu
//! \}
} // namespace test
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/capture_memory.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/capture_memory.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/capture_memory.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/capture_memory.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/capture_memory.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/capture_memory.cc
@@ -123,6 +123,11 @@ void CaptureMemory::PointedToByContext(c
for (size_t i = 0; i < std::size(context.riscv64->regs); ++i) {
MaybeCaptureMemoryAround(delegate, context.riscv64->regs[i]);
@ -399,10 +399,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/capture_mem
#else
#error Port.
#endif
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
@@ -47,6 +47,9 @@ enum CPUArchitecture {
//! \brief 64-bit RISC-V.
@ -413,10 +413,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/cpu_archite
};
} // namespace crashpad
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/cpu_context.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/cpu_context.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/cpu_context.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/cpu_context.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context.cc
@@ -173,6 +173,8 @@ uint64_t CPUContext::InstructionPointer(
return arm64->pc;
case kCPUArchitectureRISCV64:
@ -443,10 +443,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/cpu_context
case kCPUArchitectureRISCV64:
return true;
case kCPUArchitectureX86:
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/cpu_context.h
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/cpu_context.h
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/cpu_context.h
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/cpu_context.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context.h
@@ -371,6 +371,24 @@ struct CPUContextRISCV64 {
uint32_t fcsr;
};
@ -480,10 +480,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/cpu_context
};
};
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
+++ chromium-144.0.7559.59/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_
@ -571,10 +571,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/cpu_c
} // namespace internal
} // namespace crashpad
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
@@ -194,12 +194,15 @@ void TestAgainstTarget(PtraceConnection*
device == 0 && inode == 0 && mapping_name == "[vdso]";
#if defined(ARCH_CPU_X86)
@ -592,10 +592,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/debug
},
module_mapping->name,
module_mapping->device,
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
@@ -367,6 +367,69 @@ bool ExceptionSnapshotLinux::ReadContext
return internal::ReadContext(reader, context_address, context_.riscv64);
}
@ -666,10 +666,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/excep
#endif // ARCH_CPU_X86_FAMILY
bool ExceptionSnapshotLinux::Initialize(
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
@@ -94,6 +94,8 @@ class ExceptionSnapshotLinux final : pub
CPUContextMIPS64 mips64;
#elif defined(ARCH_CPU_RISCV64)
@ -679,10 +679,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/excep
#endif
} context_union_;
CPUContext context_;
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
@@ -325,7 +325,28 @@ void ExpectContext(const CPUContext& act
sizeof(actual.riscv64->fpregs)),
0);
@ -712,10 +712,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/excep
#else
#error Port.
#endif
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
@@ -129,6 +129,8 @@ void ProcessReaderLinux::Thread::Initial
: thread_info.thread_context.t32.regs[29];
#elif defined(ARCH_CPU_RISCV64)
@ -725,10 +725,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/proce
#else
#error Port.
#endif
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
@@ -456,6 +456,89 @@ static_assert(offsetof(UContext<ContextT
offsetof(ucontext_t, uc_mcontext.__fpregs),
"context offset mismatch");
@ -819,11 +819,11 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/signa
#else
#error Port.
#endif // ARCH_CPU_X86_FAMILY
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
@@ -208,6 +208,8 @@ CPUArchitecture SystemSnapshotLinux::Get
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
@@ -229,6 +229,8 @@ CPUArchitecture SystemSnapshotLinux::Get
: kCPUArchitectureMIPSEL;
#elif defined(ARCH_CPU_RISCV64)
return kCPUArchitectureRISCV64;
@ -832,7 +832,7 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/syste
#else
#error port to your architecture
#endif
@@ -226,6 +228,9 @@ uint32_t SystemSnapshotLinux::CPURevisio
@@ -247,6 +249,9 @@ uint32_t SystemSnapshotLinux::CPURevisio
#elif defined(ARCH_CPU_RISCV64)
// Not implemented
return 0;
@ -842,7 +842,7 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/syste
#else
#error port to your architecture
#endif
@@ -249,6 +254,9 @@ std::string SystemSnapshotLinux::CPUVend
@@ -270,6 +275,9 @@ std::string SystemSnapshotLinux::CPUVend
#elif defined(ARCH_CPU_RISCV64)
// Not implemented
return std::string();
@ -852,7 +852,7 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/syste
#else
#error port to your architecture
#endif
@@ -380,6 +388,9 @@ bool SystemSnapshotLinux::NXEnabled() co
@@ -401,6 +409,9 @@ bool SystemSnapshotLinux::NXEnabled() co
#elif defined(ARCH_CPU_RISCV64)
// Not implemented
return false;
@ -862,10 +862,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/syste
#else
#error Port.
#endif // ARCH_CPU_X86_FAMILY
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
@@ -196,6 +196,14 @@ bool ThreadSnapshotLinux::Initialize(
InitializeCPUContextRISCV64(thread.thread_info.thread_context.t64,
thread.thread_info.float_context.f64,
@ -881,10 +881,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/threa
#else
#error Port.
#endif
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
@@ -79,6 +79,8 @@ class ThreadSnapshotLinux final : public
CPUContextMIPS64 mips64;
#elif defined(ARCH_CPU_RISCV64)
@ -894,10 +894,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/linux/threa
#else
#error Port.
#endif // ARCH_CPU_X86_FAMILY
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
@@ -317,5 +317,38 @@ void InitializeCPUContextRISCV64(CPUCont
riscv64->fcsr = value++;
}
@ -937,10 +937,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/test/test_c
+
} // namespace test
} // namespace crashpad
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
@@ -64,6 +64,7 @@ void InitializeCPUContextARM64(CPUContex
void InitializeCPUContextMIPS(CPUContext* context, uint32_t seed);
void InitializeCPUContextMIPS64(CPUContext* context, uint32_t seed);
@ -949,10 +949,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/snapshot/test/test_c
//! \}
} // namespace test
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/test/linux/get_tls.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/test/linux/get_tls.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/test/linux/get_tls.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/test/linux/get_tls.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/test/linux/get_tls.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/test/linux/get_tls.cc
@@ -51,6 +51,8 @@ LinuxVMAddress GetTLS() {
: "$3");
#elif defined(ARCH_CPU_RISCV64)
@ -962,10 +962,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/test/linux/get_tls.c
#else
#error Port.
#endif // ARCH_CPU_ARMEL
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/test/multiprocess_posix.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/test/multiprocess_posix.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/test/multiprocess_posix.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/test/multiprocess_posix.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/test/multiprocess_posix.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/test/multiprocess_posix.cc
@@ -162,7 +162,8 @@ void Multiprocess::SetExpectedChildTermi
}
@ -976,10 +976,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/test/multiprocess_po
SetExpectedChildTermination(kTerminationSignal, SIGTRAP);
#else
SetExpectedChildTermination(kTerminationSignal, SIGILL);
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
@@ -56,6 +56,11 @@ bool AuxiliaryVector::Read(PtraceConnect
if (type == AT_IGNORE) {
continue;
@ -992,10 +992,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/util/linux/auxiliary
if (!MapInsertOrReplace(&values_, type, value, nullptr)) {
LOG(ERROR) << "duplicate auxv entry";
return false;
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/util/linux/ptracer.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/ptracer.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/util/linux/ptracer.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/util/linux/ptracer.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/linux/ptracer.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/ptracer.cc
@@ -430,6 +430,64 @@ bool GetThreadArea64(pid_t tid,
return true;
}
@ -1071,10 +1071,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/util/linux/ptracer.c
GetThreadArea64(tid,
info->thread_context,
&info->thread_specific_data_address,
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/util/linux/thread_info.h
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/thread_info.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/util/linux/thread_info.h
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/util/linux/thread_info.h
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/linux/thread_info.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/thread_info.h
@@ -34,6 +34,10 @@
#include <asm/ptrace.h>
#endif
@ -1193,10 +1193,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/util/linux/thread_in
//! \brief The thread-local storage address for the thread.
LinuxVMAddress thread_specific_data_address;
};
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/util/misc/capture_context.h
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/util/misc/capture_context.h
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/util/misc/capture_context.h
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context.h
@@ -70,6 +70,7 @@ using NativeCPUContext = ucontext_t;
//! Linux | ARM/ARM64 | `r0`/`x0`
//! Linux | MIPS/MIPS64 | `$a0`
@ -1205,10 +1205,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/util/misc/capture_co
//!
//! Additionally, the value `LR` on ARM/ARM64 will be the return address of
//! this function.
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
@@ -30,7 +30,7 @@
.globl CAPTURECONTEXT_SYMBOL2
#if defined(__i386__) || defined(__x86_64__)
@ -1435,10 +1435,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/util/misc/capture_co
#elif defined(__riscv)
#define MCONTEXT_GREGS_OFFSET 176
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
@@ -48,7 +48,7 @@ void TestCaptureContext() {
uintptr_t pc = ProgramCounterFromContext(context_1);
@ -1448,10 +1448,10 @@ Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/util/misc/capture_co
// Sanitizers can cause enough code bloat that the “nearby” check would
// likely fail.
const uintptr_t kReferencePC =
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
@@ -38,6 +38,8 @@ void SanityCheckContext(const NativeCPUC
#elif defined(ARCH_CPU_RISCV64)
EXPECT_EQ(context.uc_mcontext.__gregs[10],

View file

@ -54,10 +54,10 @@ https://wiki.raptorcs.com/wiki/Porting/Chromium
src/tools/linux/md2core/minidump-2-core.cc | 45 +++++++++++++++
25 files changed, 281 insertions(+), 35 deletions(-)
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
@@ -51,6 +51,8 @@ typedef MDRawContextRISCV64 RawContextCP
# else
# error "Unexpected __riscv_xlen"
@ -67,10 +67,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dum
#else
#error "This code has not been ported to your platform yet."
#endif
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
@@ -336,7 +336,42 @@ void ThreadInfo::FillCPUContext(RawConte
#error "Unexpected __riscv_xlen"
#endif
@ -153,10 +153,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dum
+#endif
+
} // namespace google_breakpad
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
@@ -67,6 +67,10 @@ struct ThreadInfo {
// Use the structures defined in <sys/user.h>
struct user_regs_struct regs;
@ -180,10 +180,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dum
};
} // namespace google_breakpad
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
@@ -324,6 +324,48 @@ void UContextReader::FillCPUContext(RawC
#error "Unexpected __riscv_xlen"
#endif
@ -233,10 +233,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dum
#endif
} // namespace google_breakpad
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
+++ chromium-144.0.7559.59/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,
@ -247,11 +247,11 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/dum
#else
static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc);
#endif
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
@@ -465,6 +465,13 @@ bool ExceptionHandler::HandleSignal(int
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
@@ -466,6 +466,13 @@ bool ExceptionHandler::HandleSignal(int
memcpy(&g_crash_context_.float_state, fp_ptr,
sizeof(g_crash_context_.float_state));
}
@ -265,7 +265,7 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/han
#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
ucontext_t* uc_ptr = (ucontext_t*)uc;
if (uc_ptr->uc_mcontext.fpregs) {
@@ -703,10 +710,18 @@ bool ExceptionHandler::WriteMinidump() {
@@ -704,10 +711,18 @@ bool ExceptionHandler::WriteMinidump() {
}
#endif
@ -285,7 +285,7 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/han
context.tid = sys_gettid();
// Add an exception stream to the minidump for better reporting.
@@ -727,6 +742,9 @@ bool ExceptionHandler::WriteMinidump() {
@@ -728,6 +743,9 @@ bool ExceptionHandler::WriteMinidump() {
#elif defined(__mips__)
context.siginfo.si_addr =
reinterpret_cast<void*>(context.context.uc_mcontext.pc);
@ -295,11 +295,11 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/han
#elif defined(__riscv)
context.siginfo.si_addr =
reinterpret_cast<void*>(context.context.uc_mcontext.__gregs[REG_PC]);
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
@@ -200,7 +200,11 @@ class ExceptionHandler {
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
@@ -197,7 +197,11 @@ class ExceptionHandler {
siginfo_t siginfo;
pid_t tid; // the crashing thread.
ucontext_t context;
@ -312,11 +312,11 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/han
fpstate_t float_state;
#endif
};
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
@@ -326,7 +326,7 @@ TEST(ExceptionHandlerTest, ParallelChild
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
@@ -325,7 +325,7 @@ TEST(ExceptionHandlerTest, ParallelChild
ASSERT_EQ(SIGSEGV, WTERMSIG(status));
return;
} else {
@ -325,7 +325,7 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/han
}
}
@@ -582,6 +582,8 @@ const unsigned char kIllegalInstruction[
@@ -581,6 +581,8 @@ const unsigned char kIllegalInstruction[
#if defined(__mips__)
// mfc2 zero,Impl - usually illegal in userspace.
0x48, 0x00, 0x00, 0x48
@ -334,7 +334,7 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/han
#else
// This crashes with SIGILL on x86/x86-64/arm.
0xff, 0xff, 0xff, 0xff
@@ -777,10 +779,10 @@ TEST(ExceptionHandlerTest, InstructionPo
@@ -776,10 +778,10 @@ TEST(ExceptionHandlerTest, InstructionPo
// These are defined here so the parent can use them to check the
// data from the minidump afterwards.
@ -347,10 +347,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/han
const int kOffset = kMemorySize - sizeof(kIllegalInstruction);
const pid_t child = fork();
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
@@ -143,7 +143,9 @@ class MicrodumpWriter {
const MicrodumpExtraInfo& microdump_extra_info,
LinuxDumper* dumper)
@ -393,11 +393,11 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/mic
const google_breakpad::fpstate_t* const float_state_;
#endif
LinuxDumper* dumper_;
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
@@ -282,10 +282,19 @@ TEST(MicrodumpWriterTest, BasicWithMappi
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
@@ -281,10 +281,19 @@ TEST(MicrodumpWriterTest, BasicWithMappi
CrashAndGetMicrodump(mappings, MicrodumpExtraInfo(), &buf);
ASSERT_TRUE(ContainsMicrodump(buf));
@ -420,10 +420,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/mic
#else
ASSERT_NE(std::string::npos,
buf.find("M 00001000 0000002A 00001000 "
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
@@ -118,6 +118,9 @@ bool LinuxCoreDumper::GetThreadInfoByInd
#elif defined(__riscv)
stack_pointer = reinterpret_cast<uint8_t*>(
@ -446,10 +446,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/min
# if defined(__ANDROID__)
for (int i = EF_R0; i <= EF_R31; i++)
info.mcontext.gregs[i - EF_R0] = status->pr_reg[i];
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
@@ -789,7 +789,9 @@ bool LinuxDumper::GetStackInfo(const voi
reinterpret_cast<uint8_t*>(int_stack_pointer & ~(page_size - 1));
@ -461,10 +461,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/min
const MappingInfo* mapping = FindMapping(stack_pointer);
if (!mapping)
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
@@ -64,7 +64,8 @@ namespace google_breakpad {
typedef Elf32_auxv_t elf_aux_entry;
#elif defined(__x86_64) || defined(__aarch64__) || \
@ -475,10 +475,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/min
typedef Elf64_auxv_t elf_aux_entry;
#endif
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
@@ -57,6 +57,8 @@
#define TID_PTR_REGISTER "$1"
#elif defined(__riscv)
@ -488,10 +488,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/min
#else
#error This test has not been ported to this platform.
#endif
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
@@ -208,12 +208,12 @@ bool LinuxPtraceDumper::ReadRegisterSet(
#ifdef PTRACE_GETREGSET
struct iovec io;
@ -533,11 +533,11 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/min
#else
# error "This code hasn't been ported to your platform yet."
#endif
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
@@ -470,6 +470,9 @@ TEST(LinuxPtraceDumperTest, VerifyStackR
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
@@ -469,6 +469,9 @@ TEST(LinuxPtraceDumperTest, VerifyStackR
#elif defined(__riscv)
pid_t* process_tid_location =
reinterpret_cast<pid_t*>(one_thread.mcontext.__gregs[4]);
@ -547,7 +547,7 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/min
#else
#error This test has not been ported to this platform.
#endif
@@ -569,6 +572,8 @@ TEST_F(LinuxPtraceDumperTest, SanitizeSt
@@ -568,6 +571,8 @@ TEST_F(LinuxPtraceDumperTest, SanitizeSt
uintptr_t heap_addr = thread_info.mcontext.gregs[1];
#elif defined(__riscv)
uintptr_t heap_addr = thread_info.mcontext.__gregs[4];
@ -556,10 +556,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/min
#else
#error This test has not been ported to this platform.
#endif
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
@@ -145,7 +145,9 @@ class MinidumpWriter {
: fd_(minidump_fd),
path_(minidump_path),
@ -613,10 +613,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/min
const google_breakpad::fpstate_t* const float_state_; // ditto
#endif
LinuxDumper* dumper_;
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
@@ -47,6 +47,8 @@ class ExceptionHandler;
#if defined(__aarch64__)
@ -626,10 +626,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/min
#elif !defined(__ARM_EABI__) && !defined(__mips__)
typedef std::remove_pointer<fpregset_t>::type fpstate_t;
#endif
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
@@ -723,6 +723,9 @@ TEST(MinidumpWriterTest, InvalidStackPoi
#elif defined(__riscv)
context.context.uc_mcontext.__gregs[MD_CONTEXT_RISCV_REG_SP] =
@ -640,10 +640,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/client/linux/min
#else
# error "This code has not been ported to your platform yet."
#endif
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
@@ -72,8 +72,7 @@ bool MemoryMappedFile::Map(const char* p
#if defined(__x86_64__) || defined(__aarch64__) || \
@ -654,11 +654,11 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/common/linux/mem
struct kernel_stat st;
if (sys_fstat(fd, &st) == -1 || st.st_size < 0) {
#else
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
@@ -179,9 +179,10 @@ TEST_F(MemoryMappedFileTest, RemapAfterM
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
@@ -178,9 +178,10 @@ TEST_F(MemoryMappedFileTest, RemapAfterM
TEST_F(MemoryMappedFileTest, MapWithOffset) {
// Put more data in the test file this time. Offsets can only be
// done on page boundaries, so we need a two page file to test this.
@ -672,10 +672,10 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/common/linux/mem
for (size_t i = 0; i < data1_size; ++i) {
data1[i] = i & 0x7f;
}
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
@@ -64,8 +64,9 @@ TEST(PageAllocatorTest, LargeObject) {
EXPECT_EQ(0U, allocator.pages_allocated());
@ -687,11 +687,11 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/common/memory_al
for (unsigned i = 1; i < 10; ++i) {
uint8_t* p = reinterpret_cast<uint8_t*>(allocator.Alloc(i));
ASSERT_FALSE(p == nullptr);
Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
+++ chromium-140.0.7339.41/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
@@ -83,6 +83,8 @@
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
@@ -82,6 +82,8 @@
#define ELF_ARCH EM_AARCH64
#elif defined(__riscv)
#define ELF_ARCH EM_RISCV
@ -700,7 +700,7 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/tools/linux/md2c
#endif
#if defined(__arm__)
@@ -93,6 +95,8 @@ typedef user_regs user_regs_struct;
@@ -92,6 +94,8 @@ typedef user_regs user_regs_struct;
#elif defined (__mips__) || defined(__riscv)
// This file-local typedef simplifies the source code.
typedef gregset_t user_regs_struct;
@ -709,7 +709,7 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/tools/linux/md2c
#endif
using google_breakpad::MDTypeHelper;
@@ -326,6 +330,9 @@ struct CrashedProcess {
@@ -325,6 +329,9 @@ struct CrashedProcess {
#if defined(__aarch64__)
user_fpsimd_struct fpregs;
#endif
@ -719,7 +719,7 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/tools/linux/md2c
uintptr_t stack_addr;
const uint8_t* stack;
size_t stack_length;
@@ -629,6 +636,38 @@ ParseThreadRegisters(CrashedProcess::Thr
@@ -628,6 +635,38 @@ ParseThreadRegisters(CrashedProcess::Thr
#error "Unexpected __riscv_xlen"
#endif
}
@ -758,7 +758,7 @@ Index: chromium-140.0.7339.41/third_party/breakpad/breakpad/src/tools/linux/md2c
#else
#error "This code has not been ported to your platform yet"
#endif
@@ -734,6 +773,12 @@ ParseSystemInfo(const Options& options,
@@ -733,6 +772,12 @@ ParseSystemInfo(const Options& options,
# else
# error "Unexpected __riscv_xlen"
# endif

View file

@ -1,8 +1,8 @@
Index: chromium-140.0.7339.41/third_party/xnnpack/generate_build_gn.py
Index: chromium-144.0.7559.59/third_party/xnnpack/generate_build_gn.py
===================================================================
--- chromium-140.0.7339.41.orig/third_party/xnnpack/generate_build_gn.py
+++ chromium-140.0.7339.41/third_party/xnnpack/generate_build_gn.py
@@ -232,7 +232,10 @@ _PLATFORMS = [
--- chromium-144.0.7559.59.orig/third_party/xnnpack/generate_build_gn.py
+++ chromium-144.0.7559.59/third_party/xnnpack/generate_build_gn.py
@@ -239,7 +239,10 @@ _PLATFORMS = [
bazel_platform='//:linux_aarch64'),
_Platform(gn_cpu='riscv64',
bazel_cpu='riscv64',
@ -14,10 +14,10 @@ Index: chromium-140.0.7339.41/third_party/xnnpack/generate_build_gn.py
]
Index: chromium-140.0.7339.41/third_party/xnnpack/bazelroot/BUILD
Index: chromium-144.0.7559.59/third_party/xnnpack/bazelroot/BUILD
===================================================================
--- chromium-140.0.7339.41.orig/third_party/xnnpack/bazelroot/BUILD
+++ chromium-140.0.7339.41/third_party/xnnpack/bazelroot/BUILD
--- chromium-144.0.7559.59.orig/third_party/xnnpack/bazelroot/BUILD
+++ chromium-144.0.7559.59/third_party/xnnpack/bazelroot/BUILD
@@ -29,6 +29,14 @@ platform(
],
)

View file

@ -1,6 +1,32 @@
diff -up chromium-141.0.7390.37/sandbox/features.gni.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/features.gni
--- chromium-141.0.7390.37/sandbox/features.gni.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/features.gni 2025-09-28 10:15:55.414893495 +0200
Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf/trap.cc
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf/trap.cc
+++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf/trap.cc
@@ -231,6 +231,20 @@ void Trap::SigSys(int nr, LinuxSigInfo*
SetIsInSigHandler();
}
+#if defined(__powerpc64__)
+ // On ppc64+glibc, some syscalls seem to accidentally negate the first
+ // parameter which causes checks against it to fail. For now, manually
+ // negate them back.
+ // TODO(sanastasio@raptorengineering.com): investigate this issue further
+ auto nr = SECCOMP_SYSCALL(ctx);
+ if (nr == __NR_openat || nr == __NR_mkdirat || nr == __NR_faccessat || nr == __NR_readlinkat ||
+ nr == __NR_renameat || nr == __NR_renameat2 || nr == __NR_newfstatat || nr == __NR_unlinkat) {
+ if (static_cast<int>(SECCOMP_PARM1(ctx)) > 0) {
+ SECCOMP_PARM1(ctx) = -SECCOMP_PARM1(ctx);
+ }
+ }
+#endif
+
// 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.
Index: chromium-144.0.7559.59/sandbox/features.gni
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/features.gni
+++ chromium-144.0.7559.59/sandbox/features.gni
@@ -9,4 +9,5 @@
use_seccomp_bpf = (is_linux || is_chromeos || is_android) &&
(current_cpu == "x86" || current_cpu == "x64" ||
@ -8,9 +34,35 @@ diff -up chromium-141.0.7390.37/sandbox/features.gni.0001-sandbox-Enable-seccomp
- current_cpu == "mipsel" || current_cpu == "mips64el")
+ current_cpu == "mipsel" || current_cpu == "mips64el" ||
+ current_cpu == "ppc64")
diff -up chromium-141.0.7390.37/sandbox/linux/bpf_dsl/linux_syscall_ranges.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
--- chromium-141.0.7390.37/sandbox/linux/bpf_dsl/linux_syscall_ranges.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/bpf_dsl/linux_syscall_ranges.h 2025-09-28 10:15:55.415120766 +0200
Index: chromium-144.0.7559.59/sandbox/policy/linux/bpf_renderer_policy_linux.cc
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+++ chromium-144.0.7559.59/sandbox/policy/linux/bpf_renderer_policy_linux.cc
@@ -17,6 +17,11 @@
#include "sandbox/linux/system_headers/linux_syscalls.h"
#include "sandbox/policy/linux/sandbox_linux.h"
+// On PPC64, TCGETS is defined in terms of struct termios, so we must include termios.h
+#ifdef __powerpc64__
+#include <termios.h>
+#endif
+
// TODO(vignatti): replace the local definitions below with #include
// <linux/dma-buf.h> once kernel version 4.6 becomes widely used.
#include <linux/types.h>
@@ -86,7 +91,7 @@ ResultExpr RendererProcessPolicy::Evalua
case __NR_ftruncate64:
#endif
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
case __NR_getrlimit:
case __NR_setrlimit:
// We allow setrlimit to dynamically adjust the address space limit as
Index: chromium-144.0.7559.59/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+++ chromium-144.0.7559.59/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
@@ -56,6 +56,13 @@
#define MAX_PUBLIC_SYSCALL __NR_syscalls
#define MAX_SYSCALL MAX_PUBLIC_SYSCALL
@ -25,75 +77,11 @@ diff -up chromium-141.0.7390.37/sandbox/linux/bpf_dsl/linux_syscall_ranges.h.000
#else
#error "Unsupported architecture"
#endif
diff -up chromium-141.0.7390.37/sandbox/linux/bpf_dsl/seccomp_macros.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/bpf_dsl/seccomp_macros.h
--- chromium-141.0.7390.37/sandbox/linux/bpf_dsl/seccomp_macros.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/bpf_dsl/seccomp_macros.h 2025-09-28 10:15:55.416743928 +0200
@@ -14,6 +14,9 @@
#if defined(__mips__)
// sys/user.h in eglibc misses size_t definition
#include <stddef.h>
+#elif defined(__powerpc64__)
+// Manually define greg_t on ppc64
+typedef unsigned long long greg_t;
#endif
#endif
@@ -343,6 +346,51 @@ struct regs_struct {
#define SECCOMP_PT_PARM4(_regs) (_regs).regs[3]
#define SECCOMP_PT_PARM5(_regs) (_regs).regs[4]
#define SECCOMP_PT_PARM6(_regs) (_regs).regs[5]
+
+#elif defined(__powerpc64__)
+#include <asm/ptrace.h>
+
+typedef struct pt_regs regs_struct;
+
+#ifdef ARCH_CPU_LITTLE_ENDIAN
+#define SECCOMP_ARCH AUDIT_ARCH_PPC64LE
+#else
+#define SECCOMP_ARCH AUDIT_ARCH_PPC64
+#endif
+
+#define SECCOMP_REG(_ctx, _reg) ((_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_PARM1(_ctx) SECCOMP_REG(_ctx, 3)
+#define SECCOMP_PARM2(_ctx) SECCOMP_REG(_ctx, 4)
+#define SECCOMP_PARM3(_ctx) SECCOMP_REG(_ctx, 5)
+#define SECCOMP_PARM4(_ctx) SECCOMP_REG(_ctx, 6)
+#define SECCOMP_PARM5(_ctx) SECCOMP_REG(_ctx, 7)
+#define SECCOMP_PARM6(_ctx) SECCOMP_REG(_ctx, 8)
+
+#define SECCOMP_NR_IDX (offsetof(struct arch_seccomp_data, nr))
+#define SECCOMP_ARCH_IDX (offsetof(struct arch_seccomp_data, arch))
+#define SECCOMP_IP_MSB_IDX \
+ (offsetof(struct arch_seccomp_data, instruction_pointer) + 4)
+#define SECCOMP_IP_LSB_IDX \
+ (offsetof(struct arch_seccomp_data, instruction_pointer) + 0)
+#define SECCOMP_ARG_MSB_IDX(nr) \
+ (offsetof(struct arch_seccomp_data, args) + 8 * (nr) + 4)
+#define SECCOMP_ARG_LSB_IDX(nr) \
+ (offsetof(struct arch_seccomp_data, args) + 8 * (nr) + 0)
+
+#define SECCOMP_PT_RESULT(_regs) (_regs).gpr[3]
+#define SECCOMP_PT_SYSCALL(_regs) (_regs).gpr[0]
+#define SECCOMP_PT_IP(_regs) (_regs).nip
+#define SECCOMP_PT_PARM1(_regs) (_regs).gpr[3]
+#define SECCOMP_PT_PARM2(_regs) (_regs).gpr[4]
+#define SECCOMP_PT_PARM3(_regs) (_regs).gpr[5]
+#define SECCOMP_PT_PARM4(_regs) (_regs).gpr[6]
+#define SECCOMP_PT_PARM5(_regs) (_regs).gpr[7]
+#define SECCOMP_PT_PARM6(_regs) (_regs).gpr[8]
+
#else
#error Unsupported target platform
diff -up chromium-141.0.7390.37/sandbox/linux/BUILD.gn.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/BUILD.gn
--- chromium-141.0.7390.37/sandbox/linux/BUILD.gn.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/BUILD.gn 2025-09-28 10:15:55.415227970 +0200
@@ -377,6 +377,8 @@ component("sandbox_services") {
Index: chromium-144.0.7559.59/sandbox/linux/BUILD.gn
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/BUILD.gn
+++ chromium-144.0.7559.59/sandbox/linux/BUILD.gn
@@ -376,6 +376,8 @@ component("sandbox_services") {
source_set("sandbox_services_headers") {
sources = [
@ -102,9 +90,83 @@ diff -up chromium-141.0.7390.37/sandbox/linux/BUILD.gn.0001-sandbox-Enable-secco
"system_headers/arm64_linux_syscalls.h",
"system_headers/arm_linux_syscalls.h",
"system_headers/arm_linux_ucontext.h",
diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
--- chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc 2025-09-28 10:15:55.415675419 +0200
Index: chromium-144.0.7559.59/sandbox/linux/system_headers/linux_syscalls.h
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/system_headers/linux_syscalls.h
+++ chromium-144.0.7559.59/sandbox/linux/system_headers/linux_syscalls.h
@@ -44,4 +44,8 @@
#include "sandbox/linux/system_headers/arm64_linux_syscalls.h"
#endif
+#if defined(__powerpc64__)
+#include "sandbox/linux/system_headers/ppc64_linux_syscalls.h"
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_
Index: chromium-144.0.7559.59/sandbox/linux/system_headers/ppc64_linux_syscalls.h
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/sandbox/linux/system_headers/ppc64_linux_syscalls.h
@@ -0,0 +1,25 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_
+#define SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_
+
+#include <asm/unistd.h>
+
+//TODO: is it necessary to redefine syscall numbers for PPC64?
+// Needed for Ubuntu/Debian/Centos/RHEL:
+#if !defined(__NR_shmget)
+#define __NR_shmget 395
+#endif
+#if !defined(__NR_shmdt)
+#define __NR_shmdt 398
+#endif
+#if !defined(__NR_shmctl)
+#define __NR_shmctl 396
+#endif
+#if !defined(__NR_shmat)
+#define __NR_shmat 397
+#endif
+
+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_
Index: chromium-144.0.7559.59/sandbox/linux/system_headers/ppc64_linux_ucontext.h
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/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
+// found in the LICENSE file.
+
+#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_
+#define SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_
+
+#include <sys/ucontext.h>
+
+//TODO: is it necessary to redefine ucontext on PPC64?
+
+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_
Index: chromium-144.0.7559.59/sandbox/linux/syscall_broker/broker_process.cc
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/syscall_broker/broker_process.cc
+++ chromium-144.0.7559.59/sandbox/linux/syscall_broker/broker_process.cc
@@ -166,7 +166,7 @@ bool BrokerProcess::IsSyscallBrokerable(
#if defined(__NR_fstatat64)
case __NR_fstatat64:
#endif
-#if defined(__x86_64__) || defined(__aarch64__)
+#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__)
case __NR_newfstatat:
#endif
return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT);
Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
@@ -90,7 +90,8 @@ bool IsBaselinePolicyWatched(int sysno)
SyscallSets::IsPrctl(sysno) ||
SyscallSets::IsProcessGroupOrSession(sysno) ||
@ -134,44 +196,10 @@ diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/baseline_polic
if (SyscallSets::IsSocketCall(sysno))
return RestrictSocketcallCommand();
#endif
diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
--- chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc 2025-09-28 10:15:55.417132817 +0200
@@ -350,8 +350,10 @@ TEST_BASELINE_SIGSYS(__NR_timer_create)
#if !defined(__aarch64__)
TEST_BASELINE_SIGSYS(__NR_inotify_init)
+#if !defined(__powerpc64__)
TEST_BASELINE_SIGSYS(__NR_vserver)
#endif
+#endif
#if defined(LIBC_GLIBC) && !BUILDFLAG(IS_CHROMEOS)
BPF_TEST_C(BaselinePolicy, FutexEINVAL, BaselinePolicy) {
diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
--- chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc 2025-09-28 10:15:55.417609762 +0200
@@ -389,7 +389,16 @@ intptr_t SIGSYSFstatatHandler(const stru
if (args.nr == __NR_fstatat_default) {
if (*reinterpret_cast<const char*>(args.args[1]) == '\0' &&
args.args[3] == static_cast<uint64_t>(AT_EMPTY_PATH)) {
- return syscall(__NR_fstat_default, static_cast<int>(args.args[0]),
+ int fd = static_cast<int>(args.args[0]);
+#if defined(__powerpc64__)
+ // On ppc64+glibc, some syscalls seem to accidentally negate the first
+ // parameter which causes checks against it to fail. For now, manually
+ // negate them back.
+ // TODO: Investigate the root cause and fix in glibc
+ if (fd < 0)
+ fd = -fd;
+#endif
+ return syscall(__NR_fstat_default, fd,
reinterpret_cast<default_stat_struct*>(args.args[2]));
}
return -reinterpret_cast<intptr_t>(fs_denied_errno);
diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
--- chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2025-09-28 10:15:55.415814493 +0200
Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
@@ -43,7 +43,7 @@
#define MAP_DROPPABLE 0x08 // Zero memory under memory pressure.
#endif
@ -191,9 +219,9 @@ diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parame
+#endif
+
#if BUILDFLAG(IS_ANDROID)
#include "base/android/background_thread_pool_field_trial.h"
#if !defined(F_DUPFD_CLOEXEC)
@@ -109,6 +114,15 @@ inline bool IsArchitectureMips() {
@@ -110,6 +115,15 @@ inline bool IsArchitectureMips() {
#endif
}
@ -209,7 +237,7 @@ diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parame
// 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
@@ -287,9 +301,11 @@ ResultExpr RestrictFcntlCommands() {
@@ -288,9 +302,11 @@ ResultExpr RestrictFcntlCommands() {
// operator.
// Glibc overrides the kernel's O_LARGEFILE value. Account for this.
uint64_t kOLargeFileFlag = O_LARGEFILE;
@ -222,7 +250,7 @@ diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parame
const Arg<int> cmd(1);
const Arg<long> long_arg(2);
@@ -312,8 +328,17 @@ ResultExpr RestrictFcntlCommands() {
@@ -313,8 +329,17 @@ ResultExpr RestrictFcntlCommands() {
F_SETLKW,
F_GETLK,
F_DUPFD,
@ -242,7 +270,7 @@ diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parame
.Case(F_SETFL,
If((long_arg & ~kAllowedMask) == 0, Allow()).Else(CrashSIGSYS()))
.Case(F_ADD_SEALS,
@@ -322,7 +347,7 @@ ResultExpr RestrictFcntlCommands() {
@@ -323,7 +348,7 @@ ResultExpr RestrictFcntlCommands() {
// clang-format on
}
@ -251,7 +279,7 @@ diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parame
ResultExpr RestrictSocketcallCommand() {
// Unfortunately, we are unable to restrict the first parameter to
// socketpair(2). Whilst initially sounding bad, it's noteworthy that very
@@ -488,7 +513,7 @@ ResultExpr RestrictPtrace() {
@@ -489,7 +514,7 @@ ResultExpr RestrictPtrace() {
#endif
return Switch(request)
.Cases({
@ -260,7 +288,7 @@ diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parame
PTRACE_GETREGS, PTRACE_GETFPREGS, PTRACE_GET_THREAD_AREA,
PTRACE_GETREGSET,
#endif
@@ -528,13 +553,14 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Restr
@@ -529,13 +554,14 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Restr
size_t argIndex;
switch (sysno) {
#if defined(__arm__) || \
@ -277,9 +305,10 @@ diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parame
case __NR_sendto: // Could specify destination.
argIndex = 3;
break;
diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
--- chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h 2025-09-28 10:15:55.415949009 +0200
Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
+++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
@@ -56,7 +56,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Restr
// O_NONBLOCK | O_SYNC | O_LARGEFILE | O_CLOEXEC | O_NOATIME.
SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictFcntlCommands();
@ -289,9 +318,10 @@ diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_parame
// 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();
diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
--- chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc 2025-09-28 10:15:55.416060681 +0200
Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
@@ -29,7 +29,8 @@ bool SyscallSets::IsAllowedGettime(int s
switch (sysno) {
case __NR_gettimeofday:
@ -751,9 +781,10 @@ diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_sets.c
case __NR_vserver:
#endif
return true;
diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
--- chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h 2025-09-28 10:15:55.416557304 +0200
Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
+++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
@@ -46,13 +46,14 @@ class SANDBOX_EXPORT SyscallSets {
static bool IsDeniedGetOrModifySocket(int sysno);
@ -803,9 +834,129 @@ diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
// Big system V multiplexing system call.
static bool IsSystemVIpc(int sysno);
#endif
diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf/syscall.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/seccomp-bpf/syscall.cc
--- chromium-141.0.7390.37/sandbox/linux/seccomp-bpf/syscall.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/seccomp-bpf/syscall.cc 2025-09-28 10:15:55.417019291 +0200
Index: chromium-144.0.7559.59/sandbox/linux/services/syscall_wrappers.cc
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/services/syscall_wrappers.cc
+++ chromium-144.0.7559.59/sandbox/linux/services/syscall_wrappers.cc
@@ -63,7 +63,7 @@ long sys_clone(unsigned long flags,
#if defined(ARCH_CPU_X86_64)
return syscall(__NR_clone, flags, child_stack, ptid, ctid, tls);
#elif defined(ARCH_CPU_X86) || defined(ARCH_CPU_ARM_FAMILY) || \
- defined(ARCH_CPU_MIPS_FAMILY)
+ defined(ARCH_CPU_MIPS_FAMILY) || defined(ARCH_CPU_PPC64_FAMILY)
// CONFIG_CLONE_BACKWARDS defined.
return syscall(__NR_clone, flags, child_stack, ptid, tls, ctid);
#endif
Index: chromium-144.0.7559.59/sandbox/linux/bpf_dsl/seccomp_macros.h
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/bpf_dsl/seccomp_macros.h
+++ chromium-144.0.7559.59/sandbox/linux/bpf_dsl/seccomp_macros.h
@@ -14,6 +14,9 @@
#if defined(__mips__)
// sys/user.h in eglibc misses size_t definition
#include <stddef.h>
+#elif defined(__powerpc64__)
+// Manually define greg_t on ppc64
+typedef unsigned long long greg_t;
#endif
#endif
@@ -343,6 +346,51 @@ struct regs_struct {
#define SECCOMP_PT_PARM4(_regs) (_regs).regs[3]
#define SECCOMP_PT_PARM5(_regs) (_regs).regs[4]
#define SECCOMP_PT_PARM6(_regs) (_regs).regs[5]
+
+#elif defined(__powerpc64__)
+#include <asm/ptrace.h>
+
+typedef struct pt_regs regs_struct;
+
+#ifdef ARCH_CPU_LITTLE_ENDIAN
+#define SECCOMP_ARCH AUDIT_ARCH_PPC64LE
+#else
+#define SECCOMP_ARCH AUDIT_ARCH_PPC64
+#endif
+
+#define SECCOMP_REG(_ctx, _reg) ((_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_PARM1(_ctx) SECCOMP_REG(_ctx, 3)
+#define SECCOMP_PARM2(_ctx) SECCOMP_REG(_ctx, 4)
+#define SECCOMP_PARM3(_ctx) SECCOMP_REG(_ctx, 5)
+#define SECCOMP_PARM4(_ctx) SECCOMP_REG(_ctx, 6)
+#define SECCOMP_PARM5(_ctx) SECCOMP_REG(_ctx, 7)
+#define SECCOMP_PARM6(_ctx) SECCOMP_REG(_ctx, 8)
+
+#define SECCOMP_NR_IDX (offsetof(struct arch_seccomp_data, nr))
+#define SECCOMP_ARCH_IDX (offsetof(struct arch_seccomp_data, arch))
+#define SECCOMP_IP_MSB_IDX \
+ (offsetof(struct arch_seccomp_data, instruction_pointer) + 4)
+#define SECCOMP_IP_LSB_IDX \
+ (offsetof(struct arch_seccomp_data, instruction_pointer) + 0)
+#define SECCOMP_ARG_MSB_IDX(nr) \
+ (offsetof(struct arch_seccomp_data, args) + 8 * (nr) + 4)
+#define SECCOMP_ARG_LSB_IDX(nr) \
+ (offsetof(struct arch_seccomp_data, args) + 8 * (nr) + 0)
+
+#define SECCOMP_PT_RESULT(_regs) (_regs).gpr[3]
+#define SECCOMP_PT_SYSCALL(_regs) (_regs).gpr[0]
+#define SECCOMP_PT_IP(_regs) (_regs).nip
+#define SECCOMP_PT_PARM1(_regs) (_regs).gpr[3]
+#define SECCOMP_PT_PARM2(_regs) (_regs).gpr[4]
+#define SECCOMP_PT_PARM3(_regs) (_regs).gpr[5]
+#define SECCOMP_PT_PARM4(_regs) (_regs).gpr[6]
+#define SECCOMP_PT_PARM5(_regs) (_regs).gpr[7]
+#define SECCOMP_PT_PARM6(_regs) (_regs).gpr[8]
+
#else
#error Unsupported target platform
Index: chromium-144.0.7559.59/sandbox/linux/system_headers/linux_seccomp.h
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/system_headers/linux_seccomp.h
+++ chromium-144.0.7559.59/sandbox/linux/system_headers/linux_seccomp.h
@@ -38,6 +38,9 @@
#ifndef EM_AARCH64
#define EM_AARCH64 183
#endif
+#ifndef EM_PPC64
+#define EM_PPC64 21
+#endif
#ifndef __AUDIT_ARCH_64BIT
#define __AUDIT_ARCH_64BIT 0x80000000
@@ -70,6 +73,12 @@
#ifndef AUDIT_ARCH_AARCH64
#define AUDIT_ARCH_AARCH64 (EM_AARCH64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE)
#endif
+#ifndef AUDIT_ARCH_PPC64
+#define AUDIT_ARCH_PPC64 (EM_PPC64 | __AUDIT_ARCH_64BIT)
+#endif
+#ifndef AUDIT_ARCH_PPC64LE
+#define AUDIT_ARCH_PPC64LE (EM_PPC64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE)
+#endif
// For prctl.h
#ifndef PR_SET_SECCOMP
Index: chromium-144.0.7559.59/sandbox/linux/system_headers/linux_signal.h
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/system_headers/linux_signal.h
+++ chromium-144.0.7559.59/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.
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
#define LINUX_SIGHUP 1
#define LINUX_SIGINT 2
Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf/syscall.cc
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf/syscall.cc
+++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf/syscall.cc
@@ -19,7 +19,7 @@ namespace sandbox {
namespace {
@ -900,33 +1051,58 @@ diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf/syscall.cc.0001-sandbo
#endif
SECCOMP_RESULT(ctx) = static_cast<greg_t>(ret_val);
}
diff -up chromium-141.0.7390.37/sandbox/linux/seccomp-bpf/trap.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/seccomp-bpf/trap.cc
--- chromium-141.0.7390.37/sandbox/linux/seccomp-bpf/trap.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/seccomp-bpf/trap.cc 2025-09-28 10:15:55.414751305 +0200
@@ -236,6 +236,20 @@ void Trap::SigSys(int nr, LinuxSigInfo*
SetIsInSigHandler();
}
Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
+++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
@@ -354,8 +354,10 @@ TEST_BASELINE_SIGSYS(__NR_timer_create)
+#if defined(__powerpc64__)
+ // On ppc64+glibc, some syscalls seem to accidentally negate the first
+ // parameter which causes checks against it to fail. For now, manually
+ // negate them back.
+ // TODO(sanastasio@raptorengineering.com): investigate this issue further
+ auto nr = SECCOMP_SYSCALL(ctx);
+ if (nr == __NR_openat || nr == __NR_mkdirat || nr == __NR_faccessat || nr == __NR_readlinkat ||
+ nr == __NR_renameat || nr == __NR_renameat2 || nr == __NR_newfstatat || nr == __NR_unlinkat) {
+ if (static_cast<int>(SECCOMP_PARM1(ctx)) > 0) {
+ SECCOMP_PARM1(ctx) = -SECCOMP_PARM1(ctx);
+ }
+ }
#if !defined(__aarch64__)
TEST_BASELINE_SIGSYS(__NR_inotify_init)
+#if !defined(__powerpc64__)
TEST_BASELINE_SIGSYS(__NR_vserver)
#endif
+#endif
+
// 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.
diff -up chromium-141.0.7390.37/sandbox/linux/services/credentials.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/services/credentials.cc
--- chromium-141.0.7390.37/sandbox/linux/services/credentials.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/services/credentials.cc 2025-09-28 10:18:58.609023878 +0200
#if defined(LIBC_GLIBC) && !BUILDFLAG(IS_CHROMEOS)
BPF_TEST_C(BaselinePolicy, FutexEINVAL, BaselinePolicy) {
Index: chromium-144.0.7559.59/sandbox/linux/system_headers/linux_stat.h
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/system_headers/linux_stat.h
+++ chromium-144.0.7559.59/sandbox/linux/system_headers/linux_stat.h
@@ -173,6 +173,28 @@ struct kernel_stat {
unsigned int __unused4;
unsigned int __unused5;
};
+#elif defined(__powerpc64__)
+struct kernel_stat {
+ unsigned long st_dev;
+ ino_t st_ino;
+ unsigned long st_nlink;
+ mode_t st_mode;
+ uid_t st_uid;
+ gid_t st_gid;
+ unsigned long st_rdev;
+ long st_size;
+ unsigned long st_blksize;
+ unsigned long st_blocks;
+ unsigned long st_atime_;
+ unsigned long st_atime_nsec_;
+ unsigned long st_mtime_;
+ unsigned long st_mtime_nsec_;
+ unsigned long st_ctime_;
+ unsigned long st_ctime_nsec_;
+ unsigned long __unused4;
+ unsigned long __unused5;
+ unsigned long __unused6;
+};
#endif
#if !defined(AT_EMPTY_PATH)
Index: chromium-144.0.7559.59/sandbox/linux/services/credentials.cc
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/services/credentials.cc
+++ chromium-144.0.7559.59/sandbox/linux/services/credentials.cc
@@ -85,7 +85,7 @@ bool ChrootToSafeEmptyDir() {
alignas(16) std::array<char, PTHREAD_STACK_MIN_CONST> stack_buf;
@ -958,185 +1134,10 @@ diff -up chromium-141.0.7390.37/sandbox/linux/services/credentials.cc.0001-sandb
clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
char tls_buf[PTHREAD_STACK_MIN_CONST] = {};
diff -up chromium-141.0.7390.37/sandbox/linux/services/syscall_wrappers.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/services/syscall_wrappers.cc
--- chromium-141.0.7390.37/sandbox/linux/services/syscall_wrappers.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/services/syscall_wrappers.cc 2025-09-28 10:15:55.416648236 +0200
@@ -68,7 +68,7 @@ long sys_clone(unsigned long flags,
#if defined(ARCH_CPU_X86_64)
return syscall(__NR_clone, flags, child_stack, ptid, ctid, tls);
#elif defined(ARCH_CPU_X86) || defined(ARCH_CPU_ARM_FAMILY) || \
- defined(ARCH_CPU_MIPS_FAMILY)
+ defined(ARCH_CPU_MIPS_FAMILY) || defined(ARCH_CPU_PPC64_FAMILY)
// CONFIG_CLONE_BACKWARDS defined.
return syscall(__NR_clone, flags, child_stack, ptid, tls, ctid);
#endif
diff -up chromium-141.0.7390.37/sandbox/linux/syscall_broker/broker_process.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/syscall_broker/broker_process.cc
--- chromium-141.0.7390.37/sandbox/linux/syscall_broker/broker_process.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/syscall_broker/broker_process.cc 2025-09-28 10:15:55.415563066 +0200
@@ -167,7 +167,7 @@ bool BrokerProcess::IsSyscallBrokerable(
#if defined(__NR_fstatat64)
case __NR_fstatat64:
#endif
-#if defined(__x86_64__) || defined(__aarch64__)
+#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__)
case __NR_newfstatat:
#endif
return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT);
diff -up chromium-141.0.7390.37/sandbox/linux/system_headers/linux_seccomp.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/system_headers/linux_seccomp.h
--- chromium-141.0.7390.37/sandbox/linux/system_headers/linux_seccomp.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/system_headers/linux_seccomp.h 2025-09-28 10:15:55.416845160 +0200
@@ -38,6 +38,9 @@
#ifndef EM_AARCH64
#define EM_AARCH64 183
#endif
+#ifndef EM_PPC64
+#define EM_PPC64 21
+#endif
#ifndef __AUDIT_ARCH_64BIT
#define __AUDIT_ARCH_64BIT 0x80000000
@@ -70,6 +73,12 @@
#ifndef AUDIT_ARCH_AARCH64
#define AUDIT_ARCH_AARCH64 (EM_AARCH64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE)
#endif
+#ifndef AUDIT_ARCH_PPC64
+#define AUDIT_ARCH_PPC64 (EM_PPC64 | __AUDIT_ARCH_64BIT)
+#endif
+#ifndef AUDIT_ARCH_PPC64LE
+#define AUDIT_ARCH_PPC64LE (EM_PPC64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE)
+#endif
// For prctl.h
#ifndef PR_SET_SECCOMP
diff -up chromium-141.0.7390.37/sandbox/linux/system_headers/linux_signal.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/system_headers/linux_signal.h
--- chromium-141.0.7390.37/sandbox/linux/system_headers/linux_signal.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/system_headers/linux_signal.h 2025-09-28 10:15:55.416926335 +0200
@@ -13,7 +13,7 @@
// (not undefined, but defined different values and in different memory
// layouts). So, fill the gap here.
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
#define LINUX_SIGHUP 1
#define LINUX_SIGINT 2
diff -up chromium-141.0.7390.37/sandbox/linux/system_headers/linux_stat.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/system_headers/linux_stat.h
--- chromium-141.0.7390.37/sandbox/linux/system_headers/linux_stat.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/system_headers/linux_stat.h 2025-09-28 10:15:55.417253506 +0200
@@ -173,6 +173,28 @@ struct kernel_stat {
unsigned int __unused4;
unsigned int __unused5;
};
+#elif defined(__powerpc64__)
+struct kernel_stat {
+ unsigned long st_dev;
+ ino_t st_ino;
+ unsigned long st_nlink;
+ mode_t st_mode;
+ uid_t st_uid;
+ gid_t st_gid;
+ unsigned long st_rdev;
+ long st_size;
+ unsigned long st_blksize;
+ unsigned long st_blocks;
+ // unsigned long st_atime;
+ unsigned long st_atime_nsec;
+ //unsigned long st_mtime;
+ unsigned long st_mtime_nsec;
+ //unsigned long st_ctime;
+ unsigned long st_ctime_nsec;
+ unsigned long __unused4;
+ unsigned long __unused5;
+ unsigned long __unused6;
+};
#endif
#if !defined(AT_EMPTY_PATH)
diff -up chromium-141.0.7390.37/sandbox/linux/system_headers/linux_syscalls.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/system_headers/linux_syscalls.h
--- chromium-141.0.7390.37/sandbox/linux/system_headers/linux_syscalls.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/linux/system_headers/linux_syscalls.h 2025-09-28 10:15:55.415341084 +0200
@@ -35,5 +35,9 @@
#include "sandbox/linux/system_headers/arm64_linux_syscalls.h"
#endif
+#if defined(__powerpc64__)
+#include "sandbox/linux/system_headers/ppc64_linux_syscalls.h"
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_
diff -up chromium-141.0.7390.37/sandbox/linux/system_headers/ppc64_linux_syscalls.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/system_headers/ppc64_linux_syscalls.h
--- chromium-141.0.7390.37/sandbox/linux/system_headers/ppc64_linux_syscalls.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-28 10:15:55.415404074 +0200
+++ chromium-141.0.7390.37/sandbox/linux/system_headers/ppc64_linux_syscalls.h 2025-09-28 10:15:55.415404074 +0200
@@ -0,0 +1,25 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_
+#define SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_
+
+#include <asm/unistd.h>
+
+//TODO: is it necessary to redefine syscall numbers for PPC64?
+// Needed for Ubuntu/Debian/Centos/RHEL:
+#if !defined(__NR_shmget)
+#define __NR_shmget 395
+#endif
+#if !defined(__NR_shmdt)
+#define __NR_shmdt 398
+#endif
+#if !defined(__NR_shmctl)
+#define __NR_shmctl 396
+#endif
+#if !defined(__NR_shmat)
+#define __NR_shmat 397
+#endif
+
+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_
diff -up chromium-141.0.7390.37/sandbox/linux/system_headers/ppc64_linux_ucontext.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/linux/system_headers/ppc64_linux_ucontext.h
--- chromium-141.0.7390.37/sandbox/linux/system_headers/ppc64_linux_ucontext.h.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-28 10:15:55.415474818 +0200
+++ chromium-141.0.7390.37/sandbox/linux/system_headers/ppc64_linux_ucontext.h 2025-09-28 10:15:55.415474818 +0200
@@ -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
+// found in the LICENSE file.
+
+#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_
+#define SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_
+
+#include <sys/ucontext.h>
+
+//TODO: is it necessary to redefine ucontext on PPC64?
+
+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_
diff -up chromium-141.0.7390.37/sandbox/policy/linux/bpf_renderer_policy_linux.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/policy/linux/bpf_renderer_policy_linux.cc
--- chromium-141.0.7390.37/sandbox/policy/linux/bpf_renderer_policy_linux.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/policy/linux/bpf_renderer_policy_linux.cc 2025-09-28 10:15:55.415005076 +0200
@@ -17,6 +17,11 @@
#include "sandbox/linux/system_headers/linux_syscalls.h"
#include "sandbox/policy/linux/sandbox_linux.h"
+// On PPC64, TCGETS is defined in terms of struct termios, so we must include termios.h
+#ifdef __powerpc64__
+#include <termios.h>
+#endif
+
// TODO(vignatti): replace the local definitions below with #include
// <linux/dma-buf.h> once kernel version 4.6 becomes widely used.
#include <linux/types.h>
@@ -86,7 +91,7 @@ ResultExpr RendererProcessPolicy::Evalua
case __NR_ftruncate64:
#endif
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
case __NR_getrlimit:
case __NR_setrlimit:
// We allow setrlimit to dynamically adjust the address space limit as
diff -up chromium-141.0.7390.37/sandbox/policy/linux/bpf_utility_policy_linux.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 chromium-141.0.7390.37/sandbox/policy/linux/bpf_utility_policy_linux.cc
--- chromium-141.0.7390.37/sandbox/policy/linux/bpf_utility_policy_linux.cc.0001-sandbox-Enable-seccomp_bpf-for-ppc64 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/sandbox/policy/linux/bpf_utility_policy_linux.cc 2025-09-28 10:15:55.417510624 +0200
Index: chromium-144.0.7559.59/sandbox/policy/linux/bpf_utility_policy_linux.cc
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc
+++ chromium-144.0.7559.59/sandbox/policy/linux/bpf_utility_policy_linux.cc
@@ -34,7 +34,7 @@ ResultExpr UtilityProcessPolicy::Evaluat
case __NR_fdatasync:
case __NR_fsync:
@ -1146,3 +1147,25 @@ diff -up chromium-141.0.7390.37/sandbox/policy/linux/bpf_utility_policy_linux.cc
case __NR_getrlimit:
#endif
#if defined(__i386__) || defined(__arm__)
Index: chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
===================================================================
--- chromium-144.0.7559.59.orig/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
+++ chromium-144.0.7559.59/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
@@ -384,7 +384,16 @@ intptr_t SIGSYSFstatatHandler(const stru
if (args.nr == __NR_fstatat_default) {
if (*reinterpret_cast<const char*>(args.args[1]) == '\0' &&
args.args[3] == static_cast<uint64_t>(AT_EMPTY_PATH)) {
- return syscall(__NR_fstat_default, static_cast<int>(args.args[0]),
+ int fd = static_cast<int>(args.args[0]);
+#if defined(__powerpc64__)
+ // On ppc64+glibc, some syscalls seem to accidentally negate the first
+ // parameter which causes checks against it to fail. For now, manually
+ // negate them back.
+ // TODO: Investigate the root cause and fix in glibc
+ if (fd < 0)
+ fd = -fd;
+#endif
+ return syscall(__NR_fstat_default, fd,
reinterpret_cast<default_stat_struct*>(args.args[2]));
}
return -reinterpret_cast<intptr_t>(fs_denied_errno);

View file

@ -1,18 +1,13 @@
diff -up chromium-140.0.7339.80/third_party/swiftshader/third_party/llvm-10.0/BUILD.gn.me chromium-140.0.7339.80/third_party/swiftshader/third_party/llvm-10.0/BUILD.gn
--- chromium-140.0.7339.80/third_party/swiftshader/third_party/llvm-10.0/BUILD.gn.me 2025-09-04 06:47:12.233139911 +0200
+++ chromium-140.0.7339.80/third_party/swiftshader/third_party/llvm-10.0/BUILD.gn 2025-09-04 06:52:37.001661643 +0200
@@ -1261,6 +1261,8 @@ swiftshader_llvm_source_set("swiftshader
"llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp",
"llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp",
"llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp",
+ "llvm/lib/MC/MCXCOFFObjectTargetWriter.cpp",
+ "llvm/lib/MC/MCAsmInfoXCOFF.cpp",
]
}
diff -up chromium-140.0.7339.80/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn.me chromium-140.0.7339.80/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn
--- chromium-140.0.7339.80/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn.me 2025-09-04 06:45:21.570780130 +0200
+++ chromium-140.0.7339.80/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn 2025-09-04 06:55:56.278501043 +0200
Description: fix swiftshader build issue on ppc64el
Origin: vendor, https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/blob/chromium-131/patches/ppc64le/third_party/0001-swiftshader-fix-build.patch
Bug: https://buildd.debian.org/status/fetch.php?pkg=chromium&arch=ppc64el&ver=131.0.6778.204-1&stamp=1734633529&raw=0
Last-Update: 2024-12-20
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Index: chromium-144.0.7559.59/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn
===================================================================
--- chromium-144.0.7559.59.orig/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn
+++ chromium-144.0.7559.59/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn
@@ -1599,6 +1599,9 @@ swiftshader_llvm_source_set("swiftshader
"llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp",
"llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp",

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/third_party/angle/src/libANGLE/Constants.h
Index: chromium-144.0.7559.59/third_party/angle/src/libANGLE/Constants.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/angle/src/libANGLE/Constants.h
+++ chromium-140.0.7339.41/third_party/angle/src/libANGLE/Constants.h
--- chromium-144.0.7559.59.orig/third_party/angle/src/libANGLE/Constants.h
+++ chromium-144.0.7559.59/third_party/angle/src/libANGLE/Constants.h
@@ -9,6 +9,7 @@
#ifndef LIBANGLE_CONSTANTS_H_
#define LIBANGLE_CONSTANTS_H_

View file

@ -8,10 +8,10 @@ Subject: [PATCH] third_party/libvpx: Properly generate gni on ppc64
third_party/libvpx/generate_gni.sh | 10 ++++++++++
2 files changed, 12 insertions(+)
Index: chromium-140.0.7339.41/third_party/libvpx/BUILD.gn
Index: chromium-144.0.7559.59/third_party/libvpx/BUILD.gn
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libvpx/BUILD.gn
+++ chromium-140.0.7339.41/third_party/libvpx/BUILD.gn
--- chromium-144.0.7559.59.orig/third_party/libvpx/BUILD.gn
+++ chromium-144.0.7559.59/third_party/libvpx/BUILD.gn
@@ -297,6 +297,8 @@ if (current_cpu == "x86" || (current_cpu
} else if (current_cpu == "x64") {
deps = [ ":libvpx_x86_64_headers" ]

View file

@ -8,10 +8,10 @@ Subject: [PATCH] third_party/pffft: Include altivec.h on ppc64 with SIMD
third_party/pffft/src/pffft.c | 1 +
1 file changed, 1 insertion(+)
Index: chromium-140.0.7339.41/third_party/pffft/src/pffft.c
Index: chromium-144.0.7559.59/third_party/pffft/src/pffft.c
===================================================================
--- chromium-140.0.7339.41.orig/third_party/pffft/src/pffft.c
+++ chromium-140.0.7339.41/third_party/pffft/src/pffft.c
--- chromium-144.0.7559.59.orig/third_party/pffft/src/pffft.c
+++ chromium-144.0.7559.59/third_party/pffft/src/pffft.c
@@ -100,6 +100,7 @@
Altivec support macros
*/

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
+++ chromium-144.0.7559.59/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
@@ -0,0 +1,3673 @@
+// This file is generated from a similarly-named Perl script in the BoringSSL
+// source tree. Do not edit by hand.
@ -3676,10 +3676,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.
+// See https://www.airs.ccom/blog/archives/518.
+.section .note.GNU-stack,"",%progbits
+#endif
Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
+++ chromium-144.0.7559.59/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
@@ -0,0 +1,590 @@
+// This file is generated from a similarly-named Perl script in the BoringSSL
+// source tree. Do not edit by hand.
@ -4271,11 +4271,11 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linu
+// See https://www.airs.ccom/blog/archives/518.
+.section .note.GNU-stack,"",%progbits
+#endif
Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.cmake
Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.cmake
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/gen/sources.cmake
+++ chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.cmake
@@ -120,6 +120,7 @@ set(
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/gen/sources.cmake
+++ chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.cmake
@@ -122,6 +122,7 @@ set(
gen/bcm/aesni-x86-linux.S
gen/bcm/aesni-x86_64-apple.S
gen/bcm/aesni-x86_64-linux.S
@ -4283,7 +4283,7 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.cmake
gen/bcm/aesv8-armv7-linux.S
gen/bcm/aesv8-armv8-apple.S
gen/bcm/aesv8-armv8-linux.S
@@ -151,6 +152,7 @@ set(
@@ -153,6 +154,7 @@ set(
gen/bcm/ghash-x86-linux.S
gen/bcm/ghash-x86_64-apple.S
gen/bcm/ghash-x86_64-linux.S
@ -4291,7 +4291,7 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.cmake
gen/bcm/ghashv8-armv7-linux.S
gen/bcm/ghashv8-armv8-apple.S
gen/bcm/ghashv8-armv8-linux.S
@@ -350,6 +352,7 @@ set(
@@ -352,6 +354,7 @@ set(
crypto/cpu_arm_freebsd.cc
crypto/cpu_arm_linux.cc
crypto/cpu_intel.cc
@ -4299,7 +4299,7 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.cmake
crypto/crypto.cc
crypto/curve25519/curve25519.cc
crypto/curve25519/curve25519_64_adx.cc
@@ -2925,6 +2928,7 @@ set(
@@ -2980,6 +2983,7 @@ set(
gen/test_support/trampoline-armv8-apple.S
gen/test_support/trampoline-armv8-linux.S
gen/test_support/trampoline-armv8-win.S
@ -4307,11 +4307,11 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.cmake
gen/test_support/trampoline-x86-apple.S
gen/test_support/trampoline-x86-linux.S
gen/test_support/trampoline-x86_64-apple.S
Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.json
Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.json
===================================================================
--- chromium-140.0.7339.41.orig/third_party/boringssl/src/gen/sources.json
+++ chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.json
@@ -98,6 +98,7 @@
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/gen/sources.json
+++ chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.json
@@ -100,6 +100,7 @@
"gen/bcm/aesni-x86-linux.S",
"gen/bcm/aesni-x86_64-apple.S",
"gen/bcm/aesni-x86_64-linux.S",
@ -4319,7 +4319,7 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.json
"gen/bcm/aesv8-armv7-linux.S",
"gen/bcm/aesv8-armv8-apple.S",
"gen/bcm/aesv8-armv8-linux.S",
@@ -129,6 +130,7 @@
@@ -131,6 +132,7 @@
"gen/bcm/ghash-x86-linux.S",
"gen/bcm/ghash-x86_64-apple.S",
"gen/bcm/ghash-x86_64-linux.S",
@ -4327,7 +4327,7 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.json
"gen/bcm/ghashv8-armv7-linux.S",
"gen/bcm/ghashv8-armv8-apple.S",
"gen/bcm/ghashv8-armv8-linux.S",
@@ -320,6 +322,7 @@
@@ -322,6 +324,7 @@
"crypto/cpu_arm_freebsd.cc",
"crypto/cpu_arm_linux.cc",
"crypto/cpu_intel.cc",
@ -4335,7 +4335,7 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.json
"crypto/crypto.cc",
"crypto/curve25519/curve25519.cc",
"crypto/curve25519/curve25519_64_adx.cc",
@@ -2841,6 +2844,7 @@
@@ -2892,6 +2895,7 @@
"gen/test_support/trampoline-armv8-apple.S",
"gen/test_support/trampoline-armv8-linux.S",
"gen/test_support/trampoline-armv8-win.S",
@ -4343,10 +4343,10 @@ Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/sources.json
"gen/test_support/trampoline-x86-apple.S",
"gen/test_support/trampoline-x86-linux.S",
"gen/test_support/trampoline-x86_64-apple.S",
Index: chromium-140.0.7339.41/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
+++ chromium-144.0.7559.59/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
@@ -0,0 +1,1413 @@
+// This file is generated from a similarly-named Perl script in the BoringSSL
+// source tree. Do not edit by hand.

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/v8/src/base/immediate-crash.h
Index: chromium-144.0.7559.59/v8/src/base/immediate-crash.h
===================================================================
--- chromium-140.0.7339.41.orig/v8/src/base/immediate-crash.h
+++ chromium-140.0.7339.41/v8/src/base/immediate-crash.h
--- chromium-144.0.7559.59.orig/v8/src/base/immediate-crash.h
+++ chromium-144.0.7559.59/v8/src/base/immediate-crash.h
@@ -98,6 +98,13 @@
#define TRAP_SEQUENCE1_() asm volatile(".2byte 0x0001");
#define TRAP_SEQUENCE2_() asm volatile("")

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
@ -189,9 +189,9 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vp8_r
-#endif
-
-#endif // VP8_RTCD_H_
Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
@ -313,9 +313,9 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vp9_r
-#endif
-
-#endif // VP9_RTCD_H_
Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
+++ /dev/null
@@ -1,107 +0,0 @@
-@ This file was created from a .asm file
@ -425,9 +425,9 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_c
-.equ DECODE_WIDTH_LIMIT , 16384
-.equ DECODE_HEIGHT_LIMIT , 16384
- .section .note.GNU-stack,"",%progbits
Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
@ -440,9 +440,9 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_c
-#include "vpx/vpx_codec.h"
-static const char* const cfg = "--target=ppc64le-linux-gcc --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv --enable-unit-tests";
-const char *vpx_codec_build_config(void) {return cfg;}
Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
@ -561,9 +561,9 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_c
-#define DECODE_WIDTH_LIMIT 16384
-#define DECODE_HEIGHT_LIMIT 16384
-#endif /* VPX_CONFIG_H */
Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
+++ /dev/null
@@ -1,858 +0,0 @@
-/*
@ -1424,9 +1424,9 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_d
-#endif
-
-#endif // VPX_DSP_RTCD_H_
Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/third_party/lss/linux_syscall_support.h
Index: chromium-144.0.7559.59/third_party/lss/linux_syscall_support.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/lss/linux_syscall_support.h
+++ chromium-140.0.7339.41/third_party/lss/linux_syscall_support.h
--- chromium-144.0.7559.59.orig/third_party/lss/linux_syscall_support.h
+++ chromium-144.0.7559.59/third_party/lss/linux_syscall_support.h
@@ -86,7 +86,7 @@
* Porting to other related platforms should not be difficult.
*/
@ -11,7 +11,7 @@ Index: chromium-140.0.7339.41/third_party/lss/linux_syscall_support.h
defined(__aarch64__) || defined(__s390__) || defined(__e2k__) || \
(defined(__riscv) && __riscv_xlen == 64) || defined(__loongarch_lp64)) \
&& (defined(__linux) || defined(__ANDROID__))
@@ -398,7 +398,7 @@ struct kernel_stat64 {
@@ -400,7 +400,7 @@ struct kernel_stat64 {
unsigned __pad2;
unsigned long long st_blocks;
};
@ -20,7 +20,7 @@ Index: chromium-140.0.7339.41/third_party/lss/linux_syscall_support.h
struct kernel_stat64 {
unsigned long long st_dev;
unsigned long long st_ino;
@@ -420,6 +420,28 @@ struct kernel_stat64 {
@@ -422,6 +422,28 @@ struct kernel_stat64 {
unsigned long __unused4;
unsigned long __unused5;
};
@ -49,7 +49,7 @@ Index: chromium-140.0.7339.41/third_party/lss/linux_syscall_support.h
#elif defined(__e2k__)
struct kernel_stat64 {
unsigned long long st_dev;
@@ -536,7 +558,7 @@ struct kernel_stat {
@@ -538,7 +560,7 @@ struct kernel_stat {
uint64_t st_ctime_nsec_;
int64_t __unused4[3];
};
@ -58,7 +58,7 @@ Index: chromium-140.0.7339.41/third_party/lss/linux_syscall_support.h
typedef unsigned long kernel_blkcnt_t;
typedef unsigned long kernel_blksize_t;
typedef unsigned kernel_dev_t;
@@ -567,6 +589,37 @@ struct kernel_stat {
@@ -569,6 +591,37 @@ struct kernel_stat {
unsigned long __unused4;
unsigned long __unused5;
};
@ -96,7 +96,7 @@ Index: chromium-140.0.7339.41/third_party/lss/linux_syscall_support.h
#elif (defined(__mips__) && _MIPS_SIM != _MIPS_SIM_ABI64)
typedef int kernel_blkcnt_t;
typedef int kernel_blksize_t;
@@ -1823,6 +1876,28 @@ struct kernel_statx {
@@ -1825,6 +1878,28 @@ struct kernel_statx {
#ifndef __NR_getcpu
#define __NR_getcpu 302
#endif
@ -125,7 +125,7 @@ Index: chromium-140.0.7339.41/third_party/lss/linux_syscall_support.h
/* End of powerpc definitions */
#elif defined(__s390__)
#ifndef __NR_quotactl
@@ -4824,7 +4899,7 @@ struct kernel_statx {
@@ -4826,7 +4901,7 @@ struct kernel_statx {
LSS_INLINE _syscall6(void*, mmap, void*, addr, size_t, length, int, prot,
int, flags, int, fd, int64_t, offset)
#endif
@ -134,7 +134,7 @@ Index: chromium-140.0.7339.41/third_party/lss/linux_syscall_support.h
#undef LSS_SC_LOADARGS_0
#define LSS_SC_LOADARGS_0(dummy...)
#undef LSS_SC_LOADARGS_1
@@ -5214,7 +5289,11 @@ struct kernel_statx {
@@ -5216,7 +5291,11 @@ struct kernel_statx {
#endif
#if !defined(__NR_pipe)

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
+++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
@@ -0,0 +1,316 @@
+// This file is generated. Do not edit.
+#ifndef VP8_RTCD_H_
@ -319,10 +319,10 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vp8_r
+#endif
+
+#endif
Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
+++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
@@ -0,0 +1,267 @@
+// This file is generated. Do not edit.
+#ifndef VP9_RTCD_H_
@ -591,10 +591,10 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vp9_r
+#endif
+
+#endif
Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
+++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
@@ -0,0 +1,107 @@
+@ This file was created from a .asm file
+@ using the ads2gas.pl script.
@ -703,10 +703,10 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_c
+.equ DECODE_WIDTH_LIMIT , 16384
+.equ DECODE_HEIGHT_LIMIT , 16384
+ .section .note.GNU-stack,"",%progbits
Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
+++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
@@ -0,0 +1,10 @@
+/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
+/* */
@ -718,10 +718,10 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_c
+#include "vpx/vpx_codec.h"
+static const char* const cfg = "--target=generic-gnu --enable-vp9-highbitdepth --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv";
+const char *vpx_codec_build_config(void) {return cfg;}
Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
+++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
@@ -0,0 +1,116 @@
+/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
+/* */
@ -839,10 +839,10 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_c
+#define DECODE_WIDTH_LIMIT 16384
+#define DECODE_HEIGHT_LIMIT 16384
+#endif /* VPX_CONFIG_H */
Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
+++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
@@ -0,0 +1,4128 @@
+// This file is generated. Do not edit.
+#ifndef VPX_DSP_RTCD_H_
@ -4972,10 +4972,10 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_d
+#endif
+
+#endif
Index: chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
===================================================================
--- /dev/null
+++ chromium-140.0.7339.41/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
+++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
@@ -0,0 +1,96 @@
+// This file is generated. Do not edit.
+#ifndef VPX_SCALE_RTCD_H_

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc
+++ chromium-140.0.7339.41/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc
@@ -239,6 +239,12 @@ std::string UserAgent() {
#endif
#elif defined (ARCH_CPU_RISCV64)

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
+++ chromium-140.0.7339.41/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
+++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
@@ -38,6 +38,28 @@ static INLINE int16x8_t vec_max_across(i
return vec_max(a, vec_perm(a, a, vec_perm16));
}
@ -137,10 +137,10 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/libvpx/vp9/encoder/ppc/v
eob = vec_max(eob, vec_or(scan0, zero_coeff0));
eob2 = vec_max(vec_or(scan1, zero_coeff1), vec_or(scan2, zero_coeff2));
Index: chromium-140.0.7339.41/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
+++ chromium-140.0.7339.41/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
+++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
@@ -15,6 +15,28 @@
#include "vpx_dsp/ppc/txfm_common_vsx.h"
#include "vpx_dsp/ppc/types_vsx.h"
@ -255,10 +255,10 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct3
}
// Returns 1 if negative 0 if positive
Index: chromium-140.0.7339.41/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
+++ chromium-140.0.7339.41/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
+++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
@@ -13,6 +13,28 @@
#include "./vpx_dsp_rtcd.h"
#include "vpx_dsp/ppc/types_vsx.h"

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/base/compiler_specific.h
Index: chromium-144.0.7559.59/base/compiler_specific.h
===================================================================
--- chromium-140.0.7339.41.orig/base/compiler_specific.h
+++ chromium-140.0.7339.41/base/compiler_specific.h
--- chromium-144.0.7559.59.orig/base/compiler_specific.h
+++ chromium-144.0.7559.59/base/compiler_specific.h
@@ -198,7 +198,7 @@
// MUSTTAIL return Func1(d + 1); // `Func1()` will be tail-called.
// }

View file

@ -1,8 +1,8 @@
Index: chromium-140.0.7339.41/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h
Index: chromium-144.0.7559.59/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h
===================================================================
--- chromium-140.0.7339.41.orig/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h
+++ chromium-140.0.7339.41/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h
@@ -144,7 +144,7 @@
--- chromium-144.0.7559.59.orig/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h
+++ chromium-144.0.7559.59/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h
@@ -139,7 +139,7 @@
// PA_MUSTTAIL return Func1(d + 1); // `Func1()` will be tail-called.
// }
// ```

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/third_party/libvpx/generate_gni.sh
Index: chromium-144.0.7559.59/third_party/libvpx/generate_gni.sh
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libvpx/generate_gni.sh
+++ chromium-140.0.7339.41/third_party/libvpx/generate_gni.sh
--- chromium-144.0.7559.59.orig/third_party/libvpx/generate_gni.sh
+++ chromium-144.0.7559.59/third_party/libvpx/generate_gni.sh
@@ -429,7 +429,7 @@ gen_config_files linux/mipsel "--target=
gen_config_files linux/mips64el "--target=mips64-linux-gcc ${all_platforms}"
gen_config_files linux/loongarch \
@ -11,10 +11,10 @@ Index: chromium-140.0.7339.41/third_party/libvpx/generate_gni.sh
gen_config_files linux/generic "--target=generic-gnu $HIGHBD ${all_platforms}"
gen_config_files win/arm64-highbd \
"--target=arm64-win64-vs15 ${all_platforms} ${HIGHBD} ${disable_sve}"
Index: chromium-140.0.7339.41/third_party/libvpx/source/libvpx/build/make/rtcd.pl
Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/build/make/rtcd.pl
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libvpx/source/libvpx/build/make/rtcd.pl
+++ chromium-140.0.7339.41/third_party/libvpx/source/libvpx/build/make/rtcd.pl
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/build/make/rtcd.pl
+++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/build/make/rtcd.pl
@@ -527,8 +527,9 @@ if ($opts{arch} eq 'x86') {
}
arm;
@ -27,10 +27,10 @@ Index: chromium-140.0.7339.41/third_party/libvpx/source/libvpx/build/make/rtcd.p
} elsif ($opts{arch} =~ /loongarch/ ) {
@ALL_ARCHS = filter(qw/lsx lasx/);
loongarch;
Index: chromium-140.0.7339.41/third_party/libvpx/BUILD.gn
Index: chromium-144.0.7559.59/third_party/libvpx/BUILD.gn
===================================================================
--- chromium-140.0.7339.41.orig/third_party/libvpx/BUILD.gn
+++ chromium-140.0.7339.41/third_party/libvpx/BUILD.gn
--- chromium-144.0.7559.59.orig/third_party/libvpx/BUILD.gn
+++ chromium-144.0.7559.59/third_party/libvpx/BUILD.gn
@@ -98,6 +98,14 @@ config("libvpx_config") {
"-Wno-sign-compare",
]

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/third_party/webrtc/rtc_base/system/arch.h
Index: chromium-144.0.7559.59/third_party/webrtc/rtc_base/system/arch.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/webrtc/rtc_base/system/arch.h
+++ chromium-140.0.7339.41/third_party/webrtc/rtc_base/system/arch.h
--- chromium-144.0.7559.59.orig/third_party/webrtc/rtc_base/system/arch.h
+++ chromium-144.0.7559.59/third_party/webrtc/rtc_base/system/arch.h
@@ -46,6 +46,18 @@
#endif
#if defined(__MIPSEL__)

View file

@ -1,8 +1,8 @@
Index: chromium-140.0.7339.41/base/system/sys_info.cc
Index: chromium-144.0.7559.59/base/system/sys_info.cc
===================================================================
--- chromium-140.0.7339.41.orig/base/system/sys_info.cc
+++ chromium-140.0.7339.41/base/system/sys_info.cc
@@ -254,6 +254,8 @@ std::string SysInfo::ProcessCPUArchitect
--- chromium-144.0.7559.59.orig/base/system/sys_info.cc
+++ chromium-144.0.7559.59/base/system/sys_info.cc
@@ -263,6 +263,8 @@ std::string SysInfo::ProcessCPUArchitect
return "ARM";
#elif defined(ARCH_CPU_ARM64)
return "ARM_64";

View file

@ -1,7 +1,7 @@
Index: chromium-142.0.7444.52/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
Index: chromium-144.0.7559.59/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
===================================================================
--- chromium-142.0.7444.52.orig/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
+++ chromium-142.0.7444.52/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
--- chromium-144.0.7559.59.orig/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
+++ chromium-144.0.7559.59/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
@@ -383,6 +383,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatfo
info->arch = extensions::api::runtime::PlatformArch::kMips64;
} else if (arch == "riscv64") {
@ -11,10 +11,10 @@ Index: chromium-142.0.7444.52/chrome/browser/extensions/api/runtime/chrome_runti
} else {
NOTREACHED();
}
Index: chromium-142.0.7444.52/extensions/common/api/runtime.json
Index: chromium-144.0.7559.59/extensions/common/api/runtime.json
===================================================================
--- chromium-142.0.7444.52.orig/extensions/common/api/runtime.json
+++ chromium-142.0.7444.52/extensions/common/api/runtime.json
--- chromium-144.0.7559.59.orig/extensions/common/api/runtime.json
+++ chromium-144.0.7559.59/extensions/common/api/runtime.json
@@ -98,7 +98,8 @@
{"name": "x86-64", "description": "Specifies the processer architecture as x86-64."},
{"name": "mips", "description": "Specifies the processer architecture as mips."},

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/base/process/launch.h
Index: chromium-144.0.7559.59/base/process/launch.h
===================================================================
--- chromium-140.0.7339.41.orig/base/process/launch.h
+++ chromium-140.0.7339.41/base/process/launch.h
--- chromium-144.0.7559.59.orig/base/process/launch.h
+++ chromium-144.0.7559.59/base/process/launch.h
@@ -58,6 +58,9 @@ enum TerminationStatus : int;
#if defined(ARCH_CPU_ARM64) || defined(ARCH_CPU_LOONGARCH64)
#define PTHREAD_STACK_MIN_CONST \

View file

@ -0,0 +1,19 @@
From b9075d0e1f687f9a5cf80a7778bde99cece9fdf7 Mon Sep 17 00:00:00 2001
From: Than Ngo <than@redhat.com>
Date: Sat, 23 Nov 2024 12:33:22 +0100
Subject: [PATCH] Enable qt-ui
diff -up chromium-131.0.6778.85/ui/qt/qt_shim.cc.me chromium-131.0.6778.85/ui/qt/qt_shim.cc
--- chromium-131.0.6778.85/ui/qt/qt_shim.cc.me 2024-11-23 10:04:16.789121846 +0100
+++ chromium-131.0.6778.85/ui/qt/qt_shim.cc 2024-11-23 11:40:02.905064702 +0100
@@ -265,7 +265,7 @@ FontRenderParams QtShim::GetFontRenderPa
FontDescription QtShim::GetFontDescription() const {
QFont font = app_.font();
return {
- .family = String(font.family().toStdString().c_str()),
+ .family = String(font.family().toUtf8().constData()),
.size_pixels = font.pixelSize(),
.size_points = font.pointSize(),
.is_italic = IsStyleItalic(font.style()),

View file

@ -1,145 +0,0 @@
Revert it due to incorrect display of links on startpage
commit 8e24867a503c142393388f117df94bb9b7c4b597
Author: Prashant Nevase <pnevase@microsoft.com>
Date: Mon Aug 18 10:26:18 2025 -0700
Remove dark mode kFilterNone image policy.
This cl removes DarkModeImagePolicy::kFilterNone and virtual tests
related to it. DarkModeImagePolicy::kFilterSmart is used as default.
Bug: 429404798
Change-Id: I5983aa8bca9ed4da110130f8bc49a184c7d339dc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6810968
Commit-Queue: Prashant Nevase <pnevase@microsoft.com>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1502799}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index d4ed3585d95..62f30a3103c 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -813,19 +813,16 @@ const FeatureEntry::Choice kSafetyHubUnifiedPasswordsModuleChoices[] = {
#if !BUILDFLAG(IS_CHROMEOS)
const FeatureEntry::FeatureParam kForceDark_SimpleHsl[] = {
{"inversion_method", "hsl_based"},
- {"image_behavior", "none"},
{"foreground_lightness_threshold", "150"},
{"background_lightness_threshold", "205"}};
const FeatureEntry::FeatureParam kForceDark_SimpleCielab[] = {
{"inversion_method", "cielab_based"},
- {"image_behavior", "none"},
{"foreground_lightness_threshold", "150"},
{"background_lightness_threshold", "205"}};
const FeatureEntry::FeatureParam kForceDark_SimpleRgb[] = {
{"inversion_method", "rgb_based"},
- {"image_behavior", "none"},
{"foreground_lightness_threshold", "150"},
{"background_lightness_threshold", "205"}};
@@ -839,7 +836,6 @@ const FeatureEntry::FeatureParam kForceDark_SelectiveImageInversion[] = {
const FeatureEntry::FeatureParam kForceDark_SelectiveElementInversion[] = {
{"inversion_method", "cielab_based"},
- {"image_behavior", "none"},
{"foreground_lightness_threshold", "150"},
{"background_lightness_threshold", "205"}};
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
index 14409e52162..0af032f4dbf 100644
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -1036,7 +1036,6 @@ const base::FeatureParam<ForceDarkImageBehavior>::Option
forcedark_image_behavior_options[] = {
{ForceDarkImageBehavior::kUseBlinkSettings,
"use_blink_settings_for_images"},
- {ForceDarkImageBehavior::kInvertNone, "none"},
{ForceDarkImageBehavior::kInvertSelectively, "selective"}};
BASE_FEATURE_ENUM_PARAM(ForceDarkImageBehavior,
diff --git a/third_party/blink/public/common/forcedark/forcedark_switches.h b/third_party/blink/public/common/forcedark/forcedark_switches.h
index 9661628ce5c..ad606effc28 100644
--- a/third_party/blink/public/common/forcedark/forcedark_switches.h
+++ b/third_party/blink/public/common/forcedark/forcedark_switches.h
@@ -31,9 +31,6 @@ enum class ForceDarkImageBehavior {
// Same as ForceDarkInversionMethod::kUseBlinkSettings above.
kUseBlinkSettings,
- // Do not invert any images.
- kInvertNone,
-
// Invert only some images. Images that act as icons or text should be
// inverted, but photos, avatars, etc. should not be.
kInvertSelectively
diff --git a/third_party/blink/renderer/platform/graphics/dark_mode_filter.cc b/third_party/blink/renderer/platform/graphics/dark_mode_filter.cc
index 1929af787b7..7cb0924924a 100644
--- a/third_party/blink/renderer/platform/graphics/dark_mode_filter.cc
+++ b/third_party/blink/renderer/platform/graphics/dark_mode_filter.cc
@@ -205,7 +205,6 @@ void DarkModeFilter::ApplyFilterToImage(Image* image,
const SkRect& src) {
DCHECK(image);
DCHECK(flags);
- DCHECK_NE(GetDarkModeImagePolicy(), DarkModeImagePolicy::kFilterNone);
// Raster-side dark mode path - Just set the dark mode on flags and dark
// mode will be applied at compositor side during rasterization.
@@ -224,10 +223,6 @@ void DarkModeFilter::ApplyFilterToImage(Image* image,
}
bool DarkModeFilter::ShouldApplyFilterToImage(ImageType type) const {
- DarkModeImagePolicy image_policy = GetDarkModeImagePolicy();
- if (image_policy == DarkModeImagePolicy::kFilterNone)
- return false;
-
// kIcon: Do not consider images being drawn into bigger rect as these
// images are not meant for icons or representing smaller widgets. These
// images are considered as photos which should be untouched.
@@ -241,7 +236,6 @@ bool DarkModeFilter::ShouldApplyFilterToImage(ImageType type) const {
sk_sp<cc::ColorFilter> DarkModeFilter::GenerateImageFilter(
const SkPixmap& pixmap,
const SkIRect& src) const {
- DCHECK(immutable_.settings.image_policy == DarkModeImagePolicy::kFilterSmart);
DCHECK(immutable_.image_filter);
return (immutable_.image_classifier->Classify(pixmap, src) ==
diff --git a/third_party/blink/renderer/platform/graphics/dark_mode_settings.h b/third_party/blink/renderer/platform/graphics/dark_mode_settings.h
index 19b3796f457..bce2653148a 100644
--- a/third_party/blink/renderer/platform/graphics/dark_mode_settings.h
+++ b/third_party/blink/renderer/platform/graphics/dark_mode_settings.h
@@ -21,10 +21,9 @@ enum class DarkModeInversionAlgorithm {
// This enum will be removed soon to make dark mode simpler.
enum class DarkModeImagePolicy {
kFilterSmart, // Apply dark-mode based on image content.
- kFilterNone, // Never apply dark-mode filter to any images.
kFirst = kFilterSmart, // First enum value.
- kLast = kFilterNone, // Last enum value.
+ kLast = kFilterSmart, // Last enum value.
};
enum class DarkModeImageClassifierPolicy {
@@ -45,7 +44,7 @@ struct DarkModeSettings {
DarkModeInversionAlgorithm mode =
DarkModeInversionAlgorithm::kInvertLightnessLAB;
float contrast = 0.0; // Valid range from -1.0 to 1.0
- DarkModeImagePolicy image_policy = DarkModeImagePolicy::kFilterNone;
+ DarkModeImagePolicy image_policy = DarkModeImagePolicy::kFilterSmart;
DarkModeImageClassifierPolicy image_classifier_policy =
DarkModeImageClassifierPolicy::kNumColorsWithMlFallback;
diff --git a/third_party/blink/renderer/platform/graphics/dark_mode_settings_builder.cc b/third_party/blink/renderer/platform/graphics/dark_mode_settings_builder.cc
index 61498c0a809..318652cb2f2 100644
--- a/third_party/blink/renderer/platform/graphics/dark_mode_settings_builder.cc
+++ b/third_party/blink/renderer/platform/graphics/dark_mode_settings_builder.cc
@@ -115,8 +115,6 @@ DarkModeImagePolicy GetImagePolicy(const SwitchParams& switch_params) {
case ForceDarkImageBehavior::kUseBlinkSettings:
return GetIntegerSwitchParamValue<DarkModeImagePolicy>(
switch_params, "ImagePolicy", kDefaultDarkModeImagePolicy);
- case ForceDarkImageBehavior::kInvertNone:
- return DarkModeImagePolicy::kFilterNone;
case ForceDarkImageBehavior::kInvertSelectively:
return DarkModeImagePolicy::kFilterSmart;
}

View file

@ -1,60 +0,0 @@
diff -up chromium-141.0.7390.37/build/config/clang/BUILD.gn.rust-clang_lib chromium-141.0.7390.37/build/config/clang/BUILD.gn
--- chromium-141.0.7390.37/build/config/clang/BUILD.gn.rust-clang_lib 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/build/config/clang/BUILD.gn 2025-09-27 12:15:44.380395911 +0200
@@ -168,7 +168,21 @@ template("clang_lib") {
}
} else if (is_apple) {
_dir = "darwin"
- } else if (is_linux || is_chromeos) {
+ } else if (is_linux) {
+ if (current_cpu == "x64") {
+ _dir = "x86_64-redhat-linux-gnu"
+ } else if (current_cpu == "x86") {
+ _dir = "i386-redhat-linux-gnu"
+ } else if (current_cpu == "arm64") {
+ _dir = "aarch64-redhat-linux-gnu"
+ } else if (current_cpu == "arm") {
+ _dir = "armhf-redhat-linux-gnu"
+ } else if (current_cpu == "ppc64") {
+ _dir = "ppc64le-redhat-linux-gnu"
+ } else {
+ assert(false) # Unhandled cpu type
+ }
+ } else if (is_chromeos) {
if (current_cpu == "x64") {
_dir = "x86_64-unknown-linux-gnu"
} else if (current_cpu == "x86") {
diff -up chromium-141.0.7390.37/build/rust/rust_bindgen_generator.gni.rust-clang_lib chromium-141.0.7390.37/build/rust/rust_bindgen_generator.gni
--- chromium-141.0.7390.37/build/rust/rust_bindgen_generator.gni.rust-clang_lib 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/build/rust/rust_bindgen_generator.gni 2025-09-27 11:41:29.777786734 +0200
@@ -18,11 +18,11 @@ if (host_os == "win") {
# On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in
# ../lib.
-_libclang_path = rust_bindgen_root
+_libclang_path = clang_base_path
if (host_os == "win") {
_libclang_path += "/bin"
} else {
- _libclang_path += "/lib"
+ _libclang_path += "/lib64"
}
# Template to build Rust/C bindings with bindgen.
diff -up chromium-141.0.7390.37/build/rust/rust_bindgen.gni.rust-clang_lib chromium-141.0.7390.37/build/rust/rust_bindgen.gni
--- chromium-141.0.7390.37/build/rust/rust_bindgen.gni.rust-clang_lib 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/build/rust/rust_bindgen.gni 2025-09-27 11:41:29.777891843 +0200
@@ -19,11 +19,11 @@ if (host_os == "win") {
# On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in
# ../lib.
-_libclang_path = rust_bindgen_root
+_libclang_path = clang_base_path
if (host_os == "win") {
_libclang_path += "/bin"
} else {
- _libclang_path += "/lib"
+ _libclang_path += "/lib64"
}
# Template to build Rust/C bindings with bindgen.

View file

@ -1,65 +0,0 @@
Fix FTBFS caused by old python-3.9.x on el9
File "/builddir/build/BUILD/chromium-142.0.7444.52/tools/metrics/histograms/extract_histograms.py", line 81, in EnumDict
type: str | None
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'
File "/builddir/build/BUILD/chromium-142.0.7444.52/tools/metrics/histograms/extract_histograms.py", line 106, in <module>
) -> tuple[str | None, ExtractionErrors]:
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'
File "/builddir/build/BUILD/chromium-142.0.7444.52/tools/metrics/histograms/extract_histograms.py", line 643, in <module>
def _GetObsoleteReason(node: xml.dom.minidom.Element) -> str | None:
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'
diff -up chromium-142.0.7444.52/tools/metrics/histograms/extract_histograms.py.me chromium-142.0.7444.52/tools/metrics/histograms/extract_histograms.py
--- chromium-142.0.7444.52/tools/metrics/histograms/extract_histograms.py.me 2025-10-28 20:14:35.609014587 +0100
+++ chromium-142.0.7444.52/tools/metrics/histograms/extract_histograms.py 2025-10-28 20:30:30.123641508 +0100
@@ -21,6 +21,7 @@ from typing import Any, TypedDict
import xml.dom.minidom
import histogram_configuration_model
+from typing import Optional, Union
sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common'))
import xml_utils
@@ -78,7 +79,7 @@ class EnumDict(TypedDict, total=False):
"""A dict representing an enum."""
name: str
- type: str | None
+ type: Optional[str]
buckets: list[_BucketDict]
summary: str
@@ -102,7 +103,7 @@ def ExpandHistogramNameWithSuffixes(
suffix_name: str,
histogram_name: str,
histogram_suffixes_node: xml.dom.minidom.Element,
-) -> tuple[str | None, ExtractionErrors]:
+) -> tuple[Optional[str], ExtractionErrors]:
"""Creates a new histogram name based on a histogram suffix.
Args:
@@ -304,7 +305,7 @@ def _ExtractOwners(node: xml.dom.minidom
def _ExtractImprovementDirection(
histogram_node: xml.dom.minidom.Element,
-) -> tuple[str | None, ExtractionErrors]:
+) -> tuple[Union[str, None], ExtractionErrors]:
"""Extracts improvement direction from the given histogram element, if any.
Args:
@@ -639,7 +640,7 @@ def ExtractVariantsFromXmlTree(
return variants_dict, errors
-def _GetObsoleteReason(node: xml.dom.minidom.Element) -> str | None:
+def _GetObsoleteReason(node: xml.dom.minidom.Element) -> Optional[str]:
"""If the node's histogram is obsolete, returns a string explanation.
Otherwise, returns None.

View file

@ -0,0 +1,26 @@
Workaround auto darkmode issue, image are not inverted correctly in darkmode
diff -up chromium-143.0.7499.40/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc.than chromium-143.0.7499.40/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc
--- chromium-143.0.7499.40/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc.than 2025-12-09 12:28:52.592092242 +0100
+++ chromium-143.0.7499.40/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc 2025-12-09 12:42:57.776716951 +0100
@@ -276,16 +276,20 @@ DarkModeResult DarkModeImageClassifier::
float high_color_count_threshold =
kHighColorCountThreshold[features.is_colorful];
+#if 0
// Very few colors means it's not a photo, apply the filter.
if (features.color_buckets_ratio < low_color_count_threshold)
return DarkModeResult::kApplyFilter;
+#endif
// Too many colors means it's probably photorealistic, do not apply it.
if (features.color_buckets_ratio > high_color_count_threshold)
return DarkModeResult::kDoNotApplyFilter;
+#if 0
// In-between, decision tree cannot give a precise result.
return DarkModeResult::kNotClassified;
+#endif
}
} // namespace blink

View file

@ -13,7 +13,7 @@ diff -up chromium-141.0.7390.37/build/rust/allocator/lib.rs.rust-no-alloc-shim-i
static __rust_alloc_error_handler_should_panic: u8 = 0;
+ // Mangle the symbol name as rustc (1.84) expects on EL9
+ #[no_mangle]
+ #[unsafe(no_mangle)]
+ #[linkage = "weak"]
+ static __rust_no_alloc_shim_is_unstable: u8 = 0;
+

View file

@ -13,5 +13,5 @@ diff -up chromium-142.0.7444.162/build/rust/allocator/lib.rs.el9-rust_alloc_erro
+ }
+
// Mangle the symbol name as rustc (1.84) expects on EL9
#[no_mangle]
#[unsafe(no_mangle)]
#[linkage = "weak"]

View file

@ -0,0 +1,73 @@
Author: <than@redhat.com>
Fix build error caused by python-3.9 on EL9
Traceback (most recent call last):
File "/builddir/build/BUILD/chromium-143.0.7499.40/out/Release/../../tools/metrics/histograms/generate_allowlist_from_histograms_file.py", line 10, in <module>
import extract_histograms
File "/builddir/build/BUILD/chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py", line 24, in <module>
import xml_utils
File "/builddir/build/BUILD/chromium-143.0.7499.40/tools/metrics/histograms/../common/xml_utils.py", line 14, in <module>
DomTree = minidom.Element | minidom.Document
TypeError: unsupported operand type(s) for |: 'type' and 'type'
diff -up chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py.python-3.9-ftbfs chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py
--- chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py.python-3.9-ftbfs 2025-11-19 22:40:05.000000000 +0100
+++ chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py 2025-12-02 17:23:41.996802101 +0100
@@ -18,6 +18,7 @@ import re
import sys
from typing import TypedDict
import xml.dom.minidom
+from typing import Optional, Union
sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common'))
import xml_utils
@@ -84,7 +85,7 @@ class EnumDict(TypedDict, total=False):
"""A dict representing an enum."""
name: str
- type: str | None
+ type: Optional[str]
buckets: list[_BucketDict]
summary: str
@@ -108,7 +109,7 @@ def ExpandHistogramNameWithSuffixes(
suffix_name: str,
histogram_name: str,
histogram_suffixes_node: xml.dom.minidom.Element,
-) -> tuple[str | None, ExtractionErrors]:
+) -> tuple[Optional[str], ExtractionErrors]:
"""Creates a new histogram name based on a histogram suffix.
Args:
@@ -310,7 +311,7 @@ def _ExtractOwners(node: xml.dom.minidom
def _ExtractImprovementDirection(
histogram_node: xml.dom.minidom.Element,
-) -> tuple[str | None, ExtractionErrors]:
+) -> tuple[Union[str, None], ExtractionErrors]:
"""Extracts improvement direction from the given histogram element, if any.
Args:
@@ -644,7 +645,7 @@ def ExtractVariantsFromXmlTree(
return variants_dict, errors
-def _GetObsoleteReason(node: xml.dom.minidom.Element) -> str | None:
+def _GetObsoleteReason(node: xml.dom.minidom.Element) -> Optional[str]:
"""If the node's histogram is obsolete, returns a string explanation.
Otherwise, returns None.
diff -up chromium-143.0.7499.40/tools/metrics/common/xml_utils.py.than chromium-143.0.7499.40/tools/metrics/common/xml_utils.py
--- chromium-143.0.7499.40/tools/metrics/common/xml_utils.py.than 2025-12-04 17:48:11.924111675 +0100
+++ chromium-143.0.7499.40/tools/metrics/common/xml_utils.py 2025-12-04 17:49:42.451979769 +0100
@@ -11,7 +11,8 @@ from xml.dom import minidom
# The implementation of Node type is possible with extra runtime checks, however
# using a more specific type makes the intent clearer and avoids potential
# warnings about attributes like `tagName` not being present on all Node types.
-DomTree = minidom.Element | minidom.Document
+from typing import Union
+DomTree = Union[minidom.Element, minidom.Document]
_ELEMENT_NODE = minidom.Node.ELEMENT_NODE

View file

@ -0,0 +1,137 @@
commit 4f7637304eca894adf2e70078a55654a88224a30
Author: Lukasz Anforowicz <lukasza@chromium.org>
Date: Tue Sep 30 07:08:03 2025 -0700
[rust png] Reland: Reinforce `testonly`-ness of some users of `libpng`.
This reverts commit 7fa4c2d7ab42a48247ce8e0290cbb7e854990f1e and
effectively relands https://crrev.com/c/6976870. The reland is
attempted after using wildcards to cover extra gni-generated targets.
`Cq-Include-Trybots` directives in the CL description should verify
correctness of the reland. Original CL description follows:
This CL extracts a separate `third_party/libpng:libpng_for_testonly`
target which:
1) Is a `group` that proxies/forwards to the `libpng` target by listing
it as its `public_deps`
2) Has limited visibility (based on the new `libpng_testonly_visibility`
introduced in the refactored `third_party/libpng/visibility.gni`).
The new visibility is almost unchanged, except for explicitly
spelling out some targets instead of using wildcards
3) Is marked as `testonly`
Bug: 443128323
Change-Id: If7ba0d184324a5c662aaf2d52122994ea778d452
Cq-Include-Trybots: luci.chromium.try:ios-catalyst
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6991491
Auto-Submit: Łukasz Anforowicz <lukasza@chromium.org>
Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1522830}
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index a4703c3692d..2d70f7a5fe9 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -11152,7 +11152,7 @@ if (!is_android) {
"//testing/gtest",
"//third_party/hunspell",
"//third_party/icu",
- "//third_party/libpng",
+ "//third_party/libpng:libpng_for_testonly",
"//ui/base:test_support",
"//ui/events:test_support",
"//ui/ozone",
@@ -11512,7 +11512,7 @@ if (!is_android && !is_chromeos_device) {
"//testing/gtest",
"//third_party/hunspell",
"//third_party/icu",
- "//third_party/libpng",
+ "//third_party/libpng:libpng_for_testonly",
"//ui/base:base_interactive_ui_tests",
"//ui/base:ozone_buildflags",
"//ui/base:test_support",
@@ -12470,7 +12470,7 @@ if (!is_android) {
"//testing/gtest",
"//third_party/hunspell",
"//third_party/icu",
- "//third_party/libpng",
+ "//third_party/libpng:libpng_for_testonly",
"//ui/base:test_support",
"//ui/resources:ui_test_pak",
"//ui/views",
diff --git a/testing/libfuzzer/fuzzers/BUILD.gn b/testing/libfuzzer/fuzzers/BUILD.gn
index 7d242e177f0..1c67eee1598 100644
--- a/testing/libfuzzer/fuzzers/BUILD.gn
+++ b/testing/libfuzzer/fuzzers/BUILD.gn
@@ -104,7 +104,7 @@ fuzzer_test("libpng_progressive_read_fuzzer") {
sources = [ "libpng_read_fuzzer.cc" ]
deps = [
"//base",
- "//third_party/libpng",
+ "//third_party/libpng:libpng_for_testonly",
]
dict = "dicts/png.dict"
seed_corpuses = libpng_seed_corpuses
diff --git a/third_party/libpng/BUILD.gn b/third_party/libpng/BUILD.gn
index d4bdea1e33c..3e31348b94f 100644
--- a/third_party/libpng/BUILD.gn
+++ b/third_party/libpng/BUILD.gn
@@ -130,6 +130,14 @@ if (is_win) {
}
}
+group("libpng_for_testonly") {
+ testonly = true
+ public_deps = [ ":libpng" ]
+
+ visibility = []
+ visibility = libpng_testonly_visibility
+}
+
if (build_with_chromium) {
libpng_ossfuzz_seed_corpuses = [
"//components/test/data/viz",
diff --git a/tools/imagediff/BUILD.gn b/tools/imagediff/BUILD.gn
index d56651bedc7..2b5f3d38488 100644
--- a/tools/imagediff/BUILD.gn
+++ b/tools/imagediff/BUILD.gn
@@ -34,6 +34,7 @@ if (target_os == "win" && host_os != "win") {
# If the current toolchain is the test host toolchain, build the tool.
if (current_toolchain == imagediff_toolchain) {
executable("imagediff") {
+ testonly = true
output_name = "image_diff" # Different than dir name for historical
# reasons.
sources = [
@@ -47,7 +48,7 @@ if (current_toolchain == imagediff_toolchain) {
deps = [
"//base",
"//build/win:default_exe_manifest",
- "//third_party/libpng",
+ "//third_party/libpng:libpng_for_testonly",
"//third_party/zlib",
]
}
@@ -60,6 +61,7 @@ if (current_toolchain == imagediff_toolchain) {
} else if (current_toolchain == default_toolchain &&
default_toolchain != imagediff_toolchain) {
binary_symlink("imagediff") {
+ testonly = true
binary_label = ":$target_name($imagediff_toolchain)"
binary_output_name = "image_diff"
diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
index f6a40abfe99..83d8f55027a 100644
--- a/ui/gfx/BUILD.gn
+++ b/ui/gfx/BUILD.gn
@@ -906,7 +906,7 @@ test("gfx_unittests") {
"//skia:skcms",
"//testing/gtest",
"//third_party/icu:icuuc",
- "//third_party/libpng",
+ "//third_party/libpng:libpng_for_testonly",
"//third_party/zlib",
"//ui/base",
"//ui/gfx/animation",

View file

@ -0,0 +1,12 @@
diff -up chromium-143.0.7499.40/third_party/swiftshader/src/Reactor/BUILD.gn.llvm-16 chromium-143.0.7499.40/third_party/swiftshader/src/Reactor/BUILD.gn
--- chromium-143.0.7499.40/third_party/swiftshader/src/Reactor/BUILD.gn.llvm-16 2025-12-02 23:25:25.379315827 +0100
+++ chromium-143.0.7499.40/third_party/swiftshader/src/Reactor/BUILD.gn 2025-12-02 23:25:58.697291861 +0100
@@ -307,7 +307,7 @@ if (supports_subzero) {
if (supports_llvm) {
swiftshader_source_set("swiftshader_llvm_reactor") {
- llvm_dir = "../../third_party/llvm-10.0"
+ llvm_dir = "../../third_party/llvm-16.0"
deps = [
":swiftshader_reactor_base",

View file

@ -0,0 +1,66 @@
diff -up chromium-144.0.7559.31/build/config/clang/BUILD.gn.rust-clang_lib chromium-144.0.7559.31/build/config/clang/BUILD.gn
--- chromium-144.0.7559.31/build/config/clang/BUILD.gn.rust-clang_lib 2025-12-17 01:06:32.000000000 +0100
+++ chromium-144.0.7559.31/build/config/clang/BUILD.gn 2025-12-23 19:01:33.876897379 +0100
@@ -177,7 +177,21 @@ template("clang_lib") {
}
} else if (is_apple) {
_dir = "darwin"
- } else if (is_linux || is_chromeos) {
+ } else if (is_linux) {
+ if (current_cpu == "x64") {
+ _dir = "x86_64-redhat-linux-gnu"
+ } else if (current_cpu == "x86") {
+ _dir = "i386-redhat-linux-gnu"
+ } else if (current_cpu == "arm64") {
+ _dir = "aarch64-redhat-linux-gnu"
+ } else if (current_cpu == "arm") {
+ _dir = "armhf-redhat-linux-gnu"
+ } else if (current_cpu == "ppc64") {
+ _dir = "ppc64le-redhat-linux-gnu"
+ } else {
+ assert(false) # Unhandled cpu type
+ }
+ } else if (is_chromeos) {
if (current_cpu == "x64") {
_dir = "x86_64-unknown-linux-gnu"
} else if (current_cpu == "x86") {
diff -up chromium-144.0.7559.31/build/rust/rust_bindgen_generator.gni.rust-clang_lib chromium-144.0.7559.31/build/rust/rust_bindgen_generator.gni
--- chromium-144.0.7559.31/build/rust/rust_bindgen_generator.gni.rust-clang_lib 2025-12-17 01:06:32.000000000 +0100
+++ chromium-144.0.7559.31/build/rust/rust_bindgen_generator.gni 2025-12-23 19:21:34.335924481 +0100
@@ -26,14 +26,14 @@ if (!use_chromium_rust_toolchain &&
# On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in
# ../lib.
-_libclang_path = rust_bindgen_root
+_libclang_path = clang_base_path
if (!use_chromium_rust_toolchain &&
(host_cpu == "ppc64" || host_cpu == "s390x")) {
_libclang_path = rust_sysroot_absolute + "/lib64"
} else if (host_os == "win") {
_libclang_path += "/bin"
} else {
- _libclang_path += "/lib"
+ _libclang_path += "/lib64"
}
# Template to build Rust/C bindings with bindgen.
diff -up chromium-144.0.7559.31/build/rust/rust_bindgen.gni.rust-clang_lib chromium-144.0.7559.31/build/rust/rust_bindgen.gni
--- chromium-144.0.7559.31/build/rust/rust_bindgen.gni.rust-clang_lib 2025-12-17 01:06:32.000000000 +0100
+++ chromium-144.0.7559.31/build/rust/rust_bindgen.gni 2025-12-23 19:22:12.089755683 +0100
@@ -19,14 +19,14 @@ if (host_os == "win") {
# On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in
# ../lib.
-_libclang_path = rust_bindgen_root
+_libclang_path = clang_base_path
if (!use_chromium_rust_toolchain &&
(current_cpu == "ppc64" || current_cpu == "s390x")) {
_libclang_path = rust_sysroot_absolute + "/lib64"
} else if (host_os == "win") {
_libclang_path += "/bin"
} else {
- _libclang_path += "/lib"
+ _libclang_path += "/lib64"
}
# Template to build Rust/C bindings with bindgen.

View file

@ -0,0 +1,16 @@
diff -up chromium-144.0.7559.31/build/rust/std/BUILD.gn.than chromium-144.0.7559.31/build/rust/std/BUILD.gn
--- chromium-144.0.7559.31/build/rust/std/BUILD.gn.than 2025-12-26 15:06:36.274081861 +0100
+++ chromium-144.0.7559.31/build/rust/std/BUILD.gn 2025-12-26 16:11:45.697054423 +0100
@@ -55,11 +55,7 @@ if (toolchain_has_rust) {
"miniz_oxide",
"object",
]
- if (rustc_nightly_capability) {
- stdlib_files += [ "adler2" ]
- } else {
- stdlib_files += [ "adler" ]
- }
+ stdlib_files += [ "adler2" ]
}
if (toolchain_for_rust_host_build_tools) {

View file

@ -6,8 +6,8 @@ MODE="$(systemd-detect-virt)"
# GRAPHIC_DRIVER=[amd|intel|nvidia|default]
GRAPHIC_DRIVER=default
# WEB_DARKMODE=[on|off]
WEB_DARKMODE=off
# WEB_AUTO_DARKMODE_WEBCONTENT=[on|off]
WEB_AUTO_DARKMODE_WEBCONTENT=off
# NATIVE_WAYLAND=[on|off]
# chromium >=141 switched to --ozone-platform-hint=auto
@ -58,13 +58,14 @@ if [ "$MODE" != "none" ] ; then
fi
# Web Dark mode
if [ "$WEB_DARKMODE" == "on" ] ; then
darktype="WebContentsForceDark:inversion_method/cielab_based/image_behavior/none/foreground_lightness_threshold/150/background_lightness_threshold/205"
if [ "$WEB_AUTO_DARKMODE_WEBCONTENT" == "on" ] ; then
darktype="WebContentsForceDark"
if [ -z "$ENABLE_FEATURES" ] ; then
ENABLE_FEATURES+="$darktype"
else
ENABLE_FEATURES+=",$darktype"
fi
CHROMIUM_FLAGS+=" --force-dark-mode"
fi
[ -z "$DISABLE_FEATURES" ] || CHROMIUM_FLAGS+=" --disable-features=$DISABLE_FEATURES"

View file

@ -1,3 +1,6 @@
# macro for el10 minor version
%define rhel_minor_version %(grep -oP '10\.[0-9.]*' /etc/redhat-release | cut -d '.' -f2)
%define _lto_cflags %{nil}
%global _default_patch_fuzz 2
@ -9,6 +12,13 @@
# official builds have less debugging and go faster... but we have to shut some things off.
%global official_build 1
# enable|disble use_custom_libcxx
%global use_custom_libcxx 0
%if 0%{?rhel}
# no libcxx in el
%global use_custom_libcxx 1
%endif
# enable|disble bootstrap
%global bootstrap 0
# workaround for old gn on el9, it causes build error: unknown function filter_labels_include()
@ -44,6 +54,12 @@
%global system_nodejs 0
%endif
# enable gtk4 for fedora and el>9
%global gtk_version 4
%if 0%{?rhel} == 9
%global gtk_version 3
%endif
%if 0%{?rhel} == 8
%global chromium_pybin /usr/bin/python3.9
%else
@ -125,8 +141,8 @@
# enable|disable control flow integrity support
%global cfi 0
%ifarch x86_64
%global cfi 0
%ifarch x86_64 aarch64
%global cfi 1
%endif
# enable qt backend
@ -244,8 +260,8 @@
%endif
Name: chromium
Version: 142.0.7444.175
Release: 2%{?dist}
Version: 144.0.7559.59
Release: 1%{?dist}
Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
Url: http://www.chromium.org/Home
License: BSD-3-Clause AND LGPL-2.1-or-later AND Apache-2.0 AND IJG AND MIT AND GPL-2.0-or-later AND ISC AND OpenSSL AND (MPL-1.1 OR GPL-2.0-only OR LGPL-2.0-only)
@ -262,6 +278,17 @@ Patch20: chromium-disable-font-tests.patch
# don't download binary blob
Patch21: chromium-123-screen-ai-service.patch
# Fix link error when building with system libcxx
Patch22: chromium-131-fix-qt-ui.pach
# Workaround for build error: ERROR Unresolved dependencies.
#//chrome/test:captured_sites_interactive_tests(//build/toolchain/linux/unbundle:default)
# needs //third_party/libpng:libpng_for_testonly(//build/toolchain/linux/unbundle:default)
Patch23: chromium-143-revert-libpng_for_testonly.patch
# Get around the problem of auto darkmode webcontent inverting and making them unreadable
Patch30: chromium-143-autodarkmode-workaround.patch
# Disable tests on remoting build
Patch82: chromium-98.0.4758.102-remoting-no-tests.patch
@ -280,9 +307,6 @@ Patch92: chromium-138-checkversion-nodejs.patch
# fix build error
Patch93: chromium-141-csss_style_sheet.patch
# Revert due to incorrect display of links on startpage in Darkmode
Patch94: chromium-141-revert-remove-darkmode-image-policy.patch
# FTBFS - error: cannot find attribute `sanitize` in this scope
# --> ../../third_party/crabbyavif/src/src/capi/io.rs:210:41
# |
@ -313,7 +337,7 @@ Patch136: chromium-133-workaround-system-ffmpeg-whitelist.patch
Patch141: chromium-118-dma_buf_export_sync_file-conflict.patch
# fix ftbfs caused by old python-3.9 on el8
Patch142: chromium-142-python-3.9-ftbfs.patch
Patch142: chromium-143-python-3.9-ftbfs.patch
# add correct path for Qt6Gui header and libs
Patch150: chromium-124-qt6.patch
@ -321,6 +345,9 @@ Patch150: chromium-124-qt6.patch
# revert, it causes ramdom crash on aarch64
Patch300: chromium-131-revert-decommit-pooled-pages-by-default.patch
# Disable rust nightly features
Patch301: chromium-144-rust-libadler2.patch
# disable memory tagging (epel8 on aarch64) due to new feature IFUNC-Resolver
# it is not supported in old glibc < 2.30, error: fatal error: 'sys/ifunc.h' file not found
Patch305: chromium-124-el8-arm64-memory_tagging.patch
@ -339,11 +366,13 @@ Patch310: chromium-139-rust-FTBFS-suppress-warnings.patch
Patch311: chromium-123-fstack-protector-strong.patch
# Fix FTBFS: undefined symbol: __rust_no_alloc_shim_is_unstable on EL9
Patch312: chromium-142-el9-rust-no-alloc-shim-is-unstable.patch
# Error: unsafe attribute used without unsafe
# --> ../../build/rust/allocator/lib.rs:107:7
Patch312: chromium-143-el9-rust-no-alloc-shim-is-unstable.patch
# Fix FTBFS on EL9
# - error: undefined symbol: __rust_alloc_error_handler_should_panic
Patch313: chromium-142-el9-rust_alloc_error_handler_should_panic.patch
Patch313: chromium-143-el9-rust_alloc_error_handler_should_panic.patch
# old rust version causes build error on el8:
# error[E0599]: no method named `is_none_or` found for enum `Option` in the current scope
@ -355,6 +384,11 @@ Patch316: chromium-122-clang-build-flags.patch
# unknown warning option -Wno-nontrivial-memcall
Patch317: chromium-142-clang++-unknown-argument.patch
Patch318: memory-allocator-dcheck-assert-fix.patch
# compile swiftshader against llvm-16.0
Patch319: chromium-143-swiftshader-llvm-16.0.patch
# Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2239523
# https://bugs.chromium.org/p/chromium/issues/detail?id=1145581#c60
# Disable BTI until this is fixed upstream.
@ -377,7 +411,7 @@ Patch356: chromium-141-use_libcxx_modules.patch
Patch357: chromium-134-type-mismatch-error.patch
# set clang_lib path
Patch358: chromium-141-rust-clanglib.patch
Patch358: chromium-144-rust-clanglib.patch
# PowerPC64 LE support
# Timothy Pearson's patchset
@ -416,13 +450,11 @@ Patch396: skia-vsx-instructions.patch
Patch397: 0001-Implement-support-for-ppc64-on-Linux.patch
Patch398: 0001-Implement-support-for-PPC64-on-Linux.patch
Patch399: 0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when-.patch
Patch400: fix-clang-selection.patch
Patch401: fix-rustc.patch
Patch402: fix-rust-linking.patch
Patch403: fix-breakpad-compile.patch
Patch404: fix-partition-alloc-compile.patch
Patch405: fix-study-crash.patch
Patch406: memory-allocator-dcheck-assert-fix.patch
Patch407: fix-different-data-layouts.patch
Patch408: 0002-Add-ppc64-trap-instructions.patch
@ -452,10 +484,6 @@ Patch511: 0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch
%endif
# upstream patches
# Fix FTBFS
# ../../base/containers/span.h:1387:63: error: arithmetic on a pointer to an incomplete type 'element_type' (aka 'const autofill::FormFieldData')
# 1387 | typename iterator::AssumeValid(data(), data(), data() + size())));
Patch1000: chromium-142-missing-include-for-form_field_data.patch
# Use chromium-latest.py to generate clean tarball from released build tarballs, found here:
# http://build.chromium.org/buildbot/official/
@ -494,11 +522,16 @@ BuildRequires: clang-tools-extra
BuildRequires: llvm
BuildRequires: lld
%if ! %{use_custom_libcxx}
BuildRequires: libcxx-devel
%endif
%if 0%{?rhel} && 0%{?rhel} <= 9
BuildRequires: gcc-toolset-14-libatomic-devel
%endif
BuildRequires: rustc
BuildRequires: rustfmt
BuildRequires: bindgen-cli
%if ! %{bundlezstd}
@ -738,7 +771,34 @@ BuildRequires: opus-devel
%endif
BuildRequires: %{chromium_pybin}
BuildRequires: pkgconfig(gtk+-3.0)
%if %{gtk_version} == 4
BuildRequires: pkgconfig(gtk4)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xscrnsaver)
BuildRequires: pkgconfig(xshmfence)
BuildRequires: pkgconfig(xt)
BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcb-dri3)
BuildRequires: pkgconfig(xcb-proto)
Requires: gtk4
%else
BuildRequires: pkgconfig(gtk+-3.0)
# GTK modules it expects to find for some reason.
Requires: libcanberra-gtk3%{_isa}
%endif
# Build deps of Chromium proper which are often transitively pulled in by toolkits (GTK, Qt),
# but are still required without them.
BuildRequires: pkgconfig(atspi-2)
BuildRequires: pkgconfig(atk-bridge-2.0)
BuildRequires: pkgconfig(pangocairo)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xrandr)
BuildRequires: wayland-devel
%if ! %{bundlepylibs}
%if 0%{?fedora} || 0%{?rhel} >= 8
@ -782,9 +842,6 @@ BuildRequires: simdutf-devel
Requires: nss%{_isa} >= 3.26
Requires: nss-mdns%{_isa}
# GTK modules it expects to find for some reason.
Requires: libcanberra-gtk3%{_isa}
%if 0%{?fedora} && %{undefined flatpak}
# This enables support for u2f tokens
Requires: u2f-hidraw-policy
@ -970,7 +1027,12 @@ Qt6 UI for chromium.
%patch -P20 -p1 -b .disable-font-test
%patch -P21 -p1 -b .screen-ai-service
%if ! %{use_custom_libcxx}
%patch -P22 -p1 -b .fix-qt-ui
%endif
%patch -P23 -p1 -R -b .revert-libpng_for_testonly
%patch -P30 -p1 -b .autodarkmode-workaround
%patch -P82 -p1 -b .remoting-no-tests
%if ! %{bundlebrotli}
@ -989,7 +1051,6 @@ Qt6 UI for chromium.
%patch -P92 -p1 -b .nodejs-checkversion
%patch -P93 -p1 -b .ftbfs-csss_style_sheet
%patch -P94 -p1 -R -b .revert-remove-darkmode-image-policy
%patch -P96 -p1 -b .crabbyavif-ftbfs-old-rust
%if 0%{?fedora} > 43
@ -1020,6 +1081,8 @@ Qt6 UI for chromium.
%patch -P300 -p1 -R -b .revert-decommit-pooled-pages-by-default
%endif
%patch -P301 -p1 -b .rust-libadler2
%if 0%{?rhel} == 8
%ifarch aarch64
%patch -P305 -p1 -b .el8-memory_tagging
@ -1034,11 +1097,6 @@ Qt6 UI for chromium.
%patch -P310 -p1 -b .rust-FTBFS-suppress-warnings
%patch -P311 -p1 -b .fstack-protector-strong
%if 0%{?rhel} == 9
%patch -P312 -p1 -b .el9-rust-no-alloc-shim-is-unstable
%patch -P313 -p1 -b .el9-rust_alloc_error_handler_should_panic
%endif
%if 0%{?rhel} && 0%{?rhel} < 10
%patch -P354 -p1 -b .split-threshold-for-reg-with-hint
%endif
@ -1048,6 +1106,9 @@ Qt6 UI for chromium.
%patch -P317 -p1 -b .clang++-unsupported-argument
%endif
%patch -P318 -p1 -b .memory-allocator-dcheck-assert-fix
%patch -P319 -p1 -b .swiftshader-llvm-16.0
%if %{disable_bti}
%patch -P352 -p1 -b .workaround_for_crash_on_BTI_capable_system
%endif
@ -1088,13 +1149,11 @@ Qt6 UI for chromium.
%patch -P397 -p1 -b .0001-Implement-support-for-ppc64-on-Linux
%patch -P398 -p1 -b .0001-Implement-support-for-PPC64-on-Linux
%patch -P399 -p1 -b .0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when-
%patch -P400 -p1 -b .fix-clang-selection
%patch -P401 -p1 -b .fix-rustc
%patch -P402 -p1 -b .fix-rust-linking
%patch -P403 -p1 -b .fix-breakpad-compile
%patch -P404 -p1 -b .fix-partition-alloc-compile
%patch -P405 -p1 -b .fix-study-crash
%patch -P406 -p1 -b .memory-allocator-dcheck-assert-fix
%patch -P407 -p1 -b .fix-different-data-layouts
%patch -P408 -p1 -b .0002-Add-ppc64-trap-instructions
%patch -P409 -p1 -b .fix-page-allocator-overflow
@ -1114,7 +1173,6 @@ Qt6 UI for chromium.
%endif
# Upstream patches
%patch -P1000 -p1 -b .missing-include-for-form_field_data.patch
# Change shebang in all relevant files in this directory and all subdirectories
# See `man find` for how the `-exec command {} +` syntax works
@ -1196,6 +1254,11 @@ CXXFLAGS="$FLAGS"
CXXFLAGS+=' -faltivec-src-compat=mixed -Wno-deprecated-altivec-src-compat'
%endif
%if ! %{use_custom_libcxx}
LDFLAGS="${LDFLAGS} -stdlib=libc++"
CXXFLAGS="${CXXFLAGS} -stdlib=libc++"
%endif
export CC=clang
export CXX=clang++
export AR=llvm-ar
@ -1203,6 +1266,7 @@ export NM=llvm-nm
export READELF=llvm-readelf
export CFLAGS
export CXXFLAGS
export LDFLAGS
# need for error: the option `Z` is only accepted on the nightly compiler
export RUSTC_BOOTSTRAP=1
@ -1226,6 +1290,9 @@ CHROMIUM_CORE_GN_DEFINES=""
# using system toolchain
CHROMIUM_CORE_GN_DEFINES+=' custom_toolchain="//build/toolchain/linux/unbundle:default"'
CHROMIUM_CORE_GN_DEFINES+=' host_toolchain="//build/toolchain/linux/unbundle:default"'
%if ! %{use_custom_libcxx}
CHROMIUM_BROWSER_GN_DEFINES+=' use_custom_libcxx=false'
%endif
CHROMIUM_CORE_GN_DEFINES+=' is_debug=false dcheck_always_on=false dcheck_is_configurable=false'
CHROMIUM_CORE_GN_DEFINES+=' enable_enterprise_companion=false'
CHROMIUM_CORE_GN_DEFINES+=' system_libdir="%{_lib}"'
@ -1283,10 +1350,7 @@ CHROMIUM_CORE_GN_DEFINES+=' symbol_level=%{debug_level} blink_symbol_level=%{deb
CHROMIUM_CORE_GN_DEFINES+=' angle_has_histograms=false'
# drop unrar
CHROMIUM_CORE_GN_DEFINES+=' safe_browsing_use_unrar=false'
# Disable --warning-suppression-mappings as it causes FTBFS on el/f40/f41 due to old llvm
%if 0%{?rhel} || 0%{?fedora} == 40 || 0%{?fedora} == 41
CHROMIUM_CORE_GN_DEFINES+=' clang_warning_suppression_file=""'
%endif
CHROMIUM_CORE_GN_DEFINES+=' v8_enable_backtrace=true'
export CHROMIUM_CORE_GN_DEFINES
# browser gn defines
@ -1322,6 +1386,7 @@ CHROMIUM_BROWSER_GN_DEFINES+=" use_qt6=true moc_qt6_path=\"$(%{_qt6_qmake} -quer
%else
CHROMIUM_BROWSER_GN_DEFINES+=' use_qt6=false'
%endif
CHROMIUM_BROWSER_GN_DEFINES+=' use_gtk=true gtk_version=%{gtk_version}'
CHROMIUM_BROWSER_GN_DEFINES+=' use_gio=true use_pulseaudio=true'
CHROMIUM_BROWSER_GN_DEFINES+=' enable_hangout_services_extension=true'
@ -1746,6 +1811,75 @@ fi
%endif
%changelog
* Wed Jan 14 2026 Than Ngo <than@redhat.com> - 144.0.7559.59-1
- Update to 144.0.7559.59
* CVE-2026-0899: Out of bounds memory access in V8
* CVE-2026-0900: Inappropriate implementation in V8
* CVE-2026-0901: Inappropriate implementation in Blink
* CVE-2026-0902: Inappropriate implementation in V8
* CVE-2026-0903: Insufficient validation of untrusted input in Downloads
* CVE-2026-0904: Incorrect security UI in Digital Credentials
* CVE-2026-0905: Insufficient policy enforcement in Network
* CVE-2026-0906: Incorrect security UI
* CVE-2026-0907: Incorrect security UI in Split View
* CVE-2026-0908: Use after free in ANGLE
* Wed Jan 07 2026 Than Ngo <than@redhat.com> - 143.0.7499.192-1
- Update to 143.0.7499.192
* High CVE-2026-0628: Insufficient policy enforcement in WebView tag
- Fix rhbz#2425338, Enable control flow integrity support for x86_64/aarch64
- Enable build for epel10.1
* Sat Dec 20 2025 Than Ngo <than@redhat.com> - 143.0.7499.169-1
- Update to 143.0.7499.169
* Wed Dec 17 2025 Than Ngo <than@redhat.com> - 143.0.7499.146-1
- Update to 143.0.7499.146
* High CVE-2025-14765: Use after free in WebGPU
* High CVE-2025-14766: Out of bounds read and write in V8
- Force dark mode when auto dark mode web content is on
- Remove omnibox-next-Improve-cutout-mouse-handling-for-Wayla patch, as it's merged
* Thu Dec 11 2025 Than Ngo <than@redhat.com> - 143.0.7499.109-2
- Enable gtk4 by default
* Thu Dec 11 2025 Than Ngo <than@redhat.com> - 143.0.7499.109-1
- Update to 143.0.7499.109
* High: Under coordination
* Medium CVE-2025-14372: Use after free in Password Manager
* Medium CVE-2025-14373: Inappropriate implementation in Toolbar
- Workaround problem of auto dark mode inverting images and making them unreadable
* Tue Dec 09 2025 LuK1337 <priv.luk@gmail.com> - 143.0.7499.40-2
- Backport Wayland Omnibox bug fix from upstream
* Tue Dec 02 2025 Than Ngo <than@redhat.com> - 143.0.7499.40-1
- Update to 143.0.7499.40
* High CVE-2025-13630: Type Confusion in V8
* High CVE-2025-13631: Inappropriate implementation in Google Updater
* High CVE-2025-13632: Inappropriate implementation in DevTools
* High CVE-2025-13633: Use after free in Digital Credentials
* Medium CVE-2025-13634: Inappropriate implementation in Downloads
* Medium CVE-2025-13720: Bad cast in Loader
* Medium CVE-2025-13721: Race in v8
* Low CVE-2025-13635: Inappropriate implementation in Downloads
* Low CVE-2025-13636: Inappropriate implementation in Split View
* Low CVE-2025-13637: Inappropriate implementation in Downloads
* Low CVE-2025-13638: Use after free in Media Stream
* Low CVE-2025-13639: Inappropriate implementation in WebRTC
* Low CVE-2025-13640: Inappropriate implementation in Passwords
* Mon Dec 01 2025 LuK1337 <priv.luk@gmail.com> - 142.0.7444.175-5
- Backport one more Wayland DnD bug fix from upstream
* Mon Nov 24 2025 Than Ngo <than@redhat.com> - 142.0.7444.175-4
- Enable system libcxx
- Fix link error when building with system libcxx
- Apply memory-allocator-dcheck-assert-fix for aarch64
* Thu Nov 20 2025 LuK1337 <priv.luk@gmail.com> - 142.0.7444.175-3
- Backport Wayland DnD bug fix from upstream
* Wed Nov 19 2025 Than Ngo <than@redhat.com> - 142.0.7444.175-2
- Fix typos in chromium.conf

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/third_party/dawn/src/dawn/common/Platform.h
Index: chromium-144.0.7559.59/third_party/dawn/src/dawn/common/Platform.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/dawn/src/dawn/common/Platform.h
+++ chromium-140.0.7339.41/third_party/dawn/src/dawn/common/Platform.h
--- chromium-144.0.7559.59.orig/third_party/dawn/src/dawn/common/Platform.h
+++ chromium-144.0.7559.59/third_party/dawn/src/dawn/common/Platform.h
@@ -163,10 +163,12 @@
#elif defined(__s390x__)
#define DAWN_PLATFORM_IS_S390X 1

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/third_party/breakpad/BUILD.gn
Index: chromium-144.0.7559.59/third_party/breakpad/BUILD.gn
===================================================================
--- chromium-140.0.7339.41.orig/third_party/breakpad/BUILD.gn
+++ chromium-140.0.7339.41/third_party/breakpad/BUILD.gn
--- chromium-144.0.7559.59.orig/third_party/breakpad/BUILD.gn
+++ chromium-144.0.7559.59/third_party/breakpad/BUILD.gn
@@ -804,7 +804,6 @@ if (is_linux || is_chromeos || is_androi
"breakpad/src/client/minidump_file_writer.h",
"breakpad/src/common/convert_UTF.cc",

View file

@ -1,12 +0,0 @@
Index: chromium-140.0.7339.41/build/config/BUILDCONFIG.gn
===================================================================
--- chromium-140.0.7339.41.orig/build/config/BUILDCONFIG.gn
+++ chromium-140.0.7339.41/build/config/BUILDCONFIG.gn
@@ -138,7 +138,6 @@ declare_args() {
# Set to true when compiling with the Clang compiler.
is_clang = current_os != "linux" ||
(current_cpu != "s390x" && current_cpu != "s390" &&
- current_cpu != "ppc64" && current_cpu != "ppc" &&
current_cpu != "mips" && current_cpu != "mips64" &&
current_cpu != "riscv64")

View file

@ -24,11 +24,11 @@ inconsistency in data layouts when targeting this particular platform.
The error reported by the linker is not technically an error, however, only
a warning goosed up by a --fatal-warnings flag.
Index: chromium-140.0.7339.41/build/config/compiler/BUILD.gn
Index: chromium-144.0.7559.59/build/config/compiler/BUILD.gn
===================================================================
--- chromium-140.0.7339.41.orig/build/config/compiler/BUILD.gn
+++ chromium-140.0.7339.41/build/config/compiler/BUILD.gn
@@ -455,7 +455,7 @@ config("compiler") {
--- chromium-144.0.7559.59.orig/build/config/compiler/BUILD.gn
+++ chromium-144.0.7559.59/build/config/compiler/BUILD.gn
@@ -470,7 +470,7 @@ config("compiler") {
# Linker warnings.
if (fatal_linker_warnings && !is_apple && current_os != "aix" &&

View file

@ -1,7 +1,7 @@
Index: chromium-140.0.7339.41/base/allocator/dispatcher/tls.h
Index: chromium-144.0.7559.59/base/allocator/dispatcher/tls.h
===================================================================
--- chromium-140.0.7339.41.orig/base/allocator/dispatcher/tls.h
+++ chromium-140.0.7339.41/base/allocator/dispatcher/tls.h
--- chromium-144.0.7559.59.orig/base/allocator/dispatcher/tls.h
+++ chromium-144.0.7559.59/base/allocator/dispatcher/tls.h
@@ -88,6 +88,8 @@ struct BASE_EXPORT MMapAllocator {
constexpr static size_t AllocationChunkSize = 16384;
#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)
@ -11,11 +11,11 @@ Index: chromium-140.0.7339.41/base/allocator/dispatcher/tls.h
#else
constexpr static size_t AllocationChunkSize = 4096;
#endif
Index: chromium-140.0.7339.41/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h
Index: chromium-144.0.7559.59/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h
===================================================================
--- chromium-140.0.7339.41.orig/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h
+++ chromium-140.0.7339.41/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h
@@ -397,7 +397,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxDir
--- chromium-144.0.7559.59.orig/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h
+++ chromium-144.0.7559.59/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h
@@ -399,7 +399,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxDir
// TODO(casey.smalley@arm.com): under 64k pages we can end up in a situation
// where a normal slot span will be large enough to contain multiple items,
// but the address will go over the final partition page after being aligned.

View file

@ -1,10 +1,10 @@
kIndex: chromium-114.0.5735.45/base/allocator/partition_allocator/partition_alloc.gni
===================================================================
Index: chromium-140.0.7339.41/base/allocator/partition_allocator/partition_alloc.gni
Index: chromium-144.0.7559.59/base/allocator/partition_allocator/partition_alloc.gni
===================================================================
--- chromium-140.0.7339.41.orig/base/allocator/partition_allocator/partition_alloc.gni
+++ chromium-140.0.7339.41/base/allocator/partition_allocator/partition_alloc.gni
@@ -66,7 +66,7 @@ is_clang_or_gcc = is_clang || !is_win
--- chromium-144.0.7559.59.orig/base/allocator/partition_allocator/partition_alloc.gni
+++ chromium-144.0.7559.59/base/allocator/partition_allocator/partition_alloc.gni
@@ -71,7 +71,7 @@ is_clang_or_gcc = is_clang || !is_win
# Whether 64-bit pointers are used.
# A static_assert in partition_alloc_config.h verifies that.
if (current_cpu == "x64" || current_cpu == "arm64" || current_cpu == "arm64e" ||

View file

@ -1,8 +1,8 @@
Index: chromium-140.0.7339.41/build/toolchain/gcc_toolchain.gni
Index: chromium-144.0.7559.59/build/toolchain/gcc_toolchain.gni
===================================================================
--- chromium-140.0.7339.41.orig/build/toolchain/gcc_toolchain.gni
+++ chromium-140.0.7339.41/build/toolchain/gcc_toolchain.gni
@@ -430,7 +430,13 @@ template("single_gcc_toolchain") {
--- chromium-144.0.7559.59.orig/build/toolchain/gcc_toolchain.gni
+++ chromium-144.0.7559.59/build/toolchain/gcc_toolchain.gni
@@ -415,7 +415,13 @@ template("single_gcc_toolchain") {
# -soname flag is not available on aix ld
soname_flag = "-Wl,-soname=\"$soname\""
}
@ -17,7 +17,7 @@ Index: chromium-140.0.7339.41/build/toolchain/gcc_toolchain.gni
# Generate a map file to be used for binary size analysis.
# Map file adds ~10% to the link time on a z620.
@@ -542,7 +548,13 @@ template("single_gcc_toolchain") {
@@ -527,7 +533,13 @@ template("single_gcc_toolchain") {
whole_archive_flag = "-Wl,--whole-archive"
no_whole_archive_flag = "-Wl,--no-whole-archive"
}

View file

@ -1,7 +1,10 @@
diff -up chromium-141.0.7390.37/build/config/rust.gni.fix-rustc chromium-141.0.7390.37/build/config/rust.gni
--- chromium-141.0.7390.37/build/config/rust.gni.fix-rustc 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/build/config/rust.gni 2025-09-28 10:23:04.982735749 +0200
@@ -179,6 +179,9 @@ rust_abi_target = ""
author: Andres Salomon <dilinger@debian.org>
description: allow ppc64le to build by using proper rustc target
Index: chromium-144.0.7559.59/build/config/rust.gni
===================================================================
--- chromium-144.0.7559.59.orig/build/config/rust.gni
+++ chromium-144.0.7559.59/build/config/rust.gni
@@ -186,6 +186,9 @@ rust_abi_target = ""
if (is_linux || is_chromeos) {
if (current_cpu == "arm64") {
rust_abi_target = "aarch64-unknown-linux-gnu"

View file

@ -1,8 +1,8 @@
Index: chromium-140.0.7339.41/components/variations/proto/study.proto
Index: chromium-144.0.7559.59/components/variations/proto/study.proto
===================================================================
--- chromium-140.0.7339.41.orig/components/variations/proto/study.proto
+++ chromium-140.0.7339.41/components/variations/proto/study.proto
@@ -262,6 +262,9 @@ message Study {
--- chromium-144.0.7559.59.orig/components/variations/proto/study.proto
+++ chromium-144.0.7559.59/components/variations/proto/study.proto
@@ -293,6 +293,9 @@ message Study {
// A Mac-only value, indicating an x86-64 binary running on an arm64 host
// via "Rosetta 2" binary translation.
TRANSLATED_X86_64 = 4;
@ -12,11 +12,11 @@ Index: chromium-140.0.7339.41/components/variations/proto/study.proto
}
// Enum to pass as optional bool.
Index: chromium-140.0.7339.41/components/variations/service/variations_field_trial_creator.cc
Index: chromium-144.0.7559.59/components/variations/service/variations_field_trial_creator.cc
===================================================================
--- chromium-140.0.7339.41.orig/components/variations/service/variations_field_trial_creator.cc
+++ chromium-140.0.7339.41/components/variations/service/variations_field_trial_creator.cc
@@ -105,6 +105,9 @@ Study::CpuArchitecture GetCurrentCpuArch
--- chromium-144.0.7559.59.orig/components/variations/service/variations_field_trial_creator.cc
+++ chromium-144.0.7559.59/components/variations/service/variations_field_trial_creator.cc
@@ -108,6 +108,9 @@ Study::CpuArchitecture GetCurrentCpuArch
if (process_arch == "x86") {
return Study::X86_32;
}

View file

@ -1,8 +1,8 @@
Index: chromium-140.0.7339.41/build/config/compiler/BUILD.gn
Index: chromium-144.0.7559.59/build/config/compiler/BUILD.gn
===================================================================
--- chromium-140.0.7339.41.orig/build/config/compiler/BUILD.gn
+++ chromium-140.0.7339.41/build/config/compiler/BUILD.gn
@@ -2086,7 +2086,9 @@ config("default_warnings") {
--- chromium-144.0.7559.59.orig/build/config/compiler/BUILD.gn
+++ chromium-144.0.7559.59/build/config/compiler/BUILD.gn
@@ -2129,7 +2129,9 @@ config("default_warnings") {
# Don't warn about "maybe" uninitialized. Clang doesn't include this
# in -Wall but gcc does, and it gives false positives.
@ -13,7 +13,7 @@ Index: chromium-140.0.7339.41/build/config/compiler/BUILD.gn
cflags += [ "-Wno-deprecated-declarations" ]
# -Wcomment gives too many false positives in the case a
@@ -2097,7 +2099,9 @@ config("default_warnings") {
@@ -2140,7 +2142,9 @@ config("default_warnings") {
# -Wpacked-not-aligned complains all generated mojom-shared-internal.h
# files.

View file

@ -1,4 +1,4 @@
From 1915558377f7dc194ff2238c79b70ceacd88f474 Mon Sep 17 00:00:00 2001
From c82dcae326090d3b7e31694a7e229f536ead56b7 Mon Sep 17 00:00:00 2001
From: Ryan Gonzalez <rymg19@gmail.com>
Date: Tue, 17 Mar 2020 13:18:27 -0500
Subject: [PATCH] flatpak: Add initial sandbox support
@ -30,10 +30,10 @@ Subject: [PATCH] flatpak: Add initial sandbox support
create mode 100644 sandbox/linux/services/flatpak_sandbox.h
diff --git a/.gitignore b/.gitignore
index 375db3d02ce28..1eee661c2bed4 100644
index 22985d0edf211..62631942103f0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -75,6 +75,7 @@ vs-chromium-project.txt
@@ -79,6 +79,7 @@ vs-chromium-project.txt
/.android_emulator/
/.clangd/
/.clangd-index/
@ -42,10 +42,10 @@ index 375db3d02ce28..1eee661c2bed4 100644
/.externalToolBuilders/
/.settings/
diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h
index 56ddbc2d4fa33..736a06ab1d673 100644
index 7739b7379ba67..01d99a3ac5772 100644
--- a/base/threading/thread_restrictions.h
+++ b/base/threading/thread_restrictions.h
@@ -405,6 +405,9 @@ class ScopedAllowThreadJoinForWebRtcTransport;
@@ -410,6 +410,9 @@ class ScopedAllowThreadJoinForWebRtcTransport;
namespace rlz_lib {
class FinancialPing;
}
@ -63,7 +63,7 @@ index 56ddbc2d4fa33..736a06ab1d673 100644
friend class ui::DrmDisplayHostManager;
friend class ui::ScopedAllowBlockingForGbmSurface;
friend class ui::SelectFileDialogLinux;
@@ -783,6 +787,7 @@ class BASE_EXPORT ScopedAllowBaseSyncPrimitives {
@@ -780,6 +784,7 @@ class BASE_EXPORT ScopedAllowBaseSyncPrimitives {
friend class rlz_lib::FinancialPing;
friend class shell_integration_linux::
LaunchXdgUtilityScopedAllowBaseSyncPrimitives;
@ -125,10 +125,10 @@ index 1174a704b8126..e7fd738b705fb 100644
status & sandbox::policy::SandboxLinux::kNetNS;
// A second-layer sandbox is also required to be adequately sandboxed.
diff --git a/content/browser/child_process_host_impl.cc b/content/browser/child_process_host_impl.cc
index 583a386414590..c1cf93992da5b 100644
index 685af654e0832..cb2d7fb0966d1 100644
--- a/content/browser/child_process_host_impl.cc
+++ b/content/browser/child_process_host_impl.cc
@@ -46,6 +46,7 @@
@@ -37,6 +37,7 @@
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#include "base/linux_util.h"
@ -136,7 +136,7 @@ index 583a386414590..c1cf93992da5b 100644
#elif BUILDFLAG(IS_MAC)
#include "base/apple/foundation_util.h"
#include "content/browser/mac_helpers.h"
@@ -72,7 +73,12 @@ base::FilePath ChildProcessHost::GetChildPath(int flags) {
@@ -62,7 +63,12 @@ base::FilePath ChildProcessHost::GetChildPath(int flags) {
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
// Use /proc/self/exe rather than our known binary path so updates
// can't swap out the binary from underneath us.
@ -151,10 +151,10 @@ index 583a386414590..c1cf93992da5b 100644
}
#endif
diff --git a/content/browser/zygote_host/zygote_host_impl_linux.cc b/content/browser/zygote_host/zygote_host_impl_linux.cc
index e84c86a30d504..595a469c765a6 100644
index 5707dd93fd5e9..c87e1248171cf 100644
--- a/content/browser/zygote_host/zygote_host_impl_linux.cc
+++ b/content/browser/zygote_host/zygote_host_impl_linux.cc
@@ -17,6 +17,7 @@
@@ -13,6 +13,7 @@
#include "base/logging.h"
#include "base/posix/unix_domain_socket.h"
#include "base/process/kill.h"
@ -162,7 +162,7 @@ index e84c86a30d504..595a469c765a6 100644
#include "base/process/memory.h"
#include "base/strings/string_number_conversions.h"
#include "base/types/fixed_array.h"
@@ -26,6 +27,7 @@
@@ -22,6 +23,7 @@
#include "content/common/zygote/zygote_handle_impl_linux.h"
#include "content/public/common/zygote/zygote_handle.h"
#include "sandbox/linux/services/credentials.h"
@ -170,7 +170,7 @@ index e84c86a30d504..595a469c765a6 100644
#include "sandbox/linux/services/namespace_sandbox.h"
#include "sandbox/linux/suid/client/setuid_sandbox_host.h"
#include "sandbox/linux/suid/common/sandbox.h"
@@ -76,6 +78,7 @@ ZygoteHostImpl::ZygoteHostImpl()
@@ -72,6 +74,7 @@ ZygoteHostImpl::ZygoteHostImpl()
: use_namespace_sandbox_(false),
use_suid_sandbox_(false),
use_suid_sandbox_for_adj_oom_score_(false),
@ -178,7 +178,7 @@ index e84c86a30d504..595a469c765a6 100644
sandbox_binary_(),
zygote_pids_lock_(),
zygote_pids_() {}
@@ -114,9 +117,12 @@ void ZygoteHostImpl::Init(const base::CommandLine& command_line) {
@@ -110,9 +113,12 @@ void ZygoteHostImpl::Init(const base::CommandLine& command_line) {
sandbox_binary_ = setuid_sandbox_host->GetSandboxBinaryPath().value();
}
@ -194,7 +194,7 @@ index e84c86a30d504..595a469c765a6 100644
use_namespace_sandbox_ = true;
} else if (!command_line.HasSwitch(
sandbox::policy::switches::kDisableSetuidSandbox) &&
@@ -187,10 +193,16 @@ pid_t ZygoteHostImpl::LaunchZygote(
@@ -183,10 +189,16 @@ pid_t ZygoteHostImpl::LaunchZygote(
sandbox_host->SetupLaunchEnvironment();
}
@ -215,7 +215,7 @@ index e84c86a30d504..595a469c765a6 100644
CHECK(process.IsValid()) << "Failed to launch zygote process";
dummy_fd.reset();
@@ -199,7 +211,8 @@ pid_t ZygoteHostImpl::LaunchZygote(
@@ -195,7 +207,8 @@ pid_t ZygoteHostImpl::LaunchZygote(
pid_t pid = process.Pid();
@ -225,7 +225,7 @@ index e84c86a30d504..595a469c765a6 100644
// The namespace and SUID sandbox will execute the zygote in a new
// PID namespace, and the main zygote process will then fork from
// there. Watch now our elaborate dance to find and validate the
@@ -227,7 +240,11 @@ pid_t ZygoteHostImpl::LaunchZygote(
@@ -223,7 +236,11 @@ pid_t ZygoteHostImpl::LaunchZygote(
if (real_pid != pid) {
// Reap the sandbox.
@ -238,7 +238,7 @@ index e84c86a30d504..595a469c765a6 100644
}
pid = real_pid;
}
@@ -278,6 +295,10 @@ void ZygoteHostImpl::AdjustRendererOOMScore(base::ProcessHandle pid,
@@ -274,6 +291,10 @@ void ZygoteHostImpl::AdjustRendererOOMScore(base::ProcessHandle pid,
selinux_valid = true;
}
@ -262,10 +262,10 @@ index 8ef884a7db6f4..f441900dd6343 100644
// This lock protects the |zygote_pids_| set.
diff --git a/content/zygote/zygote_linux.cc b/content/zygote/zygote_linux.cc
index f2c3b43281d53..9f3f3f6b1bc12 100644
index c90abfaf2e346..5b9cb3e1bd313 100644
--- a/content/zygote/zygote_linux.cc
+++ b/content/zygote/zygote_linux.cc
@@ -126,7 +126,7 @@ bool Zygote::ProcessRequests() {
@@ -122,7 +122,7 @@ bool Zygote::ProcessRequests() {
PCHECK(sigaddset(&sigset, SIGCHLD) == 0);
PCHECK(sigprocmask(SIG_BLOCK, &sigset, &orig_sigmask) == 0);
@ -274,7 +274,7 @@ index f2c3b43281d53..9f3f3f6b1bc12 100644
// Let the ZygoteHost know we are ready to go.
// The receiving code is in
// content/browser/zygote_host/zygote_host_impl_linux.cc.
@@ -231,6 +231,10 @@ bool Zygote::UsingNSSandbox() const {
@@ -227,6 +227,10 @@ bool Zygote::UsingNSSandbox() const {
return sandbox_flags_ & sandbox::policy::SandboxLinux::kUserNS;
}
@ -362,10 +362,10 @@ index c7ee91878e6dd..9c2c7a04bd968 100644
base::GlobalDescriptors::Descriptor(
static_cast<uint32_t>(kSandboxIPCChannel), GetSandboxFD()));
diff --git a/sandbox/linux/BUILD.gn b/sandbox/linux/BUILD.gn
index 4eac178764a41..8bd0de35f246f 100644
index 478194aaf43a8..c97710907565e 100644
--- a/sandbox/linux/BUILD.gn
+++ b/sandbox/linux/BUILD.gn
@@ -309,6 +309,10 @@ if (is_linux || is_chromeos) {
@@ -303,6 +303,10 @@ if (is_linux || is_chromeos) {
component("sandbox_services") {
sources = [
@ -376,7 +376,7 @@ index 4eac178764a41..8bd0de35f246f 100644
"services/init_process_reaper.cc",
"services/init_process_reaper.h",
"services/proc_util.cc",
@@ -327,8 +331,10 @@ component("sandbox_services") {
@@ -321,8 +325,10 @@ component("sandbox_services") {
defines = [ "SANDBOX_IMPLEMENTATION" ]
@ -506,7 +506,7 @@ index 0000000000000..22799eb42f782
+#endif
diff --git a/sandbox/linux/services/flatpak_sandbox.cc b/sandbox/linux/services/flatpak_sandbox.cc
new file mode 100644
index 0000000000000..b5da5a5801fde
index 0000000000000..c854f32b185a3
--- /dev/null
+++ b/sandbox/linux/services/flatpak_sandbox.cc
@@ -0,0 +1,576 @@
@ -756,7 +756,7 @@ index 0000000000000..b5da5a5801fde
+ options.connection_type = dbus::Bus::PRIVATE;
+ options.dbus_task_runner = base::SequencedTaskRunner::GetCurrentDefault();
+
+ return base::MakeRefCounted<dbus::Bus>(options);
+ return base::MakeRefCounted<dbus::Bus>(std::move(options));
+ }());
+
+ return bus->get();
@ -1211,10 +1211,10 @@ index 0000000000000..167bbc85945ad
+
+#endif // SANDBOX_LINUX_SERVICES_FLATPAK_SANDBOX_H_
diff --git a/sandbox/policy/BUILD.gn b/sandbox/policy/BUILD.gn
index 793c68d50e59f..b44c986fd72ab 100644
index 1a3c7c6cf8b15..4c1b121160df6 100644
--- a/sandbox/policy/BUILD.gn
+++ b/sandbox/policy/BUILD.gn
@@ -114,6 +114,9 @@ component("policy") {
@@ -118,6 +118,9 @@ component("policy") {
"//sandbox/linux:suid_sandbox_client",
]
}
@ -1225,10 +1225,10 @@ index 793c68d50e59f..b44c986fd72ab 100644
sources += [
"linux/bpf_ime_policy_linux.cc",
diff --git a/sandbox/policy/linux/sandbox_linux.cc b/sandbox/policy/linux/sandbox_linux.cc
index 427604b2b8a00..7384c01cc9123 100644
index 714cb2e115b84..e85a3fb68ee90 100644
--- a/sandbox/policy/linux/sandbox_linux.cc
+++ b/sandbox/policy/linux/sandbox_linux.cc
@@ -36,6 +36,7 @@
@@ -35,6 +35,7 @@
#include "sandbox/constants.h"
#include "sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.h"
#include "sandbox/linux/services/credentials.h"
@ -1236,7 +1236,7 @@ index 427604b2b8a00..7384c01cc9123 100644
#include "sandbox/linux/services/libc_interceptor.h"
#include "sandbox/linux/services/namespace_sandbox.h"
#include "sandbox/linux/services/proc_util.h"
@@ -231,6 +232,9 @@ void SandboxLinux::PreinitializeSandbox() {
@@ -220,6 +221,9 @@ void SandboxLinux::PreinitializeSandbox() {
const int yama_status = Yama::GetStatus();
yama_is_enforcing_ = (yama_status & Yama::STATUS_PRESENT) &&
(yama_status & Yama::STATUS_ENFORCING);
@ -1246,7 +1246,7 @@ index 427604b2b8a00..7384c01cc9123 100644
pre_initialized_ = true;
}
@@ -269,6 +273,10 @@ int SandboxLinux::GetStatus() {
@@ -258,6 +262,10 @@ int SandboxLinux::GetStatus() {
sandbox_status_flags_ |= kPIDNS;
if (NamespaceSandbox::InNewNetNamespace())
sandbox_status_flags_ |= kNetNS;
@ -1256,9 +1256,9 @@ index 427604b2b8a00..7384c01cc9123 100644
+ sandbox_status_flags_ |= kFlatpak | kPIDNS | kNetNS;
}
// We report whether the sandbox will be activated when renderers, workers
// We report whether the sandbox will be activated when renderers and
diff --git a/sandbox/policy/linux/sandbox_linux.h b/sandbox/policy/linux/sandbox_linux.h
index 0e4f78b9e6cb7..91b638d8a96e0 100644
index 76e20d21b71d3..3339b852fc948 100644
--- a/sandbox/policy/linux/sandbox_linux.h
+++ b/sandbox/policy/linux/sandbox_linux.h
@@ -13,6 +13,7 @@
@ -1279,7 +1279,7 @@ index 0e4f78b9e6cb7..91b638d8a96e0 100644
// A flag that denotes an invalid sandbox status.
kInvalid = 1 << 31,
};
@@ -292,6 +296,10 @@ class SANDBOX_POLICY_EXPORT SandboxLinux {
@@ -289,6 +293,10 @@ class SANDBOX_POLICY_EXPORT SandboxLinux {
bool seccomp_bpf_with_tsync_supported_; // Accurate if pre_initialized_.
bool yama_is_enforcing_; // Accurate if pre_initialized_.
bool initialize_sandbox_ran_; // InitializeSandbox() was called.
@ -1291,10 +1291,10 @@ index 0e4f78b9e6cb7..91b638d8a96e0 100644
#if BUILDFLAG(USING_SANITIZER)
std::unique_ptr<__sanitizer_sandbox_arguments> sanitizer_args_;
diff --git a/services/service_manager/service_process_launcher.cc b/services/service_manager/service_process_launcher.cc
index bb99780fb878d..4dcdee34d2338 100644
index 60484255e653b..797f3b9ad6cd8 100644
--- a/services/service_manager/service_process_launcher.cc
+++ b/services/service_manager/service_process_launcher.cc
@@ -40,6 +40,7 @@
@@ -41,6 +41,7 @@
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@ -1302,7 +1302,7 @@ index bb99780fb878d..4dcdee34d2338 100644
#include "sandbox/linux/services/namespace_sandbox.h"
#endif
@@ -285,8 +286,15 @@ void ServiceProcessLauncher::ProcessState::StopInBackground() {
@@ -286,8 +287,15 @@ void ServiceProcessLauncher::ProcessState::StopInBackground() {
return;
int rv = -1;
@ -1321,5 +1321,5 @@ index bb99780fb878d..4dcdee34d2338 100644
}
--
2.47.1
2.51.2

View file

@ -1,4 +1,4 @@
From e7fd5c3a43aed07cf0a1561c408b631090be8374 Mon Sep 17 00:00:00 2001
From 4cf3b38a276a3963a356d22ffa01b1ca07c686ee Mon Sep 17 00:00:00 2001
From: Ryan Gonzalez <rymg19@gmail.com>
Date: Tue, 25 Aug 2020 19:26:07 -0500
Subject: [PATCH] flatpak: Adjust paths for the sandbox
@ -9,10 +9,10 @@ Subject: [PATCH] flatpak: Adjust paths for the sandbox
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
index 40e1d1c431dd0..e4a19c80e1afc 100644
index 45a080086dfd8..ef631e6ad5f80 100644
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -621,6 +621,10 @@ static_library("constants") {
@@ -614,6 +614,10 @@ static_library("constants") {
"//third_party/widevine/cdm:headers",
]
}
@ -24,10 +24,10 @@ index 40e1d1c431dd0..e4a19c80e1afc 100644
# Use a static library here because many test binaries depend on this but don't
diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc
index 6476c59ba6378..9f1b950b14adc 100644
index 9c4d73b730baa..318d3eef58979 100644
--- a/chrome/common/chrome_paths.cc
+++ b/chrome/common/chrome_paths.cc
@@ -38,6 +38,10 @@
@@ -39,6 +39,10 @@
#include "base/win/registry.h"
#endif
@ -38,7 +38,7 @@ index 6476c59ba6378..9f1b950b14adc 100644
#if BUILDFLAG(ENABLE_WIDEVINE)
#include "third_party/widevine/cdm/widevine_cdm_common.h" // nogncheck
#endif
@@ -502,6 +506,14 @@ bool PathProvider(int key, base::FilePath* result) {
@@ -407,6 +411,14 @@ bool PathProvider(int key, base::FilePath* result) {
#endif
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_OPENBSD)
case chrome::DIR_POLICY_FILES: {
@ -53,7 +53,7 @@ index 6476c59ba6378..9f1b950b14adc 100644
cur = base::FilePath(policy::kPolicyPath);
break;
}
@@ -518,7 +530,13 @@ bool PathProvider(int key, base::FilePath* result) {
@@ -423,7 +435,13 @@ bool PathProvider(int key, base::FilePath* result) {
#endif
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: {
@ -68,7 +68,7 @@ index 6476c59ba6378..9f1b950b14adc 100644
break;
}
#endif
@@ -565,6 +583,12 @@ bool PathProvider(int key, base::FilePath* result) {
@@ -471,6 +489,12 @@ bool PathProvider(int key, base::FilePath* result) {
"/Library/Application Support/Chromium/NativeMessagingHosts"));
#endif
#else // BUILDFLAG(IS_MAC)
@ -82,5 +82,5 @@ index 6476c59ba6378..9f1b950b14adc 100644
cur = base::FilePath(
FILE_PATH_LITERAL("/etc/opt/chrome/native-messaging-hosts"));
--
2.47.1
2.51.2

View file

@ -1,4 +1,4 @@
From c5330fa947e1db2db4055994e0da993620f2b5ef Mon Sep 17 00:00:00 2001
From 895ee4ca3d52eee03c9604465ad5e90591969d64 Mon Sep 17 00:00:00 2001
From: Ryan Gonzalez <rymg19@gmail.com>
Date: Tue, 17 Nov 2020 13:00:39 -0600
Subject: [PATCH] flatpak: Expose Widevine into the sandbox
@ -10,12 +10,12 @@ Subject: [PATCH] flatpak: Expose Widevine into the sandbox
3 files changed, 131 insertions(+), 24 deletions(-)
diff --git a/content/browser/zygote_host/zygote_host_impl_linux.cc b/content/browser/zygote_host/zygote_host_impl_linux.cc
index 595a469c765a6..56cbbb33addde 100644
index c87e1248171cf..11f17a19ff949 100644
--- a/content/browser/zygote_host/zygote_host_impl_linux.cc
+++ b/content/browser/zygote_host/zygote_host_impl_linux.cc
@@ -14,7 +14,10 @@
#include <sys/types.h>
@@ -10,7 +10,10 @@
#include "base/compiler_specific.h"
#include "base/files/file_enumerator.h"
+#include "base/files/file_util.h"
#include "base/logging.h"
@ -24,7 +24,7 @@ index 595a469c765a6..56cbbb33addde 100644
#include "base/posix/unix_domain_socket.h"
#include "base/process/kill.h"
#include "base/process/launch.h"
@@ -22,9 +25,12 @@
@@ -18,9 +21,12 @@
#include "base/strings/string_number_conversions.h"
#include "base/types/fixed_array.h"
#include "build/build_config.h"
@ -37,7 +37,7 @@ index 595a469c765a6..56cbbb33addde 100644
#include "content/public/common/zygote/zygote_handle.h"
#include "sandbox/linux/services/credentials.h"
#include "sandbox/linux/services/flatpak_sandbox.h"
@@ -33,6 +39,7 @@
@@ -29,6 +35,7 @@
#include "sandbox/linux/suid/common/sandbox.h"
#include "sandbox/policy/linux/sandbox_linux.h"
#include "sandbox/policy/switches.h"
@ -45,7 +45,7 @@ index 595a469c765a6..56cbbb33addde 100644
#if BUILDFLAG(IS_CHROMEOS)
#include "content/common/zygote/zygote_communication_linux.h"
@@ -197,8 +204,51 @@ pid_t ZygoteHostImpl::LaunchZygote(
@@ -193,8 +200,51 @@ pid_t ZygoteHostImpl::LaunchZygote(
if (is_sandboxed_zygote && use_namespace_sandbox_) {
process = sandbox::NamespaceSandbox::LaunchProcess(*cmd_line, options);
} else if (is_sandboxed_zygote && use_flatpak_sandbox_) {
@ -100,7 +100,7 @@ index 595a469c765a6..56cbbb33addde 100644
process = base::LaunchProcess(*cmd_line, options);
}
diff --git a/sandbox/linux/services/flatpak_sandbox.cc b/sandbox/linux/services/flatpak_sandbox.cc
index b5da5a5801fde..7c9205e7bf602 100644
index c854f32b185a3..bcfd8df2e3cb5 100644
--- a/sandbox/linux/services/flatpak_sandbox.cc
+++ b/sandbox/linux/services/flatpak_sandbox.cc
@@ -4,6 +4,7 @@
@ -322,5 +322,5 @@ index 167bbc85945ad..de8e7165b4573 100644
base::WaitableEvent* event,
dbus::Response* response,
--
2.47.1
2.51.2

View file

@ -1,8 +1,8 @@
Index: chromium-140.0.7339.41/third_party/skia/BUILD.gn
Index: chromium-144.0.7559.59/third_party/skia/BUILD.gn
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/BUILD.gn
+++ chromium-140.0.7339.41/third_party/skia/BUILD.gn
@@ -188,6 +188,12 @@ opts("lasx") {
--- chromium-144.0.7559.59.orig/third_party/skia/BUILD.gn
+++ chromium-144.0.7559.59/third_party/skia/BUILD.gn
@@ -199,6 +199,12 @@ opts("lasx") {
cflags = [ "-mlasx" ]
}
@ -15,7 +15,7 @@ Index: chromium-140.0.7339.41/third_party/skia/BUILD.gn
# Any feature of Skia that requires third-party code should be optional and use this template.
template("optional") {
if (invoker.enabled) {
@@ -1694,6 +1700,7 @@ skia_component("skia") {
@@ -1700,6 +1706,7 @@ skia_component("skia") {
":skx",
":typeface_fontations",
":vello",
@ -23,11 +23,11 @@ Index: chromium-140.0.7339.41/third_party/skia/BUILD.gn
":webp_decode",
":wuffs",
":xml",
Index: chromium-140.0.7339.41/third_party/skia/gn/skia/BUILD.gn
Index: chromium-144.0.7559.59/third_party/skia/gn/skia/BUILD.gn
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/gn/skia/BUILD.gn
+++ chromium-140.0.7339.41/third_party/skia/gn/skia/BUILD.gn
@@ -152,6 +152,8 @@ config("default") {
--- chromium-144.0.7559.59.orig/third_party/skia/gn/skia/BUILD.gn
+++ chromium-144.0.7559.59/third_party/skia/gn/skia/BUILD.gn
@@ -142,6 +142,8 @@ config("default") {
"-mfpmath=sse",
]
ldflags += [ "-m32" ]
@ -36,10 +36,10 @@ Index: chromium-140.0.7339.41/third_party/skia/gn/skia/BUILD.gn
} else if (current_cpu == "loong64") {
cflags += [
"-mlsx",
Index: chromium-140.0.7339.41/third_party/skia/include/core/SkTypes.h
Index: chromium-144.0.7559.59/third_party/skia/include/core/SkTypes.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/include/core/SkTypes.h
+++ chromium-140.0.7339.41/third_party/skia/include/core/SkTypes.h
--- chromium-144.0.7559.59.orig/third_party/skia/include/core/SkTypes.h
+++ chromium-144.0.7559.59/third_party/skia/include/core/SkTypes.h
@@ -198,4 +198,43 @@ static constexpr uint32_t SK_InvalidGenI
*/
static constexpr uint32_t SK_InvalidUniqueID = 0;
@ -84,10 +84,10 @@ Index: chromium-140.0.7339.41/third_party/skia/include/core/SkTypes.h
+#endif
+
#endif
Index: chromium-140.0.7339.41/third_party/skia/src/base/SkSpinlock.cpp
Index: chromium-144.0.7559.59/third_party/skia/src/base/SkSpinlock.cpp
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/src/base/SkSpinlock.cpp
+++ chromium-140.0.7339.41/third_party/skia/src/base/SkSpinlock.cpp
--- chromium-144.0.7559.59.orig/third_party/skia/src/base/SkSpinlock.cpp
+++ chromium-144.0.7559.59/third_party/skia/src/base/SkSpinlock.cpp
@@ -33,7 +33,8 @@
#endif
@ -98,10 +98,10 @@ Index: chromium-140.0.7339.41/third_party/skia/src/base/SkSpinlock.cpp
#include <emmintrin.h>
static void do_pause() { _mm_pause(); }
#else
Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkBitmapProcState_opts.h
Index: chromium-144.0.7559.59/third_party/skia/src/opts/SkBitmapProcState_opts.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h
+++ chromium-140.0.7339.41/third_party/skia/src/opts/SkBitmapProcState_opts.h
--- chromium-144.0.7559.59.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h
+++ chromium-144.0.7559.59/third_party/skia/src/opts/SkBitmapProcState_opts.h
@@ -21,7 +21,13 @@
// The rest are scattershot at the moment but I want to get them
// all migrated to be normal code inside SkBitmapProcState.cpp.
@ -117,10 +117,10 @@ Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkBitmapProcState_opts.h
#include <immintrin.h>
#elif defined(SK_ARM_HAS_NEON)
#include <arm_neon.h>
Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkBlitRow_opts.h
Index: chromium-144.0.7559.59/third_party/skia/src/opts/SkBlitRow_opts.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/src/opts/SkBlitRow_opts.h
+++ chromium-140.0.7339.41/third_party/skia/src/opts/SkBlitRow_opts.h
--- chromium-144.0.7559.59.orig/third_party/skia/src/opts/SkBlitRow_opts.h
+++ chromium-144.0.7559.59/third_party/skia/src/opts/SkBlitRow_opts.h
@@ -69,7 +69,7 @@
#endif
@ -130,10 +130,10 @@ Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkBlitRow_opts.h
static inline __m128i SkPMSrcOver_SSE2(const __m128i& src, const __m128i& dst) {
__m128i scale = _mm_sub_epi32(_mm_set1_epi32(256),
Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkRasterPipeline_opts.h
Index: chromium-144.0.7559.59/third_party/skia/src/opts/SkRasterPipeline_opts.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h
+++ chromium-140.0.7339.41/third_party/skia/src/opts/SkRasterPipeline_opts.h
--- chromium-144.0.7559.59.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h
+++ chromium-144.0.7559.59/third_party/skia/src/opts/SkRasterPipeline_opts.h
@@ -1,5 +1,6 @@
/*
* Copyright 2018 Google Inc.
@ -394,7 +394,7 @@ Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkRasterPipeline_opts.h
// These platforms are ideal for wider stages, and their default ABI is ideal.
#define ABI
#define SKRP_NARROW_STAGES 0
@@ -5563,6 +5773,10 @@ SI F sqrt_(F x) {
@@ -5600,6 +5810,10 @@ SI F sqrt_(F x) {
float32x4_t lo,hi;
split(x, &lo,&hi);
return join<F>(sqrt(lo), sqrt(hi));
@ -405,7 +405,7 @@ Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkRasterPipeline_opts.h
#elif defined(SKRP_CPU_LASX)
__m256 lo,hi;
split(x, &lo,&hi);
@@ -5594,6 +5808,10 @@ SI F floor_(F x) {
@@ -5631,6 +5845,10 @@ SI F floor_(F x) {
__m128 lo,hi;
split(x, &lo,&hi);
return join<F>(_mm_floor_ps(lo), _mm_floor_ps(hi));
@ -416,7 +416,7 @@ Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkRasterPipeline_opts.h
#elif defined(SKRP_CPU_LASX)
__m256 lo,hi;
split(x, &lo,&hi);
@@ -5613,6 +5831,7 @@ SI F floor_(F x) {
@@ -5650,6 +5868,7 @@ SI F floor_(F x) {
// (2 * a * b + (1 << 15)) >> 16
// The result is a number on [-1, 1).
// Note: on neon this is a saturating multiply while the others are not.
@ -424,7 +424,7 @@ Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkRasterPipeline_opts.h
SI I16 scaled_mult(I16 a, I16 b) {
#if defined(SKRP_CPU_SKX)
return (I16)_mm256_mulhrs_epi16((__m256i)a, (__m256i)b);
@@ -5624,6 +5843,22 @@ SI I16 scaled_mult(I16 a, I16 b) {
@@ -5661,6 +5880,22 @@ SI I16 scaled_mult(I16 a, I16 b) {
return vqrdmulhq_s16(a, b);
#elif defined(SKRP_CPU_NEON)
return vqrdmulhq_s16(a, b);
@ -447,7 +447,7 @@ Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkRasterPipeline_opts.h
#elif defined(SKRP_CPU_LASX)
I16 res = __lasx_xvmuh_h(a, b);
return __lasx_xvslli_h(res, 1);
@@ -5651,7 +5886,26 @@ SI U16 constrained_add(I16 a, U16 b) {
@@ -5688,7 +5923,26 @@ SI U16 constrained_add(I16 a, U16 b) {
SkASSERT(-ib <= ia && ia <= 65535 - ib);
}
#endif
@ -474,7 +474,7 @@ Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkRasterPipeline_opts.h
}
SI F fract(F x) { return x - floor_(x); }
@@ -6707,8 +6961,14 @@ LOWP_STAGE_GP(bilerp_clamp_8888, const S
@@ -6744,8 +6998,14 @@ LOWP_STAGE_GP(bilerp_clamp_8888, const S
// 2^-8 * v = 2^-9 * (tx*(R - L) + (R + L))
// v = 1/2 * (tx*(R - L) + (R + L))
auto lerpX = [&](U16 left, U16 right) -> U16 {
@ -489,7 +489,7 @@ Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkRasterPipeline_opts.h
// The constrained_add is the most subtle part of lerp. The first term is on the interval
// [-1, 1), and the second term is on the interval is on the interval [0, 1) because
// both terms are too high by a factor of 2 which will be handled below. (Both R and L are
@@ -6720,7 +6980,12 @@ LOWP_STAGE_GP(bilerp_clamp_8888, const S
@@ -6757,7 +7017,12 @@ LOWP_STAGE_GP(bilerp_clamp_8888, const S
U16 v2 = constrained_add(scaled_mult(tx, width), middle) + 1;
// Divide by 2 to calculate v and at the same time bring the intermediate value onto the
// interval [0, 1/2] to set up for the lerpY.
@ -502,7 +502,7 @@ Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkRasterPipeline_opts.h
};
const uint32_t* ptr;
@@ -6754,9 +7019,15 @@ LOWP_STAGE_GP(bilerp_clamp_8888, const S
@@ -6791,9 +7056,15 @@ LOWP_STAGE_GP(bilerp_clamp_8888, const S
I16 width = (I16)bottom - (I16)top;
U16 middle = bottom + top;
// Add + 0x80 for rounding.
@ -519,10 +519,10 @@ Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkRasterPipeline_opts.h
};
r = lerpY(topR, bottomR);
Index: chromium-140.0.7339.41/third_party/skia/src/base/SkVx.h
Index: chromium-144.0.7559.59/third_party/skia/src/base/SkVx.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/src/base/SkVx.h
+++ chromium-140.0.7339.41/third_party/skia/src/base/SkVx.h
--- chromium-144.0.7559.59.orig/third_party/skia/src/base/SkVx.h
+++ chromium-144.0.7559.59/third_party/skia/src/base/SkVx.h
@@ -41,7 +41,12 @@
#endif
@ -537,10 +537,10 @@ Index: chromium-140.0.7339.41/third_party/skia/src/base/SkVx.h
#include <immintrin.h>
#elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE41
#include <smmintrin.h>
Index: chromium-140.0.7339.41/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
Index: chromium-144.0.7559.59/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
+++ chromium-140.0.7339.41/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
--- chromium-144.0.7559.59.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
+++ chromium-144.0.7559.59/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
@@ -9,7 +9,7 @@
#include "src/core/SkBlitMask.h"
#include "src/core/SkOptsTargets.h"
@ -550,10 +550,10 @@ Index: chromium-140.0.7339.41/third_party/skia/src/core/SkBlitMask_opts_ssse3.cp
// The order of these includes is important:
// 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
Index: chromium-140.0.7339.41/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
Index: chromium-144.0.7559.59/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
+++ chromium-140.0.7339.41/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
--- chromium-144.0.7559.59.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
+++ chromium-144.0.7559.59/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
@@ -10,7 +10,7 @@
#include "src/core/SkOptsTargets.h"
#include "src/core/SkSwizzlePriv.h"
@ -563,10 +563,10 @@ Index: chromium-140.0.7339.41/third_party/skia/src/core/SkSwizzler_opts_ssse3.cp
!defined(SK_ENABLE_OPTIMIZE_SIZE) && \
SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
Index: chromium-140.0.7339.41/third_party/skia/src/core/SkBlitMask_opts.cpp
Index: chromium-144.0.7559.59/third_party/skia/src/core/SkBlitMask_opts.cpp
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/src/core/SkBlitMask_opts.cpp
+++ chromium-140.0.7339.41/third_party/skia/src/core/SkBlitMask_opts.cpp
--- chromium-144.0.7559.59.orig/third_party/skia/src/core/SkBlitMask_opts.cpp
+++ chromium-144.0.7559.59/third_party/skia/src/core/SkBlitMask_opts.cpp
@@ -25,7 +25,7 @@ namespace SkOpts {
static bool init() {
#if defined(SK_ENABLE_OPTIMIZE_SIZE)
@ -576,10 +576,10 @@ Index: chromium-140.0.7339.41/third_party/skia/src/core/SkBlitMask_opts.cpp
#if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BlitMask_ssse3(); }
#endif
Index: chromium-140.0.7339.41/third_party/skia/src/core/SkBitmapProcState_opts.cpp
Index: chromium-144.0.7559.59/third_party/skia/src/core/SkBitmapProcState_opts.cpp
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp
+++ chromium-140.0.7339.41/third_party/skia/src/core/SkBitmapProcState_opts.cpp
--- chromium-144.0.7559.59.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp
+++ chromium-144.0.7559.59/third_party/skia/src/core/SkBitmapProcState_opts.cpp
@@ -27,7 +27,7 @@ namespace SkOpts {
static bool init() {
#if defined(SK_ENABLE_OPTIMIZE_SIZE)
@ -589,10 +589,10 @@ Index: chromium-140.0.7339.41/third_party/skia/src/core/SkBitmapProcState_opts.c
#if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BitmapProcState_ssse3(); }
#endif
Index: chromium-140.0.7339.41/third_party/skia/src/core/SkCpu.h
Index: chromium-144.0.7559.59/third_party/skia/src/core/SkCpu.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/src/core/SkCpu.h
+++ chromium-140.0.7339.41/third_party/skia/src/core/SkCpu.h
--- chromium-144.0.7559.59.orig/third_party/skia/src/core/SkCpu.h
+++ chromium-144.0.7559.59/third_party/skia/src/core/SkCpu.h
@@ -60,7 +60,7 @@ inline bool SkCpu::Supports(uint32_t mas
// If we mask in compile-time known lower limits, the compiler can
@ -602,10 +602,10 @@ Index: chromium-140.0.7339.41/third_party/skia/src/core/SkCpu.h
#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1
features |= SSE1;
#endif
Index: chromium-140.0.7339.41/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
Index: chromium-144.0.7559.59/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
+++ chromium-140.0.7339.41/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
--- chromium-144.0.7559.59.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
+++ chromium-144.0.7559.59/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
@@ -8,7 +8,7 @@
#include "include/private/base/SkFeatures.h"
#include "src/core/SkOptsTargets.h"
@ -615,10 +615,10 @@ Index: chromium-140.0.7339.41/third_party/skia/src/core/SkBitmapProcState_opts_s
// The order of these includes is important:
// 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
Index: chromium-140.0.7339.41/third_party/skia/include/private/base/SkFeatures.h
Index: chromium-144.0.7559.59/third_party/skia/include/private/base/SkFeatures.h
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/include/private/base/SkFeatures.h
+++ chromium-140.0.7339.41/third_party/skia/include/private/base/SkFeatures.h
--- chromium-144.0.7559.59.orig/third_party/skia/include/private/base/SkFeatures.h
+++ chromium-144.0.7559.59/third_party/skia/include/private/base/SkFeatures.h
@@ -63,6 +63,8 @@
#if defined(__i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64)
@ -628,10 +628,10 @@ Index: chromium-140.0.7339.41/third_party/skia/include/private/base/SkFeatures.h
#endif
#if defined(__loongarch__) || defined (__loongarch64)
Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkSwizzler_opts.inc
Index: chromium-144.0.7559.59/third_party/skia/src/opts/SkSwizzler_opts.inc
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/src/opts/SkSwizzler_opts.inc
+++ chromium-140.0.7339.41/third_party/skia/src/opts/SkSwizzler_opts.inc
--- chromium-144.0.7559.59.orig/third_party/skia/src/opts/SkSwizzler_opts.inc
+++ chromium-144.0.7559.59/third_party/skia/src/opts/SkSwizzler_opts.inc
@@ -14,7 +14,10 @@
#include <cmath>
#include <utility>
@ -678,10 +678,10 @@ Index: chromium-140.0.7339.41/third_party/skia/src/opts/SkSwizzler_opts.inc
#elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 && (defined(__clang__) || !defined(_MSC_VER))
// -- SSE -- Harden against timing attacks -- MSVC is not supported.
using F4 = __m128;
Index: chromium-140.0.7339.41/third_party/skia/src/core/SkBlitter_ARGB32.cpp
Index: chromium-144.0.7559.59/third_party/skia/src/core/SkBlitter_ARGB32.cpp
===================================================================
--- chromium-140.0.7339.41.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp
+++ chromium-140.0.7339.41/third_party/skia/src/core/SkBlitter_ARGB32.cpp
--- chromium-144.0.7559.59.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp
+++ chromium-144.0.7559.59/third_party/skia/src/core/SkBlitter_ARGB32.cpp
@@ -129,6 +129,16 @@ static inline SkPMColor blend_lcd16_opaq
#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2
#include <emmintrin.h>

View file

@ -1,2 +1,2 @@
SHA512 (node-v22.14.0-stripped.tar.gz) = affddb541009c6d378049c2d7845b981335d9e7aa387efcc472e5efb621c345cd58ca69778a394f7e4ebbb5e4b1a115a389838ef1b6458ef5e98f2071b166e15
SHA512 (chromium-142.0.7444.175-clean.tar.xz) = 5840ab104f4993f4b7033cd2b5fdc3f468d8ac06f1477e643d4e70dbc42dcf15f2e4f60456dc568a3e15f8f3c8e365d332a9fcac3f9b7701fe88151b55d70d17
SHA512 (chromium-144.0.7559.59-clean.tar.xz) = 15c866cb35455daac4cbec3dc600966c13f4dff2a1665395fe1f6cc769f614c08cd5ff7819ff0838dcf1201ffc4a04f03ae0c32beed8e44eb8dca24c2fd7e042