public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/chromium] epel9-next: - Update to 146.0.7680.71
@ 2026-08-07 16:08 Than Ngo
0 siblings, 0 replies; only message in thread
From: Than Ngo @ 2026-08-07 16:08 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/chromium
Branch : epel9-next
Commit : a5ff546bd16249e626106b856cead4ba13674841
Author : Than Ngo <than@redhat.com>
Date : 2026-03-12T09:32:42+01:00
Stats : +582/-520 in 16 file(s)
URL : https://src.fedoraproject.org/rpms/chromium/c/a5ff546bd16249e626106b856cead4ba13674841?branch=epel9-next
Log:
- Update to 146.0.7680.71
* CVE-2026-3913: Heap buffer overflow in WebML
* CVE-2026-3914: Integer overflow in WebML
* CVE-2026-3915: Heap buffer overflow in WebML
* CVE-2026-3916: Out of bounds read in Web Speech
* CVE-2026-3917: Use after free in Agents
* CVE-2026-3918: Use after free in WebMCP
* CVE-2026-3919: Use after free in Extensions
* CVE-2026-3920: Out of bounds memory access in WebML
* CVE-2026-3921: Use after free in TextEncoding
* CVE-2026-3922: Use after free in MediaStream
* CVE-2026-3923: Use after free in WebMIDI
* CVE-2026-3924: Use after free in WindowDialog
* CVE-2026-3925: Incorrect security UI in LookalikeChecks
* CVE-2026-3926: Out of bounds read in V8
* CVE-2026-3927: Incorrect security UI in PictureInPicture
* CVE-2026-3928: Insufficient policy enforcement in Extensions
* CVE-2026-3929: Side-channel information leakage in ResourceTiming
* CVE-2026-3930: Unsafe navigation in Navigation
* CVE-2026-3931: Heap buffer overflow in Skia
* CVE-2026-3932: Insufficient policy enforcement in PDF
* CVE-2026-3934: Insufficient policy enforcement in ChromeDriver
* CVE-2026-3935: Incorrect security UI in WebAppInstalls
* CVE-2026-3936: Use after free in WebView
* CVE-2026-3937: Incorrect security UI in Downloads
* CVE-2026-3938: Insufficient policy enforcement in Clipboard
* CVE-2026-3939: Insufficient policy enforcement in PDF
* CVE-2026-3940: Insufficient policy enforcement in DevTools
* CVE-2026-3941: Insufficient policy enforcement in DevTools
* CVE-2026-3942: Incorrect security UI in PictureInPicture
- Fix build errors
- Refresh patches for new upstream changes
- Remove patches merged by upstream
---
diff --git a/0001-Add-PPC64-support-for-boringssl.patch b/0001-Add-PPC64-support-for-boringssl.patch
index b23c429..b750c1b 100644
--- a/0001-Add-PPC64-support-for-boringssl.patch
+++ b/0001-Add-PPC64-support-for-boringssl.patch
@@ -1,12 +1,11 @@
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/abi_self_test.cc
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/abi_self_test.cc
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/crypto/abi_self_test.cc
-+++ chromium-145.0.7632.45/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);
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/crypto/abi_self_test.cc
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/abi_self_test.cc
+@@ -525,5 +525,291 @@ TEST(ABITest, AArch64) {
}
- #endif // OPENSSL_AARCH64 && SUPPORTS_ABI_TEST
-+
+ #endif // OPENSSL_AARCH64 && SUPPORTS_ABI_TEST
+
+#if defined(OPENSSL_PPC64LE) && defined(SUPPORTS_ABI_TEST)
+extern "C" {
+void abi_test_clobber_r0(void);
@@ -292,11 +291,14 @@ Index: chromium-145.0.7632.45/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-145.0.7632.45/third_party/boringssl/src/crypto/cpu_ppc64le.cc
++
+ } // namespace
+ BSSL_NAMESPACE_END
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/cpu_ppc64le.cc
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/cpu_ppc64le.cc
-@@ -0,0 +1,38 @@
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/cpu_ppc64le.cc
+@@ -0,0 +1,40 @@
+/* Copyright (c) 2016, Google Inc.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
@@ -319,6 +321,8 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/cpu_ppc64le.cc
+
+#include "internal.h"
+
++using namespace bssl;
++
+
+#if !defined(PPC_FEATURE2_HAS_VCRYPTO)
+// PPC_FEATURE2_HAS_VCRYPTO was taken from section 4.1.2.3 of the “OpenPOWER
@@ -326,34 +330,34 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/cpu_ppc64le.cc
+#define PPC_FEATURE2_HAS_VCRYPTO 0x02000000
+#endif
+
-+void OPENSSL_cpuid_setup(void) {
++void bssl::OPENSSL_cpuid_setup(void) {
+ OPENSSL_ppc64le_hwcap2 = getauxval(AT_HWCAP2);
+}
+
-+int CRYPTO_is_PPC64LE_vcrypto_capable(void) {
++int bssl::CRYPTO_is_PPC64LE_vcrypto_capable(void) {
+ return (OPENSSL_ppc64le_hwcap2 & PPC_FEATURE2_HAS_VCRYPTO) != 0;
+}
+
+#endif // OPENSSL_PPC64LE
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/crypto.cc
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/crypto.cc
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/crypto/crypto.cc
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/crypto.cc
-@@ -69,6 +69,10 @@ uint32_t OPENSSL_get_ia32cap(int idx) {
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/crypto/crypto.cc
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/crypto.cc
+@@ -69,6 +69,10 @@ uint32_t bssl::OPENSSL_get_ia32cap(int i
return OPENSSL_ia32cap_P[idx];
}
+#elif defined(OPENSSL_PPC64LE)
+
-+HIDDEN unsigned long OPENSSL_ppc64le_hwcap2 = 0;
++HIDDEN unsigned long bssl::OPENSSL_ppc64le_hwcap2 = 0;
+
#elif (defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)) && \
!defined(OPENSSL_STATIC_ARMCAP)
- HIDDEN uint32_t OPENSSL_armcap_P = 0;
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
+ HIDDEN uint32_t bssl::OPENSSL_armcap_P = 0;
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
++++ chromium-146.0.7680.65/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 +4168,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/as
+}
+
+close STDOUT or die "error closing STDOUT: $!";
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
@@ -81,6 +81,12 @@ inline int vpaes_capable() { return CRYP
inline int vpaes_capable() { return CRYPTO_is_NEON_capable(); }
#endif
@@ -4181,7 +4185,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/in
#endif
#endif // !NO_ASM
-@@ -532,6 +538,13 @@ extern "C" void aes_gcm_dec_kernel(const
+@@ -513,6 +519,13 @@ extern "C" void aes_gcm_dec_kernel_eor3(
const AES_KEY *key, const u128 Htable[16]);
#endif
@@ -4195,10 +4199,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/in
#endif
#endif // OPENSSL_NO_ASM
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
@@ -111,6 +111,7 @@ OPENSSL_CLANG_PRAGMA("clang diagnostic i
#include "self_check/fips.cc.inc"
#include "self_check/self_check.cc.inc"
@@ -4207,11 +4211,11 @@ Index: chromium-145.0.7632.45/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-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
-@@ -1217,6 +1217,8 @@ int EVP_has_aes_hardware() {
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
+@@ -1219,6 +1219,8 @@ int EVP_has_aes_hardware() {
return hwaes_capable() && crypto_gcm_clmul_enabled();
#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
return hwaes_capable() && CRYPTO_is_ARMv8_PMULL_capable();
@@ -4220,10 +4224,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/cipher
#else
return 0;
#endif
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
++++ chromium-146.0.7680.65/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.
@@ -4896,11 +4900,11 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/as
+}
+
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
-@@ -235,6 +235,13 @@ void bssl::CRYPTO_ghash_init(gmult_func
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
+@@ -243,6 +243,13 @@ void bssl::CRYPTO_ghash_init(gmult_func
*out_hash = gcm_ghash_neon;
return;
}
@@ -4914,11 +4918,11 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/gc
#endif
gcm_init_nohw(out_table, H);
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
-@@ -172,6 +172,16 @@ TEST(GCMTest, ABI) {
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
+@@ -186,6 +186,16 @@ TEST(GCMTest, ABI) {
}
}
#endif
@@ -4935,10 +4939,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/aes/gc
}
#endif // SUPPORTS_ABI_TEST && !OPENSSL_NO_ASM
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
@@ -30,6 +30,8 @@
#define EXPECTED_NR_getrandom 278
#elif defined(OPENSSL_ARM)
@@ -4948,10 +4952,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/rand/getrandom_fi
#elif defined(OPENSSL_RISCV64)
#define EXPECTED_NR_getrandom 278
#endif
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
@@ -429,6 +429,11 @@ bcm_infallible bssl::BCM_rand_bytes_with
// Take a read lock around accesses to |state->drbg|. This is needed to
// avoid returning bad entropy if we race with
@@ -4964,15 +4968,15 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/rand/r
CRYPTO_MUTEX_lock_read(&state->clear_drbg_lock);
#endif
if (!CTR_DRBG_reseed_ex(&state->drbg, seed, sizeof(seed),
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
-@@ -23,6 +23,16 @@
- extern "C" {
- #endif
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+@@ -22,6 +22,16 @@
-+#if defined(OPENSSL_PPC64LE)
+ BSSL_NAMESPACE_BEGIN
+
++#if defined(OPENSSL_PPC64LE) && defined(OPENSSL_NO_ASM)
+// POWER has an intrinsics-based implementation of SHA-1 and thus the functions
+// normally defined in assembly are available even with |OPENSSL_NO_ASM| in
+// this case.
@@ -4985,10 +4989,10 @@ Index: chromium-145.0.7632.45/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-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
++++ chromium-146.0.7680.65/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.
@@ -5359,14 +5363,18 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/sha/sh
+#undef BODY_20_39
+#undef BODY_40_59
+#undef BODY_60_79
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/internal.h
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/internal.h
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/crypto/internal.h
-+++ chromium-145.0.7632.45/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))
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/crypto/internal.h
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/internal.h
+@@ -67,11 +67,12 @@
+ BSSL_NAMESPACE_BEGIN
+
+ #if !defined(OPENSSL_NO_ASM) && \
+- (defined(OPENSSL_X86) || defined(OPENSSL_X86_64) || \
++ (defined(OPENSSL_X86) || defined(OPENSSL_X86_64) || defined(OPENSSL_PPC64LE) || \
+ (!defined(OPENSSL_STATIC_ARMCAP) && \
+ (defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64))))
-// x86, x86_64, and the ARMs need to record the result of a cpuid/getauxval call
-// for the asm to work correctly, unless compiled without asm code.
+// x86, x86_64, the ARMs, and ppc64le need to record the result of a
@@ -5375,7 +5383,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/internal.h
#define NEED_CPUID
// OPENSSL_cpuid_setup initializes the platform-specific feature cache. This
-@@ -1429,6 +1430,16 @@ inline int CRYPTO_is_ARMv8_SHA512_capabl
+@@ -1409,6 +1410,16 @@ inline int CRYPTO_is_ARMv8_SHA3_capable(
#endif // OPENSSL_ARM || OPENSSL_AARCH64
@@ -5392,10 +5400,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/internal.h
#if defined(BORINGSSL_DISPATCH_TEST)
// Runtime CPU dispatch testing support
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
++++ chromium-146.0.7680.65/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.
@@ -5717,11 +5725,11 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/perlasm/ppc-xlate
+___
+
+close STDOUT or die "error closing STDOUT: $!";
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/test/abi_test.h
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/test/abi_test.h
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/crypto/test/abi_test.h
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/test/abi_test.h
-@@ -179,7 +179,78 @@ struct alignas(16) Reg128 {
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/crypto/test/abi_test.h
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/test/abi_test.h
+@@ -180,7 +180,78 @@ struct alignas(16) Reg128 {
CALLER_STATE_REGISTER(uint64_t, x28) \
CALLER_STATE_REGISTER(uint64_t, x29)
@@ -5801,7 +5809,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/test/abi_test.h
// Enable ABI testing if all of the following are true.
//
-@@ -231,6 +302,12 @@ inline crypto_word_t ToWord(T t) {
+@@ -232,6 +303,12 @@ inline crypto_word_t ToWord(T t) {
// on 32-bit architectures for simplicity.
static_assert(sizeof(T) == 4, "parameter types must be word-sized");
return (crypto_word_t)t;
@@ -5814,7 +5822,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/test/abi_test.h
#elif defined(OPENSSL_X86_64) || defined(OPENSSL_AARCH64)
// AAPCS64, section 5.4.2, clauses C.7 and C.14 says any remaining bits in
// aarch are unspecified. iOS64 contradicts this and says the callee extends
-@@ -285,9 +362,9 @@ inline crypto_word_t ToWord(T t) {
+@@ -286,9 +363,9 @@ inline crypto_word_t ToWord(T t) {
template <typename R, typename... Args>
inline crypto_word_t CheckImpl(Result *out, bool unwind, R (*func)(Args...),
typename DeductionGuard<Args>::Type... args) {
@@ -5827,10 +5835,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/test/abi_test.h
static_assert(sizeof...(args) <= 8,
"too many arguments for abi_test_trampoline");
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
@@ -0,0 +1,262 @@
+#!/usr/bin/env perl
+# Copyright (c) 2019, Google Inc.
@@ -6094,10 +6102,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/test/asm/trampoli
+
+print $code;
+close STDOUT or die "error closing STDOUT: $!";
-Index: chromium-145.0.7632.45/third_party/boringssl/src/include/openssl/target.h
+Index: chromium-146.0.7680.65/third_party/boringssl/src/include/openssl/target.h
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/include/openssl/target.h
-+++ chromium-145.0.7632.45/third_party/boringssl/src/include/openssl/target.h
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/include/openssl/target.h
++++ chromium-146.0.7680.65/third_party/boringssl/src/include/openssl/target.h
@@ -34,6 +34,9 @@
#elif defined(__ARMEL__) || defined(_M_ARM)
#define OPENSSL_32_BIT
@@ -6108,10 +6116,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/include/openssl/target.h
#elif defined(__MIPSEL__) && !defined(__LP64__)
#define OPENSSL_32_BIT
#define OPENSSL_MIPS
-Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
++++ chromium-146.0.7680.65/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)
@@ -6121,10 +6129,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/acvp/modu
#else
#error "FIPS build not supported on this architecture"
#endif
-Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/delocate.go
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
++++ chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/delocate.go
@@ -56,7 +56,8 @@ type stringWriter interface {
type processorType int
@@ -6183,7 +6191,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
return statement, nil
}
-@@ -711,6 +723,191 @@ func (d *delocation) processAarch64Instr
+@@ -725,6 +737,191 @@ func (d *delocation) processAarch64Instr
return statement, nil
}
@@ -6375,7 +6383,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
func (d *delocation) gatherOffsets(symRef *node32, offsets string) (*node32, string) {
for symRef != nil && symRef.pegRule == ruleOffset {
offset := d.contents(symRef)
-@@ -765,6 +962,215 @@ func (d *delocation) parseMemRef(memRef
+@@ -779,6 +976,215 @@ func (d *delocation) parseMemRef(memRef
return
}
@@ -6591,7 +6599,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
/* Intel */
type instructionType int
-@@ -1378,6 +1784,8 @@ func writeAarch64Function(w stringWriter
+@@ -1392,6 +1798,8 @@ func writeAarch64Function(w stringWriter
func transform(w stringWriter, inputs []inputFile) error {
// symbols contains all defined symbols.
symbols := make(map[string]struct{})
@@ -6600,7 +6608,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
// fileNumbers is the set of IDs seen in .file directives.
fileNumbers := make(map[int]struct{})
// maxObservedFileNumber contains the largest seen file number in a
-@@ -1410,6 +1818,25 @@ func transform(w stringWriter, inputs []
+@@ -1424,6 +1832,25 @@ func transform(w stringWriter, inputs []
}, ruleStatement, ruleSymbolDefiningDirective, ruleSymbolDefiningDirectiveName)
forEachPath(input.ast.up, func(node *node32) {
@@ -6626,7 +6634,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
assertNodeType(node, ruleLocationDirective)
directive := input.contents[node.begin:node.end]
if !strings.HasPrefix(directive, ".file") {
-@@ -1463,11 +1890,13 @@ func transform(w stringWriter, inputs []
+@@ -1477,11 +1904,13 @@ func transform(w stringWriter, inputs []
d := &delocation{
symbols: symbols,
@@ -6640,7 +6648,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
gotExternalsNeeded: make(map[string]struct{}),
gotOffsetsNeeded: make(map[string]struct{}),
gotOffOffsetsNeeded: make(map[string]struct{}),
-@@ -1522,6 +1951,22 @@ func transform(w stringWriter, inputs []
+@@ -1536,6 +1965,22 @@ func transform(w stringWriter, inputs []
for _, name := range redirectorNames {
redirector := d.redirectors[name]
switch d.processor {
@@ -6663,7 +6671,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
case aarch64:
writeAarch64Function(w, redirector, func(w stringWriter) {
w.WriteString("\tb " + name + "\n")
-@@ -1546,6 +1991,13 @@ func transform(w stringWriter, inputs []
+@@ -1560,6 +2005,13 @@ func transform(w stringWriter, inputs []
target := d.bssAccessorsNeeded[name]
switch d.processor {
@@ -6677,7 +6685,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
case x86_64:
w.WriteString(".type " + funcName + ", @function\n")
w.WriteString(funcName + ":\n")
-@@ -1561,6 +2013,26 @@ func transform(w stringWriter, inputs []
+@@ -1575,6 +2027,26 @@ func transform(w stringWriter, inputs []
}
switch d.processor {
@@ -6704,7 +6712,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
case aarch64:
externalNames := sortedSet(d.gotExternalsNeeded)
for _, symbol := range externalNames {
-@@ -1852,6 +2324,10 @@ func localTargetName(name string) string
+@@ -1866,6 +2338,10 @@ func localTargetName(name string) string
return ".L" + name + "_local_target"
}
@@ -6715,7 +6723,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
func isSynthesized(symbol string) bool {
return strings.HasSuffix(symbol, "_bss_get")
}
-@@ -1905,6 +2381,8 @@ func detectProcessor(input inputFile) pr
+@@ -1919,6 +2395,8 @@ func detectProcessor(input inputFile) pr
switch instructionName {
case "movq", "call", "leaq":
return x86_64
@@ -6724,10 +6732,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
case "str", "bl", "ldr", "st1":
return aarch64
}
-Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
++++ chromium-146.0.7680.65/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.
@@ -6741,10 +6749,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
# To regenerate delocate.peg.go:
#
-Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
++++ chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
@@ -39,6 +39,11 @@ func (test *delocateTest) Path(file stri
var delocateTests = []delocateTest{
@@ -6757,10 +6765,10 @@ Index: chromium-145.0.7632.45/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-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
++++ chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
@@ -0,0 +1,9 @@
+ .text
+foo:
@@ -6771,10 +6779,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
+ .localentry foo,.-foo
+.LVL0:
+ bl
-Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
++++ chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
@@ -0,0 +1,62 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@@ -6838,19 +6846,19 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
-Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
++++ chromium-146.0.7680.65/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-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
++++ chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
@@ -0,0 +1,72 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@@ -6924,10 +6932,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
-Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
++++ chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
@@ -0,0 +1,161 @@
+ .file "foo.cc"
+ .abiversion 2
@@ -7090,10 +7098,10 @@ Index: chromium-145.0.7632.45/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-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
++++ chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
@@ -0,0 +1,552 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@@ -7647,10 +7655,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
-Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
++++ chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
@@ -0,0 +1,226 @@
+ .file "foo.cc"
+ .abiversion 2
@@ -7878,10 +7886,10 @@ Index: chromium-145.0.7632.45/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-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
++++ chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
@@ -0,0 +1,677 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@@ -8560,10 +8568,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
-Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
++++ chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
@@ -0,0 +1,23 @@
+ .text
+foo:
@@ -8588,10 +8596,10 @@ Index: chromium-145.0.7632.45/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-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
++++ chromium-146.0.7680.65/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
@@ -0,0 +1,178 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@@ -8771,10 +8779,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
-Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
+Index: chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
-+++ chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
++++ chromium-146.0.7680.65/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
@@ -381,6 +381,10 @@ static void sha1_block_data_order(uint32
return;
}
@@ -8786,10 +8794,10 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/crypto/fipsmodule/sha/sh
sha1_block_data_order_nohw(state, data, num);
}
-Index: chromium-145.0.7632.45/third_party/boringssl/src/build.json
+Index: chromium-146.0.7680.65/third_party/boringssl/src/build.json
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/build.json
-+++ chromium-145.0.7632.45/third_party/boringssl/src/build.json
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/build.json
++++ chromium-146.0.7680.65/third_party/boringssl/src/build.json
@@ -129,6 +129,10 @@
{"src": "crypto/fipsmodule/sha/asm/sha512-armv4.pl"},
{"src": "crypto/fipsmodule/aes/asm/vpaes-armv7.pl"}
@@ -8809,7 +8817,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/build.json
"crypto/crypto.cc",
"crypto/curve25519/curve25519.cc",
"crypto/curve25519/curve25519_64_adx.cc",
-@@ -805,6 +810,9 @@
+@@ -806,6 +811,9 @@
"perlasm_arm": [
{"src": "crypto/test/asm/trampoline-armv4.pl"}
],
@@ -8819,32 +8827,32 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/build.json
"perlasm_x86": [
{"src": "crypto/test/asm/trampoline-x86.pl"}
],
-Index: chromium-145.0.7632.45/third_party/boringssl/src/util/pregenerate/build.go
+Index: chromium-146.0.7680.65/third_party/boringssl/src/util/pregenerate/build.go
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/util/pregenerate/build.go
-+++ chromium-145.0.7632.45/third_party/boringssl/src/util/pregenerate/build.go
-@@ -38,6 +38,7 @@ type InputTarget struct {
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/util/pregenerate/build.go
++++ chromium-146.0.7680.65/third_party/boringssl/src/util/pregenerate/build.go
+@@ -39,6 +39,7 @@ type InputTarget struct {
// architecture.
PerlasmAarch64 []PerlasmSource `json:"perlasm_aarch64,omitempty"`
PerlasmArm []PerlasmSource `json:"perlasm_arm,omitempty"`
+ PerlasmPPC64LE []PerlasmSource `json:"perlasm_ppc64le,omitempty"`
PerlasmX86 []PerlasmSource `json:"perlasm_x86,omitempty"`
PerlasmX86_64 []PerlasmSource `json:"perlasm_x86_64,omitempty"`
- }
-@@ -116,6 +117,9 @@ func (in *InputTarget) Pregenerate(name
+ // Hdrs are C++ headers.
+@@ -124,6 +125,9 @@ func (in *InputTarget) Pregenerate(name
for _, p := range in.PerlasmArm {
- addPerlasmTask(&out.Asm, &p, "-linux.S", []string{"linux32"})
+ asmSrcs = append(asmSrcs, addPerlasmTask(&out.Asm, &p, "-linux.S", []string{"linux32"}))
}
+ for _, p := range in.PerlasmPPC64LE {
+ addPerlasmTask(&out.Asm, &p, "-linux.S", []string{"linux64le"})
+ }
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-145.0.7632.45/third_party/boringssl/README.ppc64le
+ asmSrcs = append(asmSrcs,
+ addPerlasmTask(&out.Asm, &p, "-apple.S", []string{"macosx", "-fPIC"}),
+Index: chromium-146.0.7680.65/third_party/boringssl/README.ppc64le
===================================================================
--- /dev/null
-+++ chromium-145.0.7632.45/third_party/boringssl/README.ppc64le
++++ chromium-146.0.7680.65/third_party/boringssl/README.ppc64le
@@ -0,0 +1,8 @@
+==============================================================
+To recreate boringssl pregenerated files patch for ppc64le:
@@ -8854,10 +8862,10 @@ Index: chromium-145.0.7632.45/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-145.0.7632.45/third_party/boringssl/src/gen/sources.gni
+Index: chromium-146.0.7680.65/third_party/boringssl/src/gen/sources.gni
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/gen/sources.gni
-+++ chromium-145.0.7632.45/third_party/boringssl/src/gen/sources.gni
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/gen/sources.gni
++++ chromium-146.0.7680.65/third_party/boringssl/src/gen/sources.gni
@@ -122,6 +122,7 @@ bcm_sources_asm = [
"gen/bcm/aesv8-gcm-armv8-apple.S",
"gen/bcm/aesv8-gcm-armv8-linux.S",
@@ -8882,11 +8890,11 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/gen/sources.gni
"crypto/crypto.cc",
"crypto/curve25519/curve25519.cc",
"crypto/curve25519/curve25519_64_adx.cc",
-Index: chromium-145.0.7632.45/third_party/boringssl/src/gen/sources.bzl
+Index: chromium-146.0.7680.65/third_party/boringssl/src/gen/sources.bzl
===================================================================
---- chromium-145.0.7632.45.orig/third_party/boringssl/src/gen/sources.bzl
-+++ chromium-145.0.7632.45/third_party/boringssl/src/gen/sources.bzl
-@@ -115,6 +115,7 @@
+--- chromium-146.0.7680.65.orig/third_party/boringssl/src/gen/sources.bzl
++++ chromium-146.0.7680.65/third_party/boringssl/src/gen/sources.bzl
+@@ -115,6 +115,7 @@ bcm_sources_asm = [
"gen/bcm/aesni-x86-linux.S",
"gen/bcm/aesni-x86_64-apple.S",
"gen/bcm/aesni-x86_64-linux.S",
@@ -8894,7 +8902,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/gen/sources.bzl
"gen/bcm/aesv8-armv7-linux.S",
"gen/bcm/aesv8-armv8-apple.S",
"gen/bcm/aesv8-armv8-linux.S",
-@@ -146,6 +147,7 @@
+@@ -146,6 +147,7 @@ bcm_sources_asm = [
"gen/bcm/ghash-x86-linux.S",
"gen/bcm/ghash-x86_64-apple.S",
"gen/bcm/ghash-x86_64-linux.S",
@@ -8902,7 +8910,7 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/gen/sources.bzl
"gen/bcm/ghashv8-armv7-linux.S",
"gen/bcm/ghashv8-armv8-apple.S",
"gen/bcm/ghashv8-armv8-linux.S",
-@@ -365,6 +367,7 @@
+@@ -365,6 +367,7 @@ crypto_sources = [
"crypto/cpu_arm_freebsd.cc",
"crypto/cpu_arm_linux.cc",
"crypto/cpu_intel.cc",
@@ -8910,11 +8918,11 @@ Index: chromium-145.0.7632.45/third_party/boringssl/src/gen/sources.bzl
"crypto/crypto.cc",
"crypto/curve25519/curve25519.cc",
"crypto/curve25519/curve25519_64_adx.cc",
-Index: chromium-145.0.7632.45/third_party/perfetto/buildtools/grpc/BUILD.gn
+Index: chromium-146.0.7680.65/third_party/perfetto/buildtools/grpc/BUILD.gn
===================================================================
---- chromium-145.0.7632.45.orig/third_party/perfetto/buildtools/grpc/BUILD.gn
-+++ chromium-145.0.7632.45/third_party/perfetto/buildtools/grpc/BUILD.gn
-@@ -99,6 +99,7 @@
+--- chromium-146.0.7680.65.orig/third_party/perfetto/buildtools/grpc/BUILD.gn
++++ chromium-146.0.7680.65/third_party/perfetto/buildtools/grpc/BUILD.gn
+@@ -99,6 +99,7 @@ static_library("boringssl") {
"src/third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.cc",
"src/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.cc",
"src/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.h",
@@ -8922,7 +8930,7 @@ Index: chromium-145.0.7632.45/third_party/perfetto/buildtools/grpc/BUILD.gn
"src/third_party/boringssl-with-bazel/src/crypto/cpu_intel.cc",
"src/third_party/boringssl-with-bazel/src/crypto/crypto.cc",
"src/third_party/boringssl-with-bazel/src/crypto/curve25519/asm/x25519-asm-arm.S",
-@@ -422,6 +423,7 @@
+@@ -422,6 +423,7 @@ static_library("boringssl") {
"src/third_party/boringssl-with-bazel/src/gen/bcm/aesv8-gcm-armv8-apple.S",
"src/third_party/boringssl-with-bazel/src/gen/bcm/aesv8-gcm-armv8-linux.S",
"src/third_party/boringssl-with-bazel/src/gen/bcm/aesv8-gcm-armv8-win.S",
@@ -8930,7 +8938,7 @@ Index: chromium-145.0.7632.45/third_party/perfetto/buildtools/grpc/BUILD.gn
"src/third_party/boringssl-with-bazel/src/gen/bcm/armv4-mont-linux.S",
"src/third_party/boringssl-with-bazel/src/gen/bcm/armv8-mont-apple.S",
"src/third_party/boringssl-with-bazel/src/gen/bcm/armv8-mont-linux.S",
-@@ -435,6 +437,7 @@
+@@ -435,6 +437,7 @@ static_library("boringssl") {
"src/third_party/boringssl-with-bazel/src/gen/bcm/co-586-apple.S",
"src/third_party/boringssl-with-bazel/src/gen/bcm/co-586-linux.S",
"src/third_party/boringssl-with-bazel/src/gen/bcm/ghash-armv4-linux.S",
diff --git a/0001-Implement-support-for-ppc64-on-Linux.patch b/0001-Implement-support-for-ppc64-on-Linux.patch
index fa7ef9f..3ae468e 100644
--- a/0001-Implement-support-for-ppc64-on-Linux.patch
+++ b/0001-Implement-support-for-ppc64-on-Linux.patch
@@ -54,10 +54,8 @@ 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-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
++++ b/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 +65,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
#else
#error "This code has not been ported to your platform yet."
#endif
-Index: chromium-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
++++ b/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 +149,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
+#endif
+
} // namespace google_breakpad
-Index: chromium-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
++++ b/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 +174,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
};
} // namespace google_breakpad
-Index: chromium-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
++++ b/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 +225,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
#endif
} // namespace google_breakpad
-Index: chromium-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
++++ b/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,10 +237,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
#else
static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc);
#endif
-Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
-===================================================================
---- 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
+--- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
++++ b/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));
@@ -295,10 +283,8 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
-===================================================================
---- 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
+--- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
++++ b/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.
@@ -312,10 +298,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
fpstate_t float_state;
#endif
};
-Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
-===================================================================
---- 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
+--- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
++++ b/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;
@@ -347,11 +331,9 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
const int kOffset = kMemorySize - sizeof(kIllegalInstruction);
const pid_t child = fork();
-Index: chromium-144.0.7559.59/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 {
+--- a/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
++++ b/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
+@@ -144,7 +144,9 @@ class MicrodumpWriter {
const MicrodumpExtraInfo& microdump_extra_info,
LinuxDumper* dumper)
: ucontext_(context ? &context->context : nullptr),
@@ -362,7 +344,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/mic
float_state_(context ? &context->float_state : nullptr),
#endif
dumper_(dumper),
-@@ -350,6 +352,8 @@ class MicrodumpWriter {
+@@ -351,6 +353,8 @@ class MicrodumpWriter {
# else
# error "Unexpected __riscv_xlen"
# endif
@@ -371,7 +353,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/mic
#else
# error "This code has not been ported to your platform yet"
#endif
-@@ -422,7 +426,9 @@ class MicrodumpWriter {
+@@ -423,7 +427,9 @@ class MicrodumpWriter {
void DumpCPUState() {
RawContextCPU cpu;
my_memset(&cpu, 0, sizeof(RawContextCPU));
@@ -382,8 +364,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/mic
UContextReader::FillCPUContext(&cpu, ucontext_, float_state_);
#else
UContextReader::FillCPUContext(&cpu, ucontext_);
-@@ -618,7 +624,9 @@ class MicrodumpWriter {
- void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
+@@ -622,7 +628,9 @@ class MicrodumpWriter {
+ }
const ucontext_t* const ucontext_;
-#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
@@ -393,10 +375,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/mic
const google_breakpad::fpstate_t* const float_state_;
#endif
LinuxDumper* dumper_;
-Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
-===================================================================
---- 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
+--- a/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
++++ b/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 +400,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/mic
#else
ASSERT_NE(std::string::npos,
buf.find("M 00001000 0000002A 00001000 "
-Index: chromium-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
++++ b/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 +424,8 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
++++ b/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 +437,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
const MappingInfo* mapping = FindMapping(stack_pointer);
if (!mapping)
-Index: chromium-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
++++ b/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 +449,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
typedef Elf64_auxv_t elf_aux_entry;
#endif
-Index: chromium-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
++++ b/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 +460,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
#else
#error This test has not been ported to this platform.
#endif
-Index: chromium-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
++++ b/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,10 +503,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
#else
# error "This code hasn't been ported to your platform yet."
#endif
-Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
-===================================================================
---- 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
+--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
++++ b/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 =
@@ -556,10 +524,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
#else
#error This test has not been ported to this platform.
#endif
-Index: chromium-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
++++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
@@ -145,7 +145,9 @@ class MinidumpWriter {
: fd_(minidump_fd),
path_(minidump_path),
@@ -582,7 +548,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
UContextReader::FillCPUContext(cpu.get(), ucontext_, float_state_);
#else
UContextReader::FillCPUContext(cpu.get(), ucontext_);
-@@ -954,7 +958,7 @@ class MinidumpWriter {
+@@ -957,7 +961,7 @@ class MinidumpWriter {
dirent->location.rva = 0;
}
@@ -591,7 +557,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
bool WriteCPUInformation(MDRawSystemInfo* sys_info) {
char vendor_id[sizeof(sys_info->cpu.x86_cpu_info.vendor_id) + 1] = {0};
static const char vendor_id_name[] = "vendor_id";
-@@ -974,7 +978,9 @@ class MinidumpWriter {
+@@ -977,7 +981,9 @@ class MinidumpWriter {
// processor_architecture should always be set, do this first
sys_info->processor_architecture =
@@ -602,7 +568,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
# if _MIPS_SIM == _ABIO32
MD_CPU_ARCHITECTURE_MIPS;
# elif _MIPS_SIM == _ABI64
-@@ -1441,7 +1447,9 @@ class MinidumpWriter {
+@@ -1446,7 +1452,9 @@ class MinidumpWriter {
const char* path_; // Path to the file where the minidum should be written.
const ucontext_t* const ucontext_; // also from the signal handler
@@ -613,10 +579,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
const google_breakpad::fpstate_t* const float_state_; // ditto
#endif
LinuxDumper* dumper_;
-Index: chromium-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
++++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
@@ -47,6 +47,8 @@ class ExceptionHandler;
#if defined(__aarch64__)
@@ -626,10 +590,8 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
++++ b/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 +602,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
#else
# error "This code has not been ported to your platform yet."
#endif
-Index: chromium-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
++++ b/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,10 +614,8 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
-===================================================================
---- 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
+--- a/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
++++ b/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
@@ -672,10 +630,8 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/mem
for (size_t i = 0; i < data1_size; ++i) {
data1[i] = i & 0x7f;
}
-Index: chromium-144.0.7559.59/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
+--- a/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
++++ b/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
@@ -64,8 +64,9 @@ TEST(PageAllocatorTest, LargeObject) {
EXPECT_EQ(0U, allocator.pages_allocated());
@@ -687,10 +643,8 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
-===================================================================
---- 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
+--- a/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
++++ b/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
@@ -82,6 +82,8 @@
#define ELF_ARCH EM_AARCH64
#elif defined(__riscv)
diff --git a/0002-third_party-libvpx-Remove-bad-ppc64-config.patch b/0002-third_party-libvpx-Remove-bad-ppc64-config.patch
index fe86cac..53e4040 100644
--- a/0002-third_party-libvpx-Remove-bad-ppc64-config.patch
+++ b/0002-third_party-libvpx-Remove-bad-ppc64-config.patch
@@ -1,6 +1,6 @@
-Index: chromium-145.0.7632.45/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
+Index: chromium-146.0.7680.65/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
===================================================================
---- chromium-145.0.7632.45.orig/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
+--- chromium-146.0.7680.65.orig/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
@@ -189,9 +189,9 @@ Index: chromium-145.0.7632.45/third_party/libvpx/source/config/linux/ppc64/vp8_r
-#endif
-
-#endif // VP8_RTCD_H_
-Index: chromium-145.0.7632.45/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
+Index: chromium-146.0.7680.65/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
===================================================================
---- chromium-145.0.7632.45.orig/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
+--- chromium-146.0.7680.65.orig/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
@@ -313,11 +313,11 @@ Index: chromium-145.0.7632.45/third_party/libvpx/source/config/linux/ppc64/vp9_r
-#endif
-
-#endif // VP9_RTCD_H_
-Index: chromium-145.0.7632.45/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
+Index: chromium-146.0.7680.65/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
===================================================================
---- chromium-145.0.7632.45.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
+--- chromium-146.0.7680.65.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
+++ /dev/null
-@@ -1,108 +0,0 @@
+@@ -1,109 +0,0 @@
-@ This file was created from a .asm file
-@ using the ads2gas.pl script.
-.syntax unified
@@ -345,6 +345,7 @@ Index: chromium-145.0.7632.45/third_party/libvpx/source/config/linux/ppc64/vpx_c
-.equ HAVE_DSPR2 , 0
-.equ HAVE_MSA , 0
-.equ HAVE_MIPS64 , 0
+-.equ HAVE_X86_ASM , 0
-.equ HAVE_MMX , 0
-.equ HAVE_SSE , 0
-.equ HAVE_SSE2 , 0
@@ -426,9 +427,9 @@ Index: chromium-145.0.7632.45/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-145.0.7632.45/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
+Index: chromium-146.0.7680.65/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
===================================================================
---- chromium-145.0.7632.45.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
+--- chromium-146.0.7680.65.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. */
@@ -441,11 +442,11 @@ Index: chromium-145.0.7632.45/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-145.0.7632.45/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
+Index: chromium-146.0.7680.65/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
===================================================================
---- chromium-145.0.7632.45.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
+--- chromium-146.0.7680.65.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
+++ /dev/null
-@@ -1,117 +0,0 @@
+@@ -1,118 +0,0 @@
-/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
-/* */
-/* Use of this source code is governed by a BSD-style license */
@@ -482,6 +483,7 @@ Index: chromium-145.0.7632.45/third_party/libvpx/source/config/linux/ppc64/vpx_c
-#define HAVE_DSPR2 0
-#define HAVE_MSA 0
-#define HAVE_MIPS64 0
+-#define HAVE_X86_ASM 0
-#define HAVE_MMX 0
-#define HAVE_SSE 0
-#define HAVE_SSE2 0
@@ -563,9 +565,9 @@ Index: chromium-145.0.7632.45/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-145.0.7632.45/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
+Index: chromium-146.0.7680.65/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
===================================================================
---- chromium-145.0.7632.45.orig/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
+--- chromium-146.0.7680.65.orig/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
+++ /dev/null
@@ -1,858 +0,0 @@
-/*
@@ -1426,9 +1428,9 @@ Index: chromium-145.0.7632.45/third_party/libvpx/source/config/linux/ppc64/vpx_d
-#endif
-
-#endif // VPX_DSP_RTCD_H_
-Index: chromium-145.0.7632.45/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
+Index: chromium-146.0.7680.65/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
===================================================================
---- chromium-145.0.7632.45.orig/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
+--- chromium-146.0.7680.65.orig/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
diff --git a/chromium-143-python-3.9-ftbfs.patch b/chromium-143-python-3.9-ftbfs.patch
deleted file mode 100644
index d69e5c3..0000000
--- a/chromium-143-python-3.9-ftbfs.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-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
-
diff --git a/chromium-145-rust-1.88-enable-unstable_features.patch b/chromium-145-rust-1.88-enable-unstable_features.patch
deleted file mode 100644
index 03d6097..0000000
--- a/chromium-145-rust-1.88-enable-unstable_features.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-error[E0658]: the target feature `avx512f` is currently unstable
- --> ../../third_party/rust/chromium_crates_io/vendor/jxl_simd-v0_2/src/x86_64/avx512.rs:123:26
- |
-123 | #[target_feature(enable = "avx512f")]
- | ^^^^^^^^^^^^^^^^^^
- |
- = note: see issue #44839 <https://github.com/rust-lang/rust/issues/44839> for more information
- = help: add `#![feature(avx512_target_feature)]` to the crate attributes to enable
- = note: this compiler was built on 2025-06-23; consider upgrading it if it is out of date
-
-Fix FTBFS on el9
-
-diff -up chromium-145.0.7632.75/third_party/rust/chromium_crates_io/vendor/jxl_simd-v0_2/src/lib.rs.me chromium-145.0.7632.75/third_party/rust/chromium_crates_io/vendor/jxl_simd-v0_2/src/lib.rs
---- chromium-145.0.7632.75/third_party/rust/chromium_crates_io/vendor/jxl_simd-v0_2/src/lib.rs.me 2026-02-12 20:44:24.000000000 +0100
-+++ chromium-145.0.7632.75/third_party/rust/chromium_crates_io/vendor/jxl_simd-v0_2/src/lib.rs 2026-02-15 20:10:02.848196172 +0100
-@@ -4,6 +4,8 @@
- // license that can be found in the LICENSE file.
-
- #![allow(clippy::too_many_arguments)]
-+#![feature(avx512_target_feature)]
-+#![cfg_attr(target_arch = "x86_64", feature(stdarch_x86_avx512))]
-
- use std::{
- fmt::Debug,
-diff -up chromium-145.0.7632.75/third_party/rust/chromium_crates_io/vendor/jxl_transforms-v0_2/src/lib.rs.me chromium-145.0.7632.75/third_party/rust/chromium_crates_io/vendor/jxl_transforms-v0_2/src/lib.rs
---- chromium-145.0.7632.75/third_party/rust/chromium_crates_io/vendor/jxl_transforms-v0_2/src/lib.rs.me 2026-02-12 20:44:24.000000000 +0100
-+++ chromium-145.0.7632.75/third_party/rust/chromium_crates_io/vendor/jxl_transforms-v0_2/src/lib.rs 2026-02-15 20:09:43.548731085 +0100
-@@ -3,6 +3,9 @@
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
-
-+#![feature(avx512_target_feature)]
-+#![cfg_attr(target_arch = "x86_64", feature(stdarch_x86_avx512))]
-+
- mod idct2d;
- mod reinterpreting_dct2d;
- pub mod transform;
-diff -up chromium-145.0.7632.75/third_party/rust/chromium_crates_io/vendor/jxl-v0_2/src/lib.rs.me chromium-145.0.7632.75/third_party/rust/chromium_crates_io/vendor/jxl-v0_2/src/lib.rs
---- chromium-145.0.7632.75/third_party/rust/chromium_crates_io/vendor/jxl-v0_2/src/lib.rs.me 2026-02-12 20:44:24.000000000 +0100
-+++ chromium-145.0.7632.75/third_party/rust/chromium_crates_io/vendor/jxl-v0_2/src/lib.rs 2026-02-15 20:11:01.678559809 +0100
-@@ -3,6 +3,10 @@
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
-
-+#![feature(avx512_target_feature)]
-+#![cfg_attr(target_arch = "x86_64", feature(stdarch_x86_avx512))]
-+#![feature(non_null_from_ref)]
-+
- #![deny(unsafe_code)]
- pub mod api;
- pub mod bit_reader;
-diff -up chromium-145.0.7632.75/third_party/rust/jxl_simd/v0_2/BUILD.gn.me chromium-145.0.7632.75/third_party/rust/jxl_simd/v0_2/BUILD.gn
---- chromium-145.0.7632.75/third_party/rust/jxl_simd/v0_2/BUILD.gn.me 2026-02-12 20:44:24.000000000 +0100
-+++ chromium-145.0.7632.75/third_party/rust/jxl_simd/v0_2/BUILD.gn 2026-02-15 20:15:51.823722639 +0100
-@@ -36,6 +36,10 @@ cargo_crate("lib") {
-
- allow_unsafe = true
-
-+ rustflags = [
-+ "-Zallow-features=stdarch_x86_avx512,avx512_target_feature",
-+ ]
-+
- features = [
- "all-simd",
- "avx",
-@@ -69,6 +73,7 @@ cargo_crate("lib") {
- # `extra_kv.configs_to_remove` and `extra_kv.configs_to_add` from
- # `gnrt_config.toml`).
- _configs_to_remove += [ "//build/config/compiler:default_optimization" ]
-+ _configs_to_remove += [ "//build/config/compiler:disallow_unstable_features" ]
- _configs_to_add += [ "//build/config/compiler:optimize" ]
-
- # Applying config changes.
-diff -up chromium-145.0.7632.75/third_party/rust/jxl_transforms/v0_2/BUILD.gn.me chromium-145.0.7632.75/third_party/rust/jxl_transforms/v0_2/BUILD.gn
---- chromium-145.0.7632.75/third_party/rust/jxl_transforms/v0_2/BUILD.gn.me 2026-02-12 20:44:24.000000000 +0100
-+++ chromium-145.0.7632.75/third_party/rust/jxl_transforms/v0_2/BUILD.gn 2026-02-15 20:17:33.887730035 +0100
-@@ -45,6 +45,10 @@ cargo_crate("lib") {
-
- allow_unsafe = true
-
-+ rustflags = [
-+ "-Zallow-features=stdarch_x86_avx512,avx512_target_feature",
-+ ]
-+
- deps = [ "//third_party/rust/jxl_simd/v0_2:lib" ]
-
- # Only for usage from third-party crates. Add the crate to
-@@ -72,6 +76,7 @@ cargo_crate("lib") {
- # `extra_kv.configs_to_remove` and `extra_kv.configs_to_add` from
- # `gnrt_config.toml`).
- _configs_to_remove += [ "//build/config/compiler:default_optimization" ]
-+ _configs_to_remove += [ "//build/config/compiler:disallow_unstable_features" ]
- _configs_to_add += [ "//build/config/compiler:optimize" ]
-
- # Applying config changes.
-diff -up chromium-145.0.7632.75/third_party/rust/jxl/v0_2/BUILD.gn.me chromium-145.0.7632.75/third_party/rust/jxl/v0_2/BUILD.gn
---- chromium-145.0.7632.75/third_party/rust/jxl/v0_2/BUILD.gn.me 2026-02-12 20:44:24.000000000 +0100
-+++ chromium-145.0.7632.75/third_party/rust/jxl/v0_2/BUILD.gn 2026-02-15 20:16:47.026490882 +0100
-@@ -169,6 +169,10 @@ cargo_crate("lib") {
-
- allow_unsafe = true
-
-+ rustflags = [
-+ "-Zallow-features=stdarch_x86_avx512,avx512_target_feature,non_null_from_ref",
-+ ]
-+
- deps = [
- "//third_party/rust/array_init/v2:lib",
- "//third_party/rust/byteorder/v1:lib",
-@@ -201,6 +205,7 @@ cargo_crate("lib") {
- # `extra_kv.configs_to_remove` and `extra_kv.configs_to_add` from
- # `gnrt_config.toml`).
- _configs_to_remove += [ "//build/config/compiler:default_optimization" ]
-+ _configs_to_remove += [ "//build/config/compiler:disallow_unstable_features" ]
- _configs_to_add += [ "//build/config/compiler:optimize" ]
-
- # Applying config changes.
diff --git a/chromium-145-rust-1.88-undefined-symbol.patch b/chromium-145-rust-1.88-undefined-symbol.patch
deleted file mode 100644
index b1c03f4..0000000
--- a/chromium-145-rust-1.88-undefined-symbol.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-ld.lld: error: undefined symbol: __rustc::__rust_alloc_error_handler_should_panic
-ld.lld: error: undefined symbol: __rust_no_alloc_shim_is_unstable
-
-Fix build errors
-
-diff -up chromium-145.0.7632.75/build/rust/allocator/lib.rs.me chromium-145.0.7632.75/build/rust/allocator/lib.rs
---- chromium-145.0.7632.75/build/rust/allocator/lib.rs.me 2026-02-15 12:35:09.666502144 +0100
-+++ chromium-145.0.7632.75/build/rust/allocator/lib.rs 2026-02-15 12:39:06.951005953 +0100
-@@ -90,7 +90,6 @@ mod both_allocators {
- #[linkage = "weak"]
- fn __rust_no_alloc_shim_is_unstable_v2() {}
-
-- #[cfg(rust_allocator_no_nightly_capability)]
- #[rustc_std_internal_symbol]
- #[linkage = "weak"]
- fn __rust_no_alloc_shim_is_unstable() {}
-@@ -101,7 +100,6 @@ mod both_allocators {
- 0
- }
-
-- #[cfg(rust_allocator_no_nightly_capability)]
- #[rustc_std_internal_symbol]
- #[linkage = "weak"]
- fn __rust_alloc_error_handler_should_panic() -> u8 {
diff --git a/chromium-145-rustc-enable-nightly.patch b/chromium-145-rustc-enable-nightly.patch
deleted file mode 100644
index 429d381..0000000
--- a/chromium-145-rustc-enable-nightly.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up chromium-145.0.7632.45/build/config/rust.gni.me chromium-145.0.7632.45/build/config/rust.gni
---- chromium-145.0.7632.45/build/config/rust.gni.me 2026-02-13 23:54:58.037242716 +0100
-+++ chromium-145.0.7632.45/build/config/rust.gni 2026-02-13 23:55:14.572326164 +0100
-@@ -121,7 +121,7 @@ use_chromium_rust_toolchain = rust_sysro
- # `rustc_nightly_capability = false` will make the build avoid the use of
- # Rust nightly features. There are no bots that test this and there is no
- # guarantee it will work, but we accept patches for this configuration.
--rustc_nightly_capability = use_chromium_rust_toolchain
-+rustc_nightly_capability = true
-
- # Platform support for the Rust toolchain.
- chromium_toolchain_supports_platform = !is_wasm
diff --git a/chromium-146-clang-unknown-argument.patch b/chromium-146-clang-unknown-argument.patch
new file mode 100644
index 0000000..318111d
--- /dev/null
+++ b/chromium-146-clang-unknown-argument.patch
@@ -0,0 +1,25 @@
+Fix FTBFS with llvm < 22
+lang++: error: unknown argument: '-fsanitize-ignore-for-ubsan-feature=array-bounds'
+
+diff -up chromium-146.0.7680.65/build/config/compiler/BUILD.gn.than chromium-146.0.7680.65/build/config/compiler/BUILD.gn
+--- chromium-146.0.7680.65/build/config/compiler/BUILD.gn.than 2026-03-09 11:10:29.942718861 +0100
++++ chromium-146.0.7680.65/build/config/compiler/BUILD.gn 2026-03-09 11:11:28.703554766 +0100
+@@ -1855,18 +1855,6 @@ config("sanitize_c_array_bounds") {
+ cflags = [
+ "-fsanitize=array-bounds",
+ "-fsanitize-trap=array-bounds",
+-
+- # Some code users feature detection to determine if UBSAN (or any
+- # sanitizer) is enabled, they then do expensive debug like operations. We
+- # want to suppress this behaviour since we want to keep performance costs
+- # as low as possible while having these checks.
+- "-fsanitize-ignore-for-ubsan-feature=array-bounds",
+-
+- # Because we've enabled array-bounds sanitizing we also want to suppress
+- # the related warning about "unsafe-buffer-usage-in-static-sized-array",
+- # since we know that the array bounds sanitizing will catch any out-of-
+- # bounds accesses.
+- "-Wno-unsafe-buffer-usage-in-static-sized-array",
+ ]
+ }
+ }
diff --git a/chromium-146-ftbfs-rust-bytemuck.patch b/chromium-146-ftbfs-rust-bytemuck.patch
new file mode 100644
index 0000000..361cf10
--- /dev/null
+++ b/chromium-146-ftbfs-rust-bytemuck.patch
@@ -0,0 +1,91 @@
+commit 90b77efcecb262823fadb67b0ce218846cd9e756
+Author: LN Liberda <lauren@selfisekai.rocks>
+Date: Fri Feb 20 17:06:00 2026 -0800
+
+ Remove now-obsolete/invalid patch on bytemuck-v1
+
+ The patch was introduced to work with nightly Rust
+ <https://crbug.com/480176523>. Then an upstream fix was rolled in
+ I498189a701ed017cb9d07d958d296a6988963eb7, making this patch obsolete,
+ however it still seems to apply on top of upstream, so it wasn't
+ removed.
+
+ Bug: 480176523
+ Change-Id: I3466cd2423b658aa34b056eabc0b908f46f0a95c
+ Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7594600
+ Commit-Queue: Nico Weber <thakis@chromium.org>
+ Reviewed-by: Nico Weber <thakis@chromium.org>
+ Reviewed-by: Łukasz Anforowicz <lukasza@chromium.org>
+ Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
+ Cr-Commit-Position: refs/heads/main@{#1588192}
+
+diff --git a/third_party/rust/chromium_crates_io/patches/bytemuck-v1/0101-Ad-hoc-bytemuck-fix-for-https-crbug.com-480176523.patch b/third_party/rust/chromium_crates_io/patches/bytemuck-v1/0101-Ad-hoc-bytemuck-fix-for-https-crbug.com-480176523.patch
+deleted file mode 100644
+index d5df20dde36..00000000000
+--- a/third_party/rust/chromium_crates_io/patches/bytemuck-v1/0101-Ad-hoc-bytemuck-fix-for-https-crbug.com-480176523.patch
++++ /dev/null
+@@ -1,40 +0,0 @@
+-From 98355e3039f4677b19d1358a207f5ae646b935bb Mon Sep 17 00:00:00 2001
+-From: Lukasz Anforowicz <lukasza@chromium.org>
+-Date: Fri, 30 Jan 2026 23:30:50 +0000
+-Subject: [PATCH] Ad-hoc `bytemuck` fix for https://crbug.com/480176523.
+-
+-TODO: Remove this patch from `chromium_crates_io/patches` after
+-rolling `bytemuck` past the actual fix from
+-https://github.com/Lokathor/bytemuck/pull/344
+----
+- .../rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs | 1 -
+- .../rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs | 1 -
+- 2 files changed, 2 deletions(-)
+-
+-diff --git a/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs b/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs
+-index 846f281d975c7..3aaee72a26e85 100644
+---- a/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs
+-+++ b/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs
+-@@ -151,7 +151,6 @@ impl_unsafe_marker_for_simd!(
+- unsafe impl<T, const N: usize> Pod for core::simd::Simd<T, N>
+- where
+- T: core::simd::SimdElement + Pod,
+-- core::simd::LaneCount<N>: core::simd::SupportedLaneCount,
+- {
+- }
+-
+-diff --git a/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs b/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs
+-index d88ba0f6636d0..b0f3b8aca0b08 100644
+---- a/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs
+-+++ b/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs
+-@@ -230,7 +230,6 @@ impl_unsafe_marker_for_simd!(
+- unsafe impl<T, const N: usize> Zeroable for core::simd::Simd<T, N>
+- where
+- T: core::simd::SimdElement + Zeroable,
+-- core::simd::LaneCount<N>: core::simd::SupportedLaneCount,
+- {
+- }
+-
+---
+-2.53.0.rc1.225.gd81095ad13-goog
+-
+diff --git a/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs b/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs
+index b0397923c71..330f722b341 100644
+--- a/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs
++++ b/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs
+@@ -152,6 +152,7 @@ impl_unsafe_marker_for_simd!(
+ unsafe impl<T, const N: usize> Pod for core::simd::Simd<T, N>
+ where
+ T: core::simd::SimdElement + Pod,
++ core::simd::LaneCount<N>: core::simd::SupportedLaneCount,
+ {
+ }
+
+diff --git a/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs b/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs
+index 397dddec99e..186c567fffd 100644
+--- a/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs
++++ b/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs
+@@ -231,6 +231,7 @@ impl_unsafe_marker_for_simd!(
+ unsafe impl<T, const N: usize> Zeroable for core::simd::Simd<T, N>
+ where
+ T: core::simd::SimdElement + Zeroable,
++ core::simd::LaneCount<N>: core::simd::SupportedLaneCount,
+ {
+ }
+
diff --git a/chromium-146-ftfs-llvm-octal-notation.patch b/chromium-146-ftfs-llvm-octal-notation.patch
new file mode 100644
index 0000000..b1916c0
--- /dev/null
+++ b/chromium-146-ftfs-llvm-octal-notation.patch
@@ -0,0 +1,19 @@
+Fix C++ Octal Notation with old llvm-20 on el9, el10.1 and f42
+
+../../components/named_mojo_ipc_server/named_mojo_server_endpoint_connector_linux.cc:119:46: error: invalid suffix 'o666' on integer constant
+ 119 | if (chmod(options_.server_name.c_str(), 0o666) != 0) {
+ | ^
+1 error generated.
+
+diff -up chromium-146.0.7680.65/components/named_mojo_ipc_server/named_mojo_server_endpoint_connector_linux.cc.than chromium-146.0.7680.65/components/named_mojo_ipc_server/named_mojo_server_endpoint_connector_linux.cc
+--- chromium-146.0.7680.65/components/named_mojo_ipc_server/named_mojo_server_endpoint_connector_linux.cc.than 2026-03-10 14:32:08.383467214 +0100
++++ chromium-146.0.7680.65/components/named_mojo_ipc_server/named_mojo_server_endpoint_connector_linux.cc 2026-03-10 14:32:32.286698674 +0100
+@@ -116,7 +116,7 @@ bool NamedMojoServerEndpointConnectorLin
+ if (!options_.require_same_peer_user) {
+ // Allow any user to write to the UDS. fchmod doesn't work after bind(), so
+ // we need to call chmod on the socket filename, which is the server name.
+- if (chmod(options_.server_name.c_str(), 0o666) != 0) {
++ if (chmod(options_.server_name.c_str(), 0666) != 0) {
+ PLOG(ERROR) << "chmod failed";
+ return false;
+ }
diff --git a/chromium-146-llvm-crash.patch b/chromium-146-llvm-crash.patch
new file mode 100644
index 0000000..6465c6f
--- /dev/null
+++ b/chromium-146-llvm-crash.patch
@@ -0,0 +1,17 @@
+Workaround for clang++ crash with llvm-20 on el9, f42 and el10.1
+clang++: error: clang frontend command failed with exit code 139
+
+diff -up chromium-146.0.7680.65/services/network/public/cpp/permissions_policy/origin_with_possible_wildcards.cc.than chromium-146.0.7680.65/services/network/public/cpp/permissions_policy/origin_with_possible_wildcards.cc
+--- chromium-146.0.7680.65/services/network/public/cpp/permissions_policy/origin_with_possible_wildcards.cc.than 2026-03-10 16:03:29.107919285 +0100
++++ chromium-146.0.7680.65/services/network/public/cpp/permissions_policy/origin_with_possible_wildcards.cc 2026-03-10 16:05:09.466591922 +0100
+@@ -94,7 +94,9 @@ bool OriginWithPossibleWildcards::DoesMa
+ }
+
+ bool operator==(const OriginWithPossibleWildcards& lhs,
+- const OriginWithPossibleWildcards& rhs) = default;
++ const OriginWithPossibleWildcards& rhs) {
++ return lhs.csp_source == rhs.csp_source;
++}
+
+ std::strong_ordering operator<=>(const OriginWithPossibleWildcards& lhs,
+ const OriginWithPossibleWildcards& rhs) {
diff --git a/chromium-146-rust-1.88-enable-unstable_features.patch b/chromium-146-rust-1.88-enable-unstable_features.patch
new file mode 100644
index 0000000..b6761e0
--- /dev/null
+++ b/chromium-146-rust-1.88-enable-unstable_features.patch
@@ -0,0 +1,117 @@
+error[E0658]: the target feature `avx512f` is currently unstable
+ --> ../../third_party/rust/chromium_crates_io/vendor/jxl_simd-v0_3/src/x86_64/avx512.rs:123:26
+ |
+123 | #[target_feature(enable = "avx512f")]
+ | ^^^^^^^^^^^^^^^^^^
+ |
+ = note: see issue #44839 <https://github.com/rust-lang/rust/issues/44839> for more information
+ = help: add `#![feature(avx512_target_feature)]` to the crate attributes to enable
+ = note: this compiler was built on 2025-06-23; consider upgrading it if it is out of date
+
+Fix FTBFS on el9
+
+diff -up chromium-146.0.7680.65/third_party/rust/chromium_crates_io/vendor/jxl_simd-v0_3/src/lib.rs.me chromium-146.0.7680.65/third_party/rust/chromium_crates_io/vendor/jxl_simd-v0_3/src/lib.rs
+--- chromium-146.0.7680.65/third_party/rust/chromium_crates_io/vendor/jxl_simd-v0_3/src/lib.rs.me 2026-02-12 20:44:24.000000000 +0100
++++ chromium-146.0.7680.65/third_party/rust/chromium_crates_io/vendor/jxl_simd-v0_3/src/lib.rs 2026-02-15 20:10:02.848196172 +0100
+@@ -4,6 +4,8 @@
+ // license that can be found in the LICENSE file.
+
+ #![allow(clippy::too_many_arguments)]
++#![feature(avx512_target_feature)]
++#![cfg_attr(target_arch = "x86_64", feature(stdarch_x86_avx512))]
+
+ use std::{
+ fmt::Debug,
+diff -up chromium-146.0.7680.65/third_party/rust/chromium_crates_io/vendor/jxl_transforms-v0_3/src/lib.rs.me chromium-146.0.7680.65/third_party/rust/chromium_crates_io/vendor/jxl_transforms-v0_3/src/lib.rs
+--- chromium-146.0.7680.65/third_party/rust/chromium_crates_io/vendor/jxl_transforms-v0_3/src/lib.rs.me 2026-02-12 20:44:24.000000000 +0100
++++ chromium-146.0.7680.65/third_party/rust/chromium_crates_io/vendor/jxl_transforms-v0_3/src/lib.rs 2026-02-15 20:09:43.548731085 +0100
+@@ -3,6 +3,9 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
++#![feature(avx512_target_feature)]
++#![cfg_attr(target_arch = "x86_64", feature(stdarch_x86_avx512))]
++
+ mod idct2d;
+ mod reinterpreting_dct2d;
+ pub mod transform;
+diff -up chromium-146.0.7680.65/third_party/rust/chromium_crates_io/vendor/jxl-v0_3/src/lib.rs.me chromium-146.0.7680.65/third_party/rust/chromium_crates_io/vendor/jxl-v0_3/src/lib.rs
+--- chromium-146.0.7680.65/third_party/rust/chromium_crates_io/vendor/jxl-v0_3/src/lib.rs.me 2026-02-12 20:44:24.000000000 +0100
++++ chromium-146.0.7680.65/third_party/rust/chromium_crates_io/vendor/jxl-v0_3/src/lib.rs 2026-02-15 20:11:01.678559809 +0100
+@@ -3,6 +3,10 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+
++#![feature(avx512_target_feature)]
++#![cfg_attr(target_arch = "x86_64", feature(stdarch_x86_avx512))]
++#![feature(non_null_from_ref)]
++
+ #![deny(unsafe_code)]
+ pub mod api;
+ pub mod bit_reader;
+diff -up chromium-146.0.7680.65/third_party/rust/jxl_simd/v0_3/BUILD.gn.me chromium-146.0.7680.65/third_party/rust/jxl_simd/v0_3/BUILD.gn
+--- chromium-146.0.7680.65/third_party/rust/jxl_simd/v0_3/BUILD.gn.me 2026-02-12 20:44:24.000000000 +0100
++++ chromium-146.0.7680.65/third_party/rust/jxl_simd/v0_3/BUILD.gn 2026-02-15 20:15:51.823722639 +0100
+@@ -36,6 +36,10 @@ cargo_crate("lib") {
+
+ allow_unsafe = true
+
++ rustflags = [
++ "-Zallow-features=stdarch_x86_avx512,avx512_target_feature",
++ ]
++
+ features = [
+ "all-simd",
+ "avx",
+@@ -69,6 +73,7 @@ cargo_crate("lib") {
+ # `extra_kv.configs_to_remove` and `extra_kv.configs_to_add` from
+ # `gnrt_config.toml`).
+ _configs_to_remove += [ "//build/config/compiler:default_optimization" ]
++ _configs_to_remove += [ "//build/config/compiler:disallow_unstable_features" ]
+ _configs_to_add += [ "//build/config/compiler:optimize" ]
+
+ # Applying config changes.
+diff -up chromium-146.0.7680.65/third_party/rust/jxl_transforms/v0_3/BUILD.gn.me chromium-146.0.7680.65/third_party/rust/jxl_transforms/v0_3/BUILD.gn
+--- chromium-146.0.7680.65/third_party/rust/jxl_transforms/v0_3/BUILD.gn.me 2026-02-12 20:44:24.000000000 +0100
++++ chromium-146.0.7680.65/third_party/rust/jxl_transforms/v0_3/BUILD.gn 2026-02-15 20:17:33.887730035 +0100
+@@ -45,6 +45,10 @@ cargo_crate("lib") {
+
+ allow_unsafe = true
+
++ rustflags = [
++ "-Zallow-features=stdarch_x86_avx512,avx512_target_feature",
++ ]
++
+ deps = [ "//third_party/rust/jxl_simd/v0_3:lib" ]
+
+ # Only for usage from third-party crates. Add the crate to
+@@ -72,6 +76,7 @@ cargo_crate("lib") {
+ # `extra_kv.configs_to_remove` and `extra_kv.configs_to_add` from
+ # `gnrt_config.toml`).
+ _configs_to_remove += [ "//build/config/compiler:default_optimization" ]
++ _configs_to_remove += [ "//build/config/compiler:disallow_unstable_features" ]
+ _configs_to_add += [ "//build/config/compiler:optimize" ]
+
+ # Applying config changes.
+diff -up chromium-146.0.7680.65/third_party/rust/jxl/v0_3/BUILD.gn.me chromium-146.0.7680.65/third_party/rust/jxl/v0_3/BUILD.gn
+--- chromium-146.0.7680.65/third_party/rust/jxl/v0_3/BUILD.gn.me 2026-02-12 20:44:24.000000000 +0100
++++ chromium-146.0.7680.65/third_party/rust/jxl/v0_3/BUILD.gn 2026-02-15 20:16:47.026490882 +0100
+@@ -169,6 +169,10 @@ cargo_crate("lib") {
+
+ allow_unsafe = true
+
++ rustflags = [
++ "-Zallow-features=stdarch_x86_avx512,avx512_target_feature,non_null_from_ref",
++ ]
++
+ deps = [
+ "//third_party/rust/array_init/v2:lib",
+ "//third_party/rust/byteorder/v1:lib",
+@@ -201,6 +205,7 @@ cargo_crate("lib") {
+ # `extra_kv.configs_to_remove` and `extra_kv.configs_to_add` from
+ # `gnrt_config.toml`).
+ _configs_to_remove += [ "//build/config/compiler:default_optimization" ]
++ _configs_to_remove += [ "//build/config/compiler:disallow_unstable_features" ]
+ _configs_to_add += [ "//build/config/compiler:optimize" ]
+
+ # Applying config changes.
diff --git a/chromium-146-rust-1.88-undefined-symbol.patch b/chromium-146-rust-1.88-undefined-symbol.patch
new file mode 100644
index 0000000..a134118
--- /dev/null
+++ b/chromium-146-rust-1.88-undefined-symbol.patch
@@ -0,0 +1,19 @@
+diff -up chromium-146.0.7680.65/build/rust/allocator/lib.rs.rustc-1.88-undefined-symbol chromium-146.0.7680.65/build/rust/allocator/lib.rs
+--- chromium-146.0.7680.65/build/rust/allocator/lib.rs.rustc-1.88-undefined-symbol 2026-03-05 02:07:56.000000000 +0100
++++ chromium-146.0.7680.65/build/rust/allocator/lib.rs 2026-03-08 14:09:34.730609122 +0100
+@@ -90,7 +90,6 @@ mod both_allocators {
+ #[linkage = "weak"]
+ fn __rust_no_alloc_shim_is_unstable_v2() {}
+
+- #[cfg(not(RUST_ALLOCATOR_NIGHTLY_CAPABILITY))]
+ #[rustc_std_internal_symbol]
+ #[linkage = "weak"]
+ fn __rust_no_alloc_shim_is_unstable() {}
+@@ -101,7 +100,6 @@ mod both_allocators {
+ 0
+ }
+
+- #[cfg(not(RUST_ALLOCATOR_NIGHTLY_CAPABILITY))]
+ #[rustc_std_internal_symbol]
+ #[linkage = "weak"]
+ fn __rust_alloc_error_handler_should_panic() -> u8 {
diff --git a/chromium.spec b/chromium.spec
index 4698807..dfca7d9 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -262,7 +262,7 @@
%endif
Name: chromium
-Version: 145.0.7632.159
+Version: 146.0.7680.71
Release: 1%{?dist}
Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
Url: http://www.chromium.org/Home
@@ -341,12 +341,10 @@ Patch136: chromium-133-workaround-system-ffmpeg-whitelist.patch
# file conflict with old kernel on el8/el9
Patch141: chromium-118-dma_buf_export_sync_file-conflict.patch
-# fix ftbfs caused by old python-3.9 on el9
-Patch142: chromium-143-python-3.9-ftbfs.patch
-
# fix ftbfs caused by old rustc-1.88 on el9 and 10.1
-Patch143: chromium-145-rust-1.88-enable-unstable_features.patch
-Patch144: chromium-145-rust-1.88-undefined-symbol.patch
+Patch143: chromium-146-rust-1.88-enable-unstable_features.patch
+Patch144: chromium-146-rust-1.88-undefined-symbol.patch
+Patch145: chromium-146-ftbfs-rust-bytemuck.patch
# add correct path for Qt6Gui header and libs
Patch150: chromium-124-qt6.patch
@@ -354,12 +352,15 @@ Patch150: chromium-124-qt6.patch
# fix FTFS caused by missing include file on aarch64/ppc64le
Patch300: chromium-145-swiftshader-missing-include.patch
-# enable rustc_nightly_capability
-Patch301: chromium-145-rustc-enable-nightly.patch
-
-# Fix error with llwm < 21: invalid application of 'sizeof' to an incomplete type 'gfx::Transform'
+# Fix error with llwm < 21 on el9/el10.1/f42: invalid application of 'sizeof' to an incomplete type 'gfx::Transform'
Patch302: chromium-145-static_assert.patch
+# Fix error: invalid suffix 'o666' on integer constant on el9/el10.1/f42 with llvm20
+Patch303: chromium-146-ftfs-llvm-octal-notation.patch
+
+# Workaround for clang++ crash with llvm-20 on el9/el10.1/f42, clang++: error: clang frontend command failed with exit code 139
+Patch304: chromium-146-llvm-crash.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
@@ -404,6 +405,9 @@ Patch318: memory-allocator-dcheck-assert-fix.patch
# compile swiftshader against llvm-16.0
Patch319: chromium-143-swiftshader-llvm-16.0.patch
+# Fix clang++: error: unknown argument: '-fsanitize-ignore-for-ubsan-feature=array-bounds'
+Patch320: chromium-146-clang-unknown-argument.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.
@@ -1091,7 +1095,6 @@ Qt6 UI for chromium.
%if 0%{?rhel} == 8 || 0%{?rhel} == 9
%patch -P141 -p1 -b .dma_buf_export_sync_file-conflict
-%patch -P142 -p1 -b .python-3.9-ftbfs
%endif
%if (0%{?rhel} && 0%{?rhel} < 10) || (0%{?rhel} == 10 && 0%{?rhel_minor_version} < 2)
@@ -1099,14 +1102,17 @@ Qt6 UI for chromium.
%patch -P144 -p1 -b .rustc-1.88-undefined-symbol
%endif
+%patch -P145 -p1 -b .ftbfs-rust-bytemuck
+
%patch -P150 -p1 -b .qt6
%patch -P300 -p1 -b .swiftshader-missing-include
-%patch -P301 -p1 -b .rustc-enable-nightly
# llvm version < 21 on f42/el9/epel10.1
%if (0%{?fedora} && 0%{?fedora} < 43) || (0%{?rhel} && 0%{?rhel} < 10) || (0%{?rhel} == 10 && 0%{?rhel_minor_version} < 2)
%patch -P302 -p1 -b .static_assert
+%patch -P303 -p1 -b .ftfs-llvm-octal-notation
+%patch -P304 -p1 -b .llvm-crash
%endif
%if 0%{?rhel} == 8
@@ -1134,6 +1140,7 @@ Qt6 UI for chromium.
%patch -P318 -p1 -b .memory-allocator-dcheck-assert-fix
%patch -P319 -p1 -b .swiftshader-llvm-16.0
+%patch -P320 -p1 -b .clang-unknown-argument
%if %{disable_bti}
%patch -P352 -p1 -b .workaround_for_crash_on_BTI_capable_system
@@ -1310,7 +1317,8 @@ export LDFLAGS
export RUSTC_BOOTSTRAP=1
# set rustc version
-rustc_version="$(rustc --version)"
+# Fix error: multiple input filenames provided, caused by rustc_wrapper
+rustc_version="$(rustc -V | cut -d' ' -f-2 | sed 's/ /-/')"
# set rust bindgen root
rust_bindgen_root="$(which bindgen | sed 's#/s\?bin/.*##')"
rust_sysroot_absolute="$(rustc --print sysroot)"
@@ -1851,7 +1859,39 @@ fi
%endif
%changelog
-* Wed Mar 06 2026 Than Ngo <than@redhat.com> - 145.0.7632.159-1
+* Thu Mar 12 2026 Than Ngo <than@redhat.com> - 146.0.7680.71-1
+- Update to 146.0.7680.71
+ * CVE-2026-3913: Heap buffer overflow in WebML
+ * CVE-2026-3914: Integer overflow in WebML
+ * CVE-2026-3915: Heap buffer overflow in WebML
+ * CVE-2026-3916: Out of bounds read in Web Speech
+ * CVE-2026-3917: Use after free in Agents
+ * CVE-2026-3918: Use after free in WebMCP
+ * CVE-2026-3919: Use after free in Extensions
+ * CVE-2026-3920: Out of bounds memory access in WebML
+ * CVE-2026-3921: Use after free in TextEncoding
+ * CVE-2026-3922: Use after free in MediaStream
+ * CVE-2026-3923: Use after free in WebMIDI
+ * CVE-2026-3924: Use after free in WindowDialog
+ * CVE-2026-3925: Incorrect security UI in LookalikeChecks
+ * CVE-2026-3926: Out of bounds read in V8
+ * CVE-2026-3927: Incorrect security UI in PictureInPicture
+ * CVE-2026-3928: Insufficient policy enforcement in Extensions
+ * CVE-2026-3929: Side-channel information leakage in ResourceTiming
+ * CVE-2026-3930: Unsafe navigation in Navigation
+ * CVE-2026-3931: Heap buffer overflow in Skia
+ * CVE-2026-3932: Insufficient policy enforcement in PDF
+ * CVE-2026-3934: Insufficient policy enforcement in ChromeDriver
+ * CVE-2026-3935: Incorrect security UI in WebAppInstalls
+ * CVE-2026-3936: Use after free in WebView
+ * CVE-2026-3937: Incorrect security UI in Downloads
+ * CVE-2026-3938: Insufficient policy enforcement in Clipboard
+ * CVE-2026-3939: Insufficient policy enforcement in PDF
+ * CVE-2026-3940: Insufficient policy enforcement in DevTools
+ * CVE-2026-3941: Insufficient policy enforcement in DevTools
+ * CVE-2026-3942: Incorrect security UI in PictureInPicture
+
+* Fri Mar 06 2026 Than Ngo <than@redhat.com> - 145.0.7632.159-1
- Update to 145.0.7632.159
* CVE-2026-3536: Integer overflow in ANGLE
* CVE-2026-3537: Object lifecycle issue in PowerVR
diff --git a/fix-study-crash.patch b/fix-study-crash.patch
index 0a0dd1b..eb3e349 100644
--- a/fix-study-crash.patch
+++ b/fix-study-crash.patch
@@ -1,8 +1,6 @@
-Index: chromium-144.0.7559.59/components/variations/proto/study.proto
-===================================================================
---- 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/components/variations/proto/study.proto
++++ b/components/variations/proto/study.proto
+@@ -294,6 +294,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;
@@ -11,12 +9,10 @@ Index: chromium-144.0.7559.59/components/variations/proto/study.proto
+ PPC64 = 5;
}
- // Enum to pass as optional bool.
-Index: chromium-144.0.7559.59/components/variations/service/variations_field_trial_creator.cc
-===================================================================
---- 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
+ // Possible states of the policy restriction filter.
+--- a/components/variations/service/variations_field_trial_creator.cc
++++ b/components/variations/service/variations_field_trial_creator.cc
+@@ -107,6 +107,9 @@ Study::CpuArchitecture GetCurrentCpuArch
if (process_arch == "x86") {
return Study::X86_32;
}
diff --git a/sources b/sources
index 4aa2951..81fd80c 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
SHA512 (rollup-linux-arm64-gnu-4.22.4.tgz) = 01d3d1a0d8b734a54ba2508dfd2a7817837577df1ce120671cc2a82ee886e915e0a19e2c965b1eb868a8b33ba69cf1a63ccd8eeea6805ff20975e0d4f1fdba03
SHA512 (rollup-linux-powerpc64le-gnu-4.22.4.tgz) = dda5422bdc5f596d68190a53b182493c5e9b7e959f85b46785d97285a936662c852c369acb3d043f98fd5754552c003196658a4c37d2f70c91c98de1be13e83a
SHA512 (node-v22.22.0-stripped.tar.gz) = f32a8a73063b3c78cbacf941e11dd529ebcf2618b3ba661966312e49ee9870c43a3acf256e8d331a4b0b621b16a501810c02a3ad763c75884cc250addca8e106
-SHA512 (chromium-145.0.7632.159-clean.tar.xz) = 0468b3a619e0dc83ded53c906ae1c1c910373bfbcc6865b49138e5af47864127c2670f037dc5ff0f0f327613928830a840524c7f5e09888de133fee9d2b4f18e
+SHA512 (chromium-146.0.7680.71-clean.tar.xz) = c841fd98d34557f386282cdbe0280ffc6cb686dc2316563154861e846696acb932231cf4bd362e11f72444121a70004b595a3759ac217f69b87c46baef4ed824
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-07 16:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-07 16:08 [rpms/chromium] epel9-next: - Update to 146.0.7680.71 Than Ngo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox