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