public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/chromium] epel9-next: - Update to 136.0.7103.48
@ 2026-08-07 16:07 Than Ngo
  0 siblings, 0 replies; only message in thread
From: Than Ngo @ 2026-08-07 16:07 UTC (permalink / raw)
  To: git-commits

          A new commit has been pushed.

          Repo   : rpms/chromium
          Branch : epel9-next
          Commit : c710b35d38ebe3e04f8880bdb3191406f6273441
          Author : Than Ngo <than@redhat.com>
          Date   : 2025-04-29T18:52:43+02:00
          Stats  : +1121/-785 in 29 file(s)
          URL    : https://src.fedoraproject.org/rpms/chromium/c/c710b35d38ebe3e04f8880bdb3191406f6273441?branch=epel9-next

          Log:
          - Update to 136.0.7103.48
* Refresh ppc64le patches
* Drop bundle esbuild
* Drop bundle nodejs
* Refresh system-brotli, unsupport-clang-flags patches
* Disable NodeJS version check
* Fixed ftbfs, skrifa build error due to old rustc
* Drop chromium-133-pipewire-cast patch, merged by upstream
* Drop chromium-135-print-review-fail patch, merged by upstream
* Disable warning-suppression-mappings as it causes FTBFS on el9/f40 due to old llvm

---
diff --git a/.gitignore b/.gitignore
index 9b5ce06..7589f13 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,3 +42,4 @@
 /node-v22.14.0-linux-arm64.tar.xz
 /node-v22.14.0-linux-ppc64le.tar.xz
 /node-v22.14.0-linux-x64.tar.xz
+/node-v22.14.0-stripped.tar.gz

diff --git a/0001-Add-PPC64-support-for-boringssl.patch b/0001-Add-PPC64-support-for-boringssl.patch
index af1288b..85c38d9 100644
--- a/0001-Add-PPC64-support-for-boringssl.patch
+++ b/0001-Add-PPC64-support-for-boringssl.patch
@@ -1,7 +1,7 @@
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/abi_self_test.cc
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/abi_self_test.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/crypto/abi_self_test.cc
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/abi_self_test.cc
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/crypto/abi_self_test.cc
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/abi_self_test.cc
 @@ -521,3 +521,289 @@ TEST(ABITest, AArch64) {
    CHECK_ABI_NO_UNWIND(abi_test_clobber_v15_upper);
  }
@@ -292,10 +292,10 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/boringssl/src/crypto/cpu_ppc64le.cc
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/cpu_ppc64le.cc
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/cpu_ppc64le.cc
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/cpu_ppc64le.cc
 @@ -0,0 +1,38 @@
 +/* Copyright (c) 2016, Google Inc.
 + *
@@ -335,10 +335,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/cpu_ppc64le.cc
 +}
 +
 +#endif  // OPENSSL_PPC64LE
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/crypto.cc
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/crypto.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/crypto/crypto.cc
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/crypto.cc
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/crypto/crypto.cc
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/crypto.cc
 @@ -67,6 +67,10 @@ uint32_t OPENSSL_get_ia32cap(int idx) {
    return OPENSSL_ia32cap_P[idx];
  }
@@ -349,11 +349,11 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/crypto.cc
 +
  #elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
  
- #include <openssl/arm_arch.h>
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
+ #if defined(OPENSSL_STATIC_ARMCAP)
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
++++ chromium-136.0.7103.48/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,11 +4164,11 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/as
 +}
 +
 +close STDOUT or die "error closing STDOUT: $!";
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
-@@ -82,6 +82,12 @@ inline int vpaes_capable(void) { return
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+@@ -81,6 +81,12 @@ inline int vpaes_capable(void) { return
  inline int vpaes_capable(void) { return CRYPTO_is_NEON_capable(); }
  #endif
  
@@ -4181,7 +4181,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/in
  #endif
  
  #endif  // !NO_ASM
-@@ -504,6 +510,13 @@ void aes_gcm_dec_kernel(const uint8_t *i
+@@ -501,6 +507,13 @@ void aes_gcm_dec_kernel(const uint8_t *i
                          const u128 Htable[16]);
  #endif
  
@@ -4195,11 +4195,11 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/in
  #endif
  #endif  // OPENSSL_NO_ASM
  
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
-@@ -105,6 +105,7 @@
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
+@@ -104,6 +104,7 @@
  #include "self_check/fips.cc.inc"
  #include "self_check/self_check.cc.inc"
  #include "service_indicator/service_indicator.cc.inc"
@@ -4207,10 +4207,10 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
 @@ -330,6 +330,23 @@ int bn_expand(BIGNUM *bn, size_t bits) {
  }
  
@@ -4235,11 +4235,11 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/bn/bn.
    if ((size_t)bn->width <= words) {
      if (!bn_wexpand(bn, words)) {
        return 0;
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
-@@ -1234,6 +1234,8 @@ int EVP_has_aes_hardware(void) {
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
+@@ -1231,6 +1231,8 @@ int EVP_has_aes_hardware(void) {
    return hwaes_capable() && crypto_gcm_clmul_enabled();
  #elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
    return hwaes_capable() && CRYPTO_is_ARMv8_PMULL_capable();
@@ -4248,10 +4248,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/cipher
  #else
    return 0;
  #endif
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
 @@ -0,0 +1,671 @@
 +#! /usr/bin/env perl
 +# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
@@ -4924,10 +4924,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/as
 +}
 +
 +close STDOUT or die "error closing STDOUT: $!"; # enforce flush
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
 @@ -233,6 +233,13 @@ void CRYPTO_ghash_init(gmult_func *out_m
      *out_hash = gcm_ghash_neon;
      return;
@@ -4942,11 +4942,11 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/gc
  #endif
  
    gcm_init_nohw(out_table, H);
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
-@@ -170,5 +170,15 @@ TEST(GCMTest, ABI) {
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
+@@ -169,5 +169,15 @@ TEST(GCMTest, ABI) {
      }
    }
  #endif
@@ -4962,10 +4962,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/gc
 +#endif  // GHASH_ASM_PPC64LE
  }
  #endif  // SUPPORTS_ABI_TEST && !OPENSSL_NO_ASM
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
 @@ -30,6 +30,8 @@
  #define EXPECTED_NR_getrandom 278
  #elif defined(OPENSSL_ARM)
@@ -4975,10 +4975,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/rand/getrandom_fi
  #elif defined(OPENSSL_RISCV64)
  #define EXPECTED_NR_getrandom 278
  #endif
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
 @@ -431,6 +431,11 @@ bcm_infallible BCM_rand_bytes_with_addit
      // Take a read lock around accesses to |state->drbg|. This is needed to
      // avoid returning bad entropy if we race with
@@ -4991,10 +4991,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/rand/r
      CRYPTO_MUTEX_lock_read(&state->clear_drbg_lock);
  #endif
      if (!CTR_DRBG_reseed(&state->drbg, seed, reseed_additional_data,
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
 @@ -23,6 +23,16 @@
  extern "C" {
  #endif
@@ -5012,10 +5012,10 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
 @@ -0,0 +1,369 @@
 +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.ccom)
 + * All rights reserved.
@@ -5386,11 +5386,11 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/sha/sh
 +#undef BODY_20_39
 +#undef BODY_40_59
 +#undef BODY_60_79
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/internal.h
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/internal.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/crypto/internal.h
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/internal.h
-@@ -61,8 +61,9 @@ extern "C" {
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/crypto/internal.h
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/internal.h
+@@ -59,8 +59,9 @@ extern "C" {
  #if !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_STATIC_ARMCAP) && \
      (defined(OPENSSL_X86) || defined(OPENSSL_X86_64) ||            \
       defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64))
@@ -5402,10 +5402,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/internal.h
  #define NEED_CPUID
  
  // OPENSSL_cpuid_setup initializes the platform-specific feature cache. This
-@@ -1402,6 +1403,16 @@ inline int CRYPTO_is_ARMv8_SHA512_capabl
- 
+@@ -1401,6 +1402,16 @@ inline int CRYPTO_is_ARMv8_SHA512_capabl
  #endif  // OPENSSL_ARM || OPENSSL_AARCH64
  
+ 
 +#if defined(OPENSSL_PPC64LE)
 +
 +// CRYPTO_is_PPC64LE_vcrypto_capable returns true iff the current CPU supports
@@ -5419,10 +5419,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/internal.h
  #if defined(BORINGSSL_DISPATCH_TEST)
  // Runtime CPU dispatch testing support
  
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
 @@ -0,0 +1,320 @@
 +#! /usr/bin/env perl
 +# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.
@@ -5744,10 +5744,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/perlasm/ppc-xlate
 +___
 +
 +close STDOUT or die "error closing STDOUT: $!";
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/test/abi_test.h
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/test/abi_test.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/crypto/test/abi_test.h
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/test/abi_test.h
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/crypto/test/abi_test.h
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/test/abi_test.h
 @@ -179,7 +179,78 @@ struct alignas(16) Reg128 {
    CALLER_STATE_REGISTER(uint64_t, x28)                               \
    CALLER_STATE_REGISTER(uint64_t, x29)
@@ -5854,10 +5854,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/test/abi_test.h
    static_assert(sizeof...(args) <= 8,
                  "too many arguments for abi_test_trampoline");
  
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
 @@ -0,0 +1,262 @@
 +#!/usr/bin/env perl
 +# Copyright (c) 2019, Google Inc.
@@ -6121,10 +6121,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/test/asm/trampoli
 +
 +print $code;
 +close STDOUT or die "error closing STDOUT: $!";
-Index: chromium-134.0.6998.35/third_party/boringssl/src/include/openssl/target.h
+Index: chromium-136.0.7103.48/third_party/boringssl/src/include/openssl/target.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/include/openssl/target.h
-+++ chromium-134.0.6998.35/third_party/boringssl/src/include/openssl/target.h
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/include/openssl/target.h
++++ chromium-136.0.7103.48/third_party/boringssl/src/include/openssl/target.h
 @@ -34,6 +34,9 @@
  #elif defined(__ARMEL__) || defined(_M_ARM)
  #define OPENSSL_32_BIT
@@ -6135,10 +6135,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/include/openssl/target.h
  #elif defined(__MIPSEL__) && !defined(__LP64__)
  #define OPENSSL_32_BIT
  #define OPENSSL_MIPS
-Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
++++ chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
 @@ -35,6 +35,8 @@ int main(int argc, char **argv) {
      puts("ARM (32-bit)");
  #elif defined(OPENSSL_AARCH64)
@@ -6148,11 +6148,11 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/acvp/modu
  #else
  #error "FIPS build not supported on this architecture"
  #endif
-Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/delocate.go
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/delocate.go
-@@ -54,7 +54,8 @@ type stringWriter interface {
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
++++ chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+@@ -56,7 +56,8 @@ type stringWriter interface {
  type processorType int
  
  const (
@@ -6162,7 +6162,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
  	aarch64
  )
  
-@@ -67,6 +68,8 @@ type delocation struct {
+@@ -69,6 +70,8 @@ type delocation struct {
  
  	// symbols is the set of symbols defined in the module.
  	symbols map[string]struct{}
@@ -6171,7 +6171,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
  	// redirectors maps from out-call symbol name to the name of a
  	// redirector function for that symbol. E.g. “memcpy” ->
  	// “bcm_redirector_memcpy”.
-@@ -75,6 +78,9 @@ type delocation struct {
+@@ -77,6 +80,9 @@ type delocation struct {
  	// should be used to reference it. E.g. “P384_data_storage” ->
  	// “P384_data_storage”.
  	bssAccessorsNeeded map[string]string
@@ -6181,7 +6181,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
  	// gotExternalsNeeded is a set of symbol names for which we need
  	// “delta” symbols: symbols that contain the offset from their location
  	// to the memory in question.
-@@ -151,6 +157,8 @@ func (d *delocation) processInput(input
+@@ -155,6 +161,8 @@ func (d *delocation) processInput(input
  			switch d.processor {
  			case x86_64:
  				statement, err = d.processIntelInstruction(statement, node.up)
@@ -6190,7 +6190,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
  			case aarch64:
  				statement, err = d.processAarch64Instruction(statement, node.up)
  			default:
-@@ -247,7 +255,7 @@ func (d *delocation) processDirective(st
+@@ -255,7 +263,7 @@ func (d *delocation) processDirective(st
  			d.writeNode(statement)
  			break
  
@@ -6199,7 +6199,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
  			d.writeNode(statement)
  			break
  
-@@ -336,6 +344,10 @@ func (d *delocation) processLabelContain
+@@ -344,6 +352,10 @@ func (d *delocation) processLabelContain
  		d.output.WriteString("\t" + name + "\t" + strings.Join(args, ", ") + "\n")
  	}
  
@@ -6210,7 +6210,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
  	return statement, nil
  }
  
-@@ -659,6 +671,191 @@ func (d *delocation) processAarch64Instr
+@@ -701,6 +713,191 @@ func (d *delocation) processAarch64Instr
  	return statement, nil
  }
  
@@ -6402,7 +6402,7 @@ Index: chromium-134.0.6998.35/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)
-@@ -713,6 +910,215 @@ func (d *delocation) parseMemRef(memRef
+@@ -755,6 +952,215 @@ func (d *delocation) parseMemRef(memRef
  	return
  }
  
@@ -6618,7 +6618,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
  /* Intel */
  
  type instructionType int
-@@ -1345,6 +1751,8 @@ func writeAarch64Function(w stringWriter
+@@ -1368,6 +1774,8 @@ func writeAarch64Function(w stringWriter
  func transform(w stringWriter, inputs []inputFile) error {
  	// symbols contains all defined symbols.
  	symbols := make(map[string]struct{})
@@ -6627,8 +6627,8 @@ Index: chromium-134.0.6998.35/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
-@@ -1368,6 +1776,25 @@ func transform(w stringWriter, inputs []
- 		}, ruleStatement, ruleLabel, ruleSymbolName)
+@@ -1400,6 +1808,25 @@ func transform(w stringWriter, inputs []
+ 		}, ruleStatement, ruleSymbolDefiningDirective, ruleSymbolDefiningDirectiveName)
  
  		forEachPath(input.ast.up, func(node *node32) {
 +			node = node.up
@@ -6653,7 +6653,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
  			assertNodeType(node, ruleLocationDirective)
  			directive := input.contents[node.begin:node.end]
  			if !strings.HasPrefix(directive, ".file") {
-@@ -1415,11 +1842,13 @@ func transform(w stringWriter, inputs []
+@@ -1447,11 +1874,13 @@ func transform(w stringWriter, inputs []
  
  	d := &delocation{
  		symbols:             symbols,
@@ -6667,7 +6667,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
  		gotExternalsNeeded:  make(map[string]struct{}),
  		gotOffsetsNeeded:    make(map[string]struct{}),
  		gotOffOffsetsNeeded: make(map[string]struct{}),
-@@ -1454,6 +1883,22 @@ func transform(w stringWriter, inputs []
+@@ -1486,6 +1915,22 @@ func transform(w stringWriter, inputs []
  	for _, name := range redirectorNames {
  		redirector := d.redirectors[name]
  		switch d.processor {
@@ -6690,7 +6690,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
  		case aarch64:
  			writeAarch64Function(w, redirector, func(w stringWriter) {
  				w.WriteString("\tb " + name + "\n")
-@@ -1478,6 +1923,13 @@ func transform(w stringWriter, inputs []
+@@ -1510,6 +1955,13 @@ func transform(w stringWriter, inputs []
  		target := d.bssAccessorsNeeded[name]
  
  		switch d.processor {
@@ -6704,7 +6704,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
  		case x86_64:
  			w.WriteString(".type " + funcName + ", @function\n")
  			w.WriteString(funcName + ":\n")
-@@ -1493,6 +1945,26 @@ func transform(w stringWriter, inputs []
+@@ -1525,6 +1977,26 @@ func transform(w stringWriter, inputs []
  	}
  
  	switch d.processor {
@@ -6731,7 +6731,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
  	case aarch64:
  		externalNames := sortedSet(d.gotExternalsNeeded)
  		for _, symbol := range externalNames {
-@@ -1803,6 +2275,10 @@ func localTargetName(name string) string
+@@ -1816,6 +2288,10 @@ func localTargetName(name string) string
  	return ".L" + name + "_local_target"
  }
  
@@ -6741,8 +6741,8 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
 +
  func isSynthesized(symbol string) bool {
  	return strings.HasSuffix(symbol, "_bss_get") ||
- 		symbol == "OPENSSL_ia32cap_get" ||
-@@ -1894,6 +2370,8 @@ func detectProcessor(input inputFile) pr
+ 		strings.HasPrefix(symbol, "BORINGSSL_bcm_text_")
+@@ -1870,6 +2346,8 @@ func detectProcessor(input inputFile) pr
  		switch instructionName {
  		case "movq", "call", "leaq":
  			return x86_64
@@ -6751,10 +6751,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
  		case "str", "bl", "ldr", "st1":
  			return aarch64
  		}
-Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
++++ chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
 @@ -12,9 +12,9 @@
  # See the License for the specific language governing permissions and
  # limitations under the License.
@@ -6768,10 +6768,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
  
  # To regenerate delocate.peg.go:
  #
-Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
++++ chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
 @@ -39,6 +39,11 @@ func (test *delocateTest) Path(file stri
  
  var delocateTests = []delocateTest{
@@ -6784,10 +6784,10 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
++++ chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
 @@ -0,0 +1,9 @@
 +	.text
 +foo:
@@ -6798,10 +6798,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
 +	.localentry foo,.-foo
 +.LVL0:
 +	bl
-Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
++++ chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
 @@ -0,0 +1,62 @@
 +.text
 +.file 1 "inserted_by_delocate.cc"
@@ -6865,19 +6865,19 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
 +.byte 0xff
 +.byte 0x31
 +.byte 0x80
-Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
++++ chromium-136.0.7103.48/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-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
++++ chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
 @@ -0,0 +1,72 @@
 +.text
 +.file 1 "inserted_by_delocate.cc"
@@ -6951,10 +6951,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
 +.byte 0xff
 +.byte 0x31
 +.byte 0x80
-Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
++++ chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
 @@ -0,0 +1,161 @@
 +	.file	"foo.cc"
 +	.abiversion 2
@@ -7117,10 +7117,10 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
++++ chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
 @@ -0,0 +1,552 @@
 +.text
 +.file 1 "inserted_by_delocate.cc"
@@ -7674,10 +7674,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
 +.byte 0xff
 +.byte 0x31
 +.byte 0x80
-Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
++++ chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
 @@ -0,0 +1,226 @@
 +	.file	"foo.cc"
 +	.abiversion 2
@@ -7905,10 +7905,10 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
++++ chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
 @@ -0,0 +1,677 @@
 +.text
 +.file 1 "inserted_by_delocate.cc"
@@ -8587,10 +8587,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
 +.byte 0xff
 +.byte 0x31
 +.byte 0x80
-Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
++++ chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
 @@ -0,0 +1,23 @@
 +	.text
 +foo:
@@ -8615,10 +8615,10 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
++++ chromium-136.0.7103.48/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
 @@ -0,0 +1,178 @@
 +.text
 +.file 1 "inserted_by_delocate.cc"
@@ -8798,10 +8798,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/
 +.byte 0xff
 +.byte 0x31
 +.byte 0x80
-Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
+Index: chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
-+++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
++++ chromium-136.0.7103.48/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
 @@ -367,6 +367,10 @@ static void sha1_block_data_order(uint32
      return;
    }
@@ -8813,11 +8813,11 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/sha/sh
    sha1_block_data_order_nohw(state, data, num);
  }
  
-Index: chromium-134.0.6998.35/third_party/boringssl/src/build.json
+Index: chromium-136.0.7103.48/third_party/boringssl/src/build.json
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/build.json
-+++ chromium-134.0.6998.35/third_party/boringssl/src/build.json
-@@ -126,6 +126,10 @@
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/build.json
++++ chromium-136.0.7103.48/third_party/boringssl/src/build.json
+@@ -128,6 +128,10 @@
              {"src": "crypto/fipsmodule/sha/asm/sha512-armv4.pl"},
              {"src": "crypto/fipsmodule/aes/asm/vpaes-armv7.pl"}
          ],
@@ -8828,7 +8828,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/build.json
          "perlasm_x86": [
              {"src": "crypto/fipsmodule/aes/asm/aesni-x86.pl"},
              {"src": "crypto/fipsmodule/bn/asm/bn-586.pl"},
-@@ -229,6 +233,7 @@
+@@ -234,6 +238,7 @@
              "crypto/cpu_arm_freebsd.cc",
              "crypto/cpu_arm_linux.cc",
              "crypto/cpu_intel.cc",
@@ -8836,7 +8836,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/build.json
              "crypto/crypto.cc",
              "crypto/curve25519/curve25519.cc",
              "crypto/curve25519/curve25519_64_adx.cc",
-@@ -787,6 +792,9 @@
+@@ -791,6 +796,9 @@
          "perlasm_arm": [
              {"src": "crypto/test/asm/trampoline-armv4.pl"}
          ],
@@ -8846,10 +8846,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/build.json
          "perlasm_x86": [
              {"src": "crypto/test/asm/trampoline-x86.pl"}
          ],
-Index: chromium-134.0.6998.35/third_party/boringssl/src/util/pregenerate/build.go
+Index: chromium-136.0.7103.48/third_party/boringssl/src/util/pregenerate/build.go
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/util/pregenerate/build.go
-+++ chromium-134.0.6998.35/third_party/boringssl/src/util/pregenerate/build.go
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/util/pregenerate/build.go
++++ chromium-136.0.7103.48/third_party/boringssl/src/util/pregenerate/build.go
 @@ -38,6 +38,7 @@ type InputTarget struct {
  	// architecture.
  	PerlasmAarch64 []PerlasmSource `json:"perlasm_aarch64,omitempty"`
@@ -8868,10 +8868,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/util/pregenerate/build.g
  	for _, p := range in.PerlasmX86 {
  		addPerlasmTask(&out.Asm, &p, "-apple.S", []string{"macosx", "-fPIC"})
  		addPerlasmTask(&out.Asm, &p, "-linux.S", []string{"elf", "-fPIC"})
-Index: chromium-134.0.6998.35/third_party/boringssl/README.ppc64le
+Index: chromium-136.0.7103.48/third_party/boringssl/README.ppc64le
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/README.ppc64le
++++ chromium-136.0.7103.48/third_party/boringssl/README.ppc64le
 @@ -0,0 +1,8 @@
 +==============================================================
 +To recreate boringssl pregenerated files patch for ppc64le:
@@ -8881,11 +8881,11 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/boringssl/src/gen/sources.gni
+Index: chromium-136.0.7103.48/third_party/boringssl/src/gen/sources.gni
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/gen/sources.gni
-+++ chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.gni
-@@ -119,6 +119,7 @@ bcm_sources_asm = [
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/gen/sources.gni
++++ chromium-136.0.7103.48/third_party/boringssl/src/gen/sources.gni
+@@ -121,6 +121,7 @@ bcm_sources_asm = [
    "gen/bcm/aesv8-gcm-armv8-apple.S",
    "gen/bcm/aesv8-gcm-armv8-linux.S",
    "gen/bcm/aesv8-gcm-armv8-win.S",
@@ -8893,7 +8893,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.gni
    "gen/bcm/armv4-mont-linux.S",
    "gen/bcm/armv8-mont-apple.S",
    "gen/bcm/armv8-mont-linux.S",
-@@ -135,6 +136,7 @@ bcm_sources_asm = [
+@@ -137,6 +138,7 @@ bcm_sources_asm = [
    "gen/bcm/ghash-neon-armv8-apple.S",
    "gen/bcm/ghash-neon-armv8-linux.S",
    "gen/bcm/ghash-neon-armv8-win.S",
@@ -8901,7 +8901,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.gni
    "gen/bcm/ghash-ssse3-x86-apple.S",
    "gen/bcm/ghash-ssse3-x86-linux.S",
    "gen/bcm/ghash-ssse3-x86_64-apple.S",
-@@ -328,6 +330,7 @@ crypto_sources = [
+@@ -333,6 +335,7 @@ crypto_sources = [
    "crypto/cpu_arm_freebsd.cc",
    "crypto/cpu_arm_linux.cc",
    "crypto/cpu_intel.cc",

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

diff --git a/0001-Implement-support-for-ppc64-on-Linux.patch b/0001-Implement-support-for-ppc64-on-Linux.patch
index 90eedf6..0c598c4 100644
--- a/0001-Implement-support-for-ppc64-on-Linux.patch
+++ b/0001-Implement-support-for-ppc64-on-Linux.patch
@@ -54,10 +54,10 @@ https://wiki.raptorcs.com/wiki/Porting/Chromium
  src/tools/linux/md2core/minidump-2-core.cc    | 45 +++++++++++++++
  25 files changed, 281 insertions(+), 35 deletions(-)
 
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
 @@ -51,6 +51,8 @@ typedef MDRawContextRISCV64 RawContextCP
  # else
  #  error "Unexpected __riscv_xlen"
@@ -67,10 +67,10 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dum
  #else
  #error "This code has not been ported to your platform yet."
  #endif
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
 @@ -336,7 +336,42 @@ void ThreadInfo::FillCPUContext(RawConte
  #error "Unexpected __riscv_xlen"
  #endif
@@ -153,10 +153,10 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dum
 +#endif
 +
  }  // namespace google_breakpad
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
 @@ -67,6 +67,10 @@ struct ThreadInfo {
    // Use the structures defined in <sys/user.h>
    struct user_regs_struct regs;
@@ -180,10 +180,10 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dum
  };
  
  }  // namespace google_breakpad
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
 @@ -324,6 +324,48 @@ void UContextReader::FillCPUContext(RawC
  #error "Unexpected __riscv_xlen"
  #endif
@@ -233,10 +233,10 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dum
  #endif
  
  }  // namespace google_breakpad
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
 @@ -54,6 +54,9 @@ struct UContextReader {
  #elif defined(__aarch64__)
    static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc,
@@ -247,11 +247,11 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dum
  #else
    static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc);
  #endif
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
-@@ -464,6 +464,13 @@ bool ExceptionHandler::HandleSignal(int
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+@@ -465,6 +465,13 @@ bool ExceptionHandler::HandleSignal(int
      memcpy(&g_crash_context_.float_state, fp_ptr,
             sizeof(g_crash_context_.float_state));
    }
@@ -265,7 +265,7 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/han
  #elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
    ucontext_t* uc_ptr = (ucontext_t*)uc;
    if (uc_ptr->uc_mcontext.fpregs) {
-@@ -701,10 +708,18 @@ bool ExceptionHandler::WriteMinidump() {
+@@ -703,10 +710,18 @@ bool ExceptionHandler::WriteMinidump() {
    }
  #endif
  
@@ -285,7 +285,7 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/han
    context.tid = sys_gettid();
  
    // Add an exception stream to the minidump for better reporting.
-@@ -725,6 +740,9 @@ bool ExceptionHandler::WriteMinidump() {
+@@ -727,6 +742,9 @@ bool ExceptionHandler::WriteMinidump() {
  #elif defined(__mips__)
    context.siginfo.si_addr =
        reinterpret_cast<void*>(context.context.uc_mcontext.pc);
@@ -295,10 +295,10 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
 @@ -200,7 +200,11 @@ class ExceptionHandler {
      siginfo_t siginfo;
      pid_t tid;  // the crashing thread.
@@ -312,11 +312,11 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/han
      fpstate_t float_state;
  #endif
    };
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
-@@ -321,7 +321,7 @@ TEST(ExceptionHandlerTest, ParallelChild
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
+@@ -326,7 +326,7 @@ TEST(ExceptionHandlerTest, ParallelChild
        ASSERT_EQ(SIGSEGV, WTERMSIG(status));
        return;
      } else {
@@ -325,7 +325,7 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/han
      }
    }
  
-@@ -576,6 +576,8 @@ const unsigned char kIllegalInstruction[
+@@ -582,6 +582,8 @@ const unsigned char kIllegalInstruction[
  #if defined(__mips__)
    // mfc2 zero,Impl - usually illegal in userspace.
    0x48, 0x00, 0x00, 0x48
@@ -334,7 +334,7 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/han
  #else
    // This crashes with SIGILL on x86/x86-64/arm.
    0xff, 0xff, 0xff, 0xff
-@@ -771,10 +773,10 @@ TEST(ExceptionHandlerTest, InstructionPo
+@@ -777,10 +779,10 @@ TEST(ExceptionHandlerTest, InstructionPo
  
    // These are defined here so the parent can use them to check the
    // data from the minidump afterwards.
@@ -347,22 +347,22 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/han
    const int kOffset = kMemorySize - sizeof(kIllegalInstruction);
  
    const pid_t child = fork();
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
-@@ -141,7 +141,9 @@ class MicrodumpWriter {
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
+@@ -143,7 +143,9 @@ class MicrodumpWriter {
                    const MicrodumpExtraInfo& microdump_extra_info,
                    LinuxDumper* dumper)
-       : ucontext_(context ? &context->context : NULL),
+       : ucontext_(context ? &context->context : nullptr),
 -#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
 +#if defined(__powerpc64__)
-+        vector_state_(context ? &context->vector_state : NULL),
++        vector_state_(context ? &context->vector_state : nullptr),
 +#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
-         float_state_(context ? &context->float_state : NULL),
+         float_state_(context ? &context->float_state : nullptr),
  #endif
          dumper_(dumper),
-@@ -348,6 +350,8 @@ class MicrodumpWriter {
+@@ -350,6 +352,8 @@ class MicrodumpWriter {
  # else
  #  error "Unexpected __riscv_xlen"
  # endif
@@ -371,7 +371,7 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/mic
  #else
  # error "This code has not been ported to your platform yet"
  #endif
-@@ -420,7 +424,9 @@ class MicrodumpWriter {
+@@ -422,7 +426,9 @@ class MicrodumpWriter {
    void DumpCPUState() {
      RawContextCPU cpu;
      my_memset(&cpu, 0, sizeof(RawContextCPU));
@@ -382,7 +382,7 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/mic
      UContextReader::FillCPUContext(&cpu, ucontext_, float_state_);
  #else
      UContextReader::FillCPUContext(&cpu, ucontext_);
-@@ -616,7 +622,9 @@ class MicrodumpWriter {
+@@ -618,7 +624,9 @@ class MicrodumpWriter {
    void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
  
    const ucontext_t* const ucontext_;
@@ -393,10 +393,10 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/mic
    const google_breakpad::fpstate_t* const float_state_;
  #endif
    LinuxDumper* dumper_;
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
 @@ -282,10 +282,19 @@ TEST(MicrodumpWriterTest, BasicWithMappi
    CrashAndGetMicrodump(mappings, MicrodumpExtraInfo(), &buf);
    ASSERT_TRUE(ContainsMicrodump(buf));
@@ -420,10 +420,10 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/mic
  #else
    ASSERT_NE(std::string::npos,
              buf.find("M 00001000 0000002A 00001000 "
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
 @@ -118,6 +118,9 @@ bool LinuxCoreDumper::GetThreadInfoByInd
  #elif defined(__riscv)
      stack_pointer = reinterpret_cast<uint8_t*>(
@@ -446,10 +446,10 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
 @@ -770,7 +770,9 @@ bool LinuxDumper::GetStackInfo(const voi
        reinterpret_cast<uint8_t*>(int_stack_pointer & ~(page_size - 1));
  
@@ -461,10 +461,10 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/min
  
    const MappingInfo* mapping = FindMapping(stack_pointer);
    if (!mapping)
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
++++ chromium-136.0.7103.48/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,11 +475,11 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/min
  typedef Elf64_auxv_t elf_aux_entry;
  #endif
  
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
-@@ -56,6 +56,8 @@
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
++++ chromium-136.0.7103.48/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)
  #define TID_PTR_REGISTER "x4"
@@ -488,10 +488,10 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/min
  #else
  #error This test has not been ported to this platform.
  #endif
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
++++ chromium-136.0.7103.48/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 +533,10 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/min
  #else
  # error "This code hasn't been ported to your platform yet."
  #endif
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
 @@ -470,6 +470,9 @@ TEST(LinuxPtraceDumperTest, VerifyStackR
  #elif defined(__riscv)
      pid_t* process_tid_location =
@@ -556,22 +556,22 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/min
  #else
  #error This test has not been ported to this platform.
  #endif
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
-@@ -144,7 +144,9 @@ class MinidumpWriter {
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
+@@ -145,7 +145,9 @@ class MinidumpWriter {
        : fd_(minidump_fd),
          path_(minidump_path),
-         ucontext_(context ? &context->context : NULL),
+         ucontext_(context ? &context->context : nullptr),
 -#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
 +#if defined(__powerpc64__)
-+        vector_state_(context ? &context->vector_state : NULL),
++        vector_state_(context ? &context->vector_state : nullptr),
 +#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
-         float_state_(context ? &context->float_state : NULL),
+         float_state_(context ? &context->float_state : nullptr),
  #endif
          dumper_(dumper),
-@@ -476,7 +478,9 @@ class MinidumpWriter {
+@@ -477,7 +479,9 @@ class MinidumpWriter {
          if (!cpu.Allocate())
            return false;
          my_memset(cpu.get(), 0, sizeof(RawContextCPU));
@@ -582,7 +582,7 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/min
          UContextReader::FillCPUContext(cpu.get(), ucontext_, float_state_);
  #else
          UContextReader::FillCPUContext(cpu.get(), ucontext_);
-@@ -953,7 +957,7 @@ class MinidumpWriter {
+@@ -954,7 +958,7 @@ class MinidumpWriter {
      dirent->location.rva = 0;
    }
  
@@ -591,7 +591,7 @@ Index: chromium-134.0.6998.35/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";
-@@ -973,7 +977,9 @@ class MinidumpWriter {
+@@ -974,7 +978,9 @@ class MinidumpWriter {
  
      // processor_architecture should always be set, do this first
      sys_info->processor_architecture =
@@ -602,7 +602,7 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/min
  # if _MIPS_SIM == _ABIO32
          MD_CPU_ARCHITECTURE_MIPS;
  # elif _MIPS_SIM == _ABI64
-@@ -1440,7 +1446,9 @@ class MinidumpWriter {
+@@ -1441,7 +1447,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 +613,10 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/min
    const google_breakpad::fpstate_t* const float_state_;  // ditto
  #endif
    LinuxDumper* dumper_;
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
 @@ -47,6 +47,8 @@ class ExceptionHandler;
  
  #if defined(__aarch64__)
@@ -626,10 +626,10 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
 @@ -723,6 +723,9 @@ TEST(MinidumpWriterTest, InvalidStackPoi
  #elif defined(__riscv)
    context.context.uc_mcontext.__gregs[MD_CONTEXT_RISCV_REG_SP] =
@@ -640,10 +640,10 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/min
  #else
  # error "This code has not been ported to your platform yet."
  #endif
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
++++ chromium-136.0.7103.48/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 +654,10 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
 @@ -179,9 +179,10 @@ TEST_F(MemoryMappedFileTest, RemapAfterM
  TEST_F(MemoryMappedFileTest, MapWithOffset) {
    // Put more data in the test file this time. Offsets can only be
@@ -672,25 +672,25 @@ Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/common/linux/mem
    for (size_t i = 0; i < data1_size; ++i) {
      data1[i] = i & 0x7f;
    }
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
++++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
 @@ -60,8 +60,9 @@ TEST(PageAllocatorTest, LargeObject) {
  
    EXPECT_EQ(0U, allocator.pages_allocated());
    uint8_t* p = reinterpret_cast<uint8_t*>(allocator.Alloc(10000));
 +  uint64_t expected_pages = 1 + ((10000 - 1) / getpagesize());
-   ASSERT_FALSE(p == NULL);
+   ASSERT_FALSE(p == nullptr);
 -  EXPECT_EQ(3U, allocator.pages_allocated());
 +  EXPECT_EQ(expected_pages, allocator.pages_allocated());
    for (unsigned i = 1; i < 10; ++i) {
      uint8_t* p = reinterpret_cast<uint8_t*>(allocator.Alloc(i));
-     ASSERT_FALSE(p == NULL);
-Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
+     ASSERT_FALSE(p == nullptr);
+Index: chromium-136.0.7103.48/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
-+++ chromium-134.0.6998.35/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
+--- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
++++ chromium-136.0.7103.48/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/0001-Remove-unused-OpenSSL-config.patch b/0001-Remove-unused-OpenSSL-config.patch
new file mode 100644
index 0000000..5ad7382
--- /dev/null
+++ b/0001-Remove-unused-OpenSSL-config.patch
@@ -0,0 +1,46 @@
+From e93d9b5fdcd8e5744de629461c03a07de2252f8f Mon Sep 17 00:00:00 2001
+From: Stephen Gallagher <sgallagh@redhat.com>
+Date: Fri, 17 Apr 2020 12:59:44 +0200
+Subject: [PATCH] Remove unused OpenSSL config
+
+The build process will try to create these config files, even when
+using the system OpenSSL and will thus fail since we strip this path
+from the tarball.
+
+Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
+Signed-off-by: rpm-build <rpm-build>
+---
+ node.gyp | 17 -----------------
+ 1 file changed, 17 deletions(-)
+
+diff --git a/node.gyp b/node.gyp
+index 1147495..da6ea50 100644
+--- a/node.gyp
++++ b/node.gyp
+@@ -822,23 +822,6 @@
+               ],
+             },
+           ],
+-         }, {
+-           'variables': {
+-              'opensslconfig_internal': '<(obj_dir)/deps/openssl/openssl.cnf',
+-              'opensslconfig': './deps/openssl/nodejs-openssl.cnf',
+-           },
+-           'actions': [
+-             {
+-               'action_name': 'reset_openssl_cnf',
+-               'inputs': [ '<(opensslconfig)', ],
+-               'outputs': [ '<(opensslconfig_internal)', ],
+-               'action': [
+-                 '<(python)', 'tools/copyfile.py',
+-                 '<(opensslconfig)',
+-                 '<(opensslconfig_internal)',
+-               ],
+-             },
+-           ],
+          }],
+       ],
+     }, # node_core_target_name
+-- 
+2.47.0
+

diff --git a/0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64.patch b/0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64.patch
index ffe2476..3a74920 100644
--- a/0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64.patch
+++ b/0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64.patch
@@ -1,6 +1,21 @@
-diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64 chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
---- chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc.0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64	2025-03-12 02:09:02.000000000 +0100
-+++ chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc	2025-03-19 16:20:41.392330750 +0100
+From da52663deec77f705d7d58b18484c3e28e563f10 Mon Sep 17 00:00:00 2001
+From: Shawn Anastasio <shawnanastasio@yahoo.com>
+Date: Tue, 18 Sep 2018 18:39:28 -0500
+Subject: [PATCH] sandbox/linux: Update syscall helpers/lists for ppc64
+
+---
+ .../seccomp-bpf-helpers/baseline_policy.cc    |   8 +-
+ .../syscall_parameters_restrictions.cc        |   2 +-
+ .../syscall_parameters_restrictions.h         |   2 +-
+ .../linux/seccomp-bpf-helpers/syscall_sets.cc | 108 ++++++++++--------
+ .../linux/seccomp-bpf-helpers/syscall_sets.h  |   6 +-
+ sandbox/linux/services/syscall_wrappers.cc    |   2 +-
+ 6 files changed, 73 insertions(+), 55 deletions(-)
+
+Index: chromium-136.0.7103.48/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+===================================================================
+--- chromium-136.0.7103.48.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
++++ chromium-136.0.7103.48/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
 @@ -90,7 +90,8 @@ bool IsBaselinePolicyWatched(int sysno)
           SyscallSets::IsPrctl(sysno) ||
           SyscallSets::IsProcessGroupOrSession(sysno) ||
@@ -39,19 +54,20 @@ diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/baseline_polic
    if (SyscallSets::IsSocketCall(sysno))
      return RestrictSocketcallCommand();
  #endif
-diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64 chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
---- chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc.0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64	2025-03-12 02:09:02.000000000 +0100
-+++ chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc	2025-03-19 16:24:53.188175179 +0100
-@@ -35,7 +35,7 @@
+Index: chromium-136.0.7103.48/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+===================================================================
+--- chromium-136.0.7103.48.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
++++ chromium-136.0.7103.48/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+@@ -36,7 +36,7 @@
+ #include "sandbox/linux/system_headers/linux_syscalls.h"
  #include "sandbox/linux/system_headers/linux_time.h"
  
- #if BUILDFLAG(IS_LINUX) && !defined(__arm__) && !defined(__aarch64__) && \
--    !defined(PTRACE_GET_THREAD_AREA)
-+    !defined(__powerpc64__) && !defined(PTRACE_GET_THREAD_AREA)
+-#if BUILDFLAG(IS_LINUX) && !defined(__arm__) && !defined(__aarch64__) && \
++#if BUILDFLAG(IS_LINUX) && !defined(__arm__) && !defined(__aarch64__) && !defined(__powerpc64__) && \
+     !defined(PTRACE_GET_THREAD_AREA)
  // Also include asm/ptrace-abi.h since ptrace.h in older libc (for instance
  // the one in Ubuntu 16.04 LTS) is missing PTRACE_GET_THREAD_AREA.
- // asm/ptrace-abi.h doesn't exist on arm32 and PTRACE_GET_THREAD_AREA isn't
-@@ -43,6 +43,11 @@
+@@ -45,6 +45,11 @@
  #include <asm/ptrace-abi.h>
  #endif
  
@@ -63,7 +79,7 @@ diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parame
  #if BUILDFLAG(IS_ANDROID)
  
  #if !defined(F_DUPFD_CLOEXEC)
-@@ -100,6 +105,15 @@ inline bool IsArchitectureMips() {
+@@ -102,6 +107,15 @@ inline bool IsArchitectureMips() {
  #endif
  }
  
@@ -79,7 +95,7 @@ diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parame
  // Ubuntu's version of glibc has a race condition in sem_post that can cause
  // it to call futex(2) with bogus op arguments. To workaround this, we need
  // to allow those futex(2) calls to fail with EINVAL, instead of crashing the
-@@ -267,9 +281,11 @@ ResultExpr RestrictFcntlCommands() {
+@@ -269,9 +283,11 @@ ResultExpr RestrictFcntlCommands() {
    // operator.
    // Glibc overrides the kernel's O_LARGEFILE value. Account for this.
    uint64_t kOLargeFileFlag = O_LARGEFILE;
@@ -92,7 +108,7 @@ diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parame
    const Arg<int> cmd(1);
    const Arg<long> long_arg(2);
  
-@@ -292,8 +308,17 @@ ResultExpr RestrictFcntlCommands() {
+@@ -294,8 +310,17 @@ ResultExpr RestrictFcntlCommands() {
                F_SETLKW,
                F_GETLK,
                F_DUPFD,
@@ -112,7 +128,7 @@ diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parame
        .Case(F_SETFL,
              If((long_arg & ~kAllowedMask) == 0, Allow()).Else(CrashSIGSYS()))
        .Case(F_ADD_SEALS,
-@@ -302,7 +327,7 @@ ResultExpr RestrictFcntlCommands() {
+@@ -304,7 +329,7 @@ ResultExpr RestrictFcntlCommands() {
    // clang-format on
  }
  
@@ -121,7 +137,7 @@ diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parame
  ResultExpr RestrictSocketcallCommand() {
    // Unfortunately, we are unable to restrict the first parameter to
    // socketpair(2). Whilst initially sounding bad, it's noteworthy that very
-@@ -459,7 +484,7 @@ ResultExpr RestrictPtrace() {
+@@ -470,7 +495,7 @@ ResultExpr RestrictPtrace() {
  #endif
    return Switch(request)
        .Cases({
@@ -130,9 +146,10 @@ diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parame
                   PTRACE_GETREGS, PTRACE_GETFPREGS, PTRACE_GET_THREAD_AREA,
                   PTRACE_GETREGSET,
  #endif
-diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h.0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64 chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
---- chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h.0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64	2025-03-12 02:09:02.000000000 +0100
-+++ chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h	2025-03-19 16:20:41.397390842 +0100
+Index: chromium-136.0.7103.48/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
+===================================================================
+--- chromium-136.0.7103.48.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
++++ chromium-136.0.7103.48/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
 @@ -52,7 +52,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Restr
  // O_NONBLOCK | O_SYNC | O_LARGEFILE | O_CLOEXEC | O_NOATIME.
  SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictFcntlCommands();
@@ -142,9 +159,10 @@ diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_parame
  // Restrict socketcall(2) to only allow socketpair(2), send(2), recv(2),
  // sendto(2), recvfrom(2), shutdown(2), sendmsg(2) and recvmsg(2).
  SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictSocketcallCommand();
-diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc.0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64 chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
---- chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc.0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64	2025-03-12 02:09:02.000000000 +0100
-+++ chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc	2025-03-19 16:20:41.400744223 +0100
+Index: chromium-136.0.7103.48/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+===================================================================
+--- chromium-136.0.7103.48.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
++++ chromium-136.0.7103.48/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
 @@ -29,7 +29,8 @@ bool SyscallSets::IsAllowedGettime(int s
    switch (sysno) {
      case __NR_gettimeofday:
@@ -564,9 +582,10 @@ diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_sets.c
      case __NR_vserver:
  #endif
        return true;
-diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h.0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64 chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
---- chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h.0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64	2025-03-12 02:09:02.000000000 +0100
-+++ chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h	2025-03-19 16:20:41.401408385 +0100
+Index: chromium-136.0.7103.48/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
+===================================================================
+--- chromium-136.0.7103.48.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
++++ chromium-136.0.7103.48/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
 @@ -46,13 +46,14 @@ class SANDBOX_EXPORT SyscallSets {
    static bool IsDeniedGetOrModifySocket(int sysno);
  
@@ -604,9 +623,10 @@ diff -up chromium-135.0.7049.17/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
    // Big system V multiplexing system call.
    static bool IsSystemVIpc(int sysno);
  #endif
-diff -up chromium-135.0.7049.17/sandbox/linux/services/syscall_wrappers.cc.0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64 chromium-135.0.7049.17/sandbox/linux/services/syscall_wrappers.cc
---- chromium-135.0.7049.17/sandbox/linux/services/syscall_wrappers.cc.0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64	2025-03-12 02:09:02.000000000 +0100
-+++ chromium-135.0.7049.17/sandbox/linux/services/syscall_wrappers.cc	2025-03-19 16:20:41.401536979 +0100
+Index: chromium-136.0.7103.48/sandbox/linux/services/syscall_wrappers.cc
+===================================================================
+--- chromium-136.0.7103.48.orig/sandbox/linux/services/syscall_wrappers.cc
++++ chromium-136.0.7103.48/sandbox/linux/services/syscall_wrappers.cc
 @@ -66,7 +66,7 @@ long sys_clone(unsigned long flags,
  #if defined(ARCH_CPU_X86_64)
    return syscall(__NR_clone, flags, child_stack, ptid, ctid, tls);

diff --git a/0001-third_party-lss-Don-t-look-for-mmap2-on-ppc64.patch b/0001-third_party-lss-Don-t-look-for-mmap2-on-ppc64.patch
deleted file mode 100644
index 7926674..0000000
--- a/0001-third_party-lss-Don-t-look-for-mmap2-on-ppc64.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
-===================================================================
---- chromium-128.0.6613.113.orig/third_party/lss/linux_syscall_support.h
-+++ chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
-@@ -4638,7 +4638,7 @@ struct kernel_statx {
-       LSS_REG(2, buf);
-       LSS_BODY(void*, mmap2, "0"(__r2));
-     }
--#else
-+#elif !defined(__powerpc64__) /* ppc64 doesn't have mmap2 */
-     #define __NR__mmap2 __NR_mmap2
-     LSS_INLINE _syscall6(void*, _mmap2,            void*, s,
-                          size_t,                   l, int,               p,
-@@ -4749,7 +4749,7 @@ struct kernel_statx {
-   #if defined(__i386__) ||                                                    \
-       defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) ||                     \
-      (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI32) ||                   \
--      defined(__PPC__) ||                                                     \
-+     (defined(__PPC__) && !defined(__powerpc64__)) ||                                                     \
-      (defined(__s390__) && !defined(__s390x__))
-     /* On these architectures, implement mmap() with mmap2(). */
-     LSS_INLINE void* LSS_NAME(mmap)(void *s, size_t l, int p, int f, int d,

diff --git a/0002-Add-PPC64-generated-files-for-boringssl.patch b/0002-Add-PPC64-generated-files-for-boringssl.patch
index 7a1f11a..e9c95a0 100644
--- a/0002-Add-PPC64-generated-files-for-boringssl.patch
+++ b/0002-Add-PPC64-generated-files-for-boringssl.patch
@@ -1,7 +1,7 @@
-Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
+Index: chromium-136.0.7103.48/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
++++ chromium-136.0.7103.48/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
 @@ -0,0 +1,3673 @@
 +// This file is generated from a similarly-named Perl script in the BoringSSL
 +// source tree. Do not edit by hand.
@@ -3676,10 +3676,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.
 +// See https://www.airs.ccom/blog/archives/518.
 +.section .note.GNU-stack,"",%progbits
 +#endif
-Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
+Index: chromium-136.0.7103.48/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
++++ chromium-136.0.7103.48/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
 @@ -0,0 +1,590 @@
 +// This file is generated from a similarly-named Perl script in the BoringSSL
 +// source tree. Do not edit by hand.
@@ -4271,11 +4271,11 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linu
 +// See https://www.airs.ccom/blog/archives/518.
 +.section .note.GNU-stack,"",%progbits
 +#endif
-Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.cmake
+Index: chromium-136.0.7103.48/third_party/boringssl/src/gen/sources.cmake
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/gen/sources.cmake
-+++ chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.cmake
-@@ -118,6 +118,7 @@ set(
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/gen/sources.cmake
++++ chromium-136.0.7103.48/third_party/boringssl/src/gen/sources.cmake
+@@ -120,6 +120,7 @@ set(
    gen/bcm/aesni-x86-linux.S
    gen/bcm/aesni-x86_64-apple.S
    gen/bcm/aesni-x86_64-linux.S
@@ -4283,7 +4283,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.cmake
    gen/bcm/aesv8-armv7-linux.S
    gen/bcm/aesv8-armv8-apple.S
    gen/bcm/aesv8-armv8-linux.S
-@@ -149,6 +150,7 @@ set(
+@@ -151,6 +152,7 @@ set(
    gen/bcm/ghash-x86-linux.S
    gen/bcm/ghash-x86_64-apple.S
    gen/bcm/ghash-x86_64-linux.S
@@ -4291,7 +4291,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.cmake
    gen/bcm/ghashv8-armv7-linux.S
    gen/bcm/ghashv8-armv8-apple.S
    gen/bcm/ghashv8-armv8-linux.S
-@@ -342,6 +344,7 @@ set(
+@@ -347,6 +349,7 @@ set(
    crypto/cpu_arm_freebsd.cc
    crypto/cpu_arm_linux.cc
    crypto/cpu_intel.cc
@@ -4299,7 +4299,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.cmake
    crypto/crypto.cc
    crypto/curve25519/curve25519.cc
    crypto/curve25519/curve25519_64_adx.cc
-@@ -2832,6 +2835,7 @@ set(
+@@ -2864,6 +2867,7 @@ set(
    gen/test_support/trampoline-armv8-apple.S
    gen/test_support/trampoline-armv8-linux.S
    gen/test_support/trampoline-armv8-win.S
@@ -4307,11 +4307,11 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.cmake
    gen/test_support/trampoline-x86-apple.S
    gen/test_support/trampoline-x86-linux.S
    gen/test_support/trampoline-x86_64-apple.S
-Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.json
+Index: chromium-136.0.7103.48/third_party/boringssl/src/gen/sources.json
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/boringssl/src/gen/sources.json
-+++ chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.json
-@@ -96,6 +96,7 @@
+--- chromium-136.0.7103.48.orig/third_party/boringssl/src/gen/sources.json
++++ chromium-136.0.7103.48/third_party/boringssl/src/gen/sources.json
+@@ -98,6 +98,7 @@
        "gen/bcm/aesni-x86-linux.S",
        "gen/bcm/aesni-x86_64-apple.S",
        "gen/bcm/aesni-x86_64-linux.S",
@@ -4319,7 +4319,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.json
        "gen/bcm/aesv8-armv7-linux.S",
        "gen/bcm/aesv8-armv8-apple.S",
        "gen/bcm/aesv8-armv8-linux.S",
-@@ -127,6 +128,7 @@
+@@ -129,6 +130,7 @@
        "gen/bcm/ghash-x86-linux.S",
        "gen/bcm/ghash-x86_64-apple.S",
        "gen/bcm/ghash-x86_64-linux.S",
@@ -4327,7 +4327,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.json
        "gen/bcm/ghashv8-armv7-linux.S",
        "gen/bcm/ghashv8-armv8-apple.S",
        "gen/bcm/ghashv8-armv8-linux.S",
-@@ -312,6 +314,7 @@
+@@ -317,6 +319,7 @@
        "crypto/cpu_arm_freebsd.cc",
        "crypto/cpu_arm_linux.cc",
        "crypto/cpu_intel.cc",
@@ -4335,7 +4335,7 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.json
        "crypto/crypto.cc",
        "crypto/curve25519/curve25519.cc",
        "crypto/curve25519/curve25519_64_adx.cc",
-@@ -2752,6 +2755,7 @@
+@@ -2784,6 +2787,7 @@
        "gen/test_support/trampoline-armv8-apple.S",
        "gen/test_support/trampoline-armv8-linux.S",
        "gen/test_support/trampoline-armv8-win.S",
@@ -4343,10 +4343,10 @@ Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.json
        "gen/test_support/trampoline-x86-apple.S",
        "gen/test_support/trampoline-x86-linux.S",
        "gen/test_support/trampoline-x86_64-apple.S",
-Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
+Index: chromium-136.0.7103.48/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
++++ chromium-136.0.7103.48/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
 @@ -0,0 +1,1413 @@
 +// This file is generated from a similarly-named Perl script in the BoringSSL
 +// source tree. Do not edit by hand.

diff --git a/0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch b/0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch
new file mode 100644
index 0000000..3e2bfb6
--- /dev/null
+++ b/0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch
@@ -0,0 +1,36 @@
+# crypto: fix missing OPENSSL_NO_ENGINE guard
+# PR-URL: https://github.com/nodejs/node/pull/57012
+# Reviewed-By: Richard Lau <rlau@redhat.com>
+# Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
+# Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
+# Reviewed-By: James M Snell <jasnell@gmail.com>
+
+diff --git a/src/crypto/crypto_context.cc b/src/crypto/crypto_context.cc
+index abcdef1..2345678 100644
+--- a/src/crypto/crypto_context.cc
++++ b/src/crypto/crypto_context.cc
+@@ -34,7 +34,9 @@ using ncrypto::BIOPointer;
+ using ncrypto::ClearErrorOnReturn;
+ using ncrypto::CryptoErrorList;
+ using ncrypto::DHPointer;
++#ifndef OPENSSL_NO_ENGINE
+ using ncrypto::EnginePointer;
++#endif // !OPENSSL_NO_ENGINE
+ using ncrypto::EVPKeyPointer;
+ using ncrypto::MarkPopErrorOnReturn;
+ using ncrypto::SSLPointer;
+
+diff --git a/src/crypto/crypto_util.cc b/src/crypto/crypto_util.cc
+index 1234567..abcdef0 100644
+--- a/src/crypto/crypto_util.cc
++++ b/src/crypto/crypto_util.cc
+@@ -30,7 +30,9 @@ 
+ using ncrypto::BIOPointer;
+ using ncrypto::CryptoErrorList;
++#ifndef OPENSSL_NO_ENGINE
+ using ncrypto::EnginePointer;
++#endif // !OPENSSL_NO_ENGINE
+ using ncrypto::EVPKeyCtxPointer;
+ using v8::ArrayBuffer;
+ using v8::BackingStore;
+ using v8::BigInt;

diff --git a/0002-third_party-libvpx-Remove-bad-ppc64-config.patch b/0002-third_party-libvpx-Remove-bad-ppc64-config.patch
index ac86882..b952917 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-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
+Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
+--- chromium-136.0.7103.48.orig/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
 +++ /dev/null
 @@ -1,330 +0,0 @@
 -/*
@@ -333,9 +333,9 @@ Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vp8_r
 -#endif
 -
 -#endif  // VP8_RTCD_H_
-Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
+Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
+--- chromium-136.0.7103.48.orig/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
 +++ /dev/null
 @@ -1,206 +0,0 @@
 -/*
@@ -544,9 +544,9 @@ Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vp9_r
 -#endif
 -
 -#endif  // VP9_RTCD_H_
-Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
+Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
+--- chromium-136.0.7103.48.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
 +++ /dev/null
 @@ -1,108 +0,0 @@
 -@ This file was created from a .asm file
@@ -657,9 +657,9 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
+Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
+--- chromium-136.0.7103.48.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. */
@@ -672,9 +672,9 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
+Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
+--- chromium-136.0.7103.48.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
 +++ /dev/null
 @@ -1,117 +0,0 @@
 -/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
@@ -794,9 +794,9 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
+Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
+--- chromium-136.0.7103.48.orig/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
 +++ /dev/null
 @@ -1,2138 +0,0 @@
 -/*
@@ -2937,9 +2937,9 @@ Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_d
 -#endif
 -
 -#endif  // VPX_DSP_RTCD_H_
-Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
+Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
+--- chromium-136.0.7103.48.orig/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
 +++ /dev/null
 @@ -1,110 +0,0 @@
 -/*

diff --git a/0002-third_party-lss-kernel-structs.patch b/0002-third_party-lss-kernel-structs.patch
index c65a825..c39c210 100644
--- a/0002-third_party-lss-kernel-structs.patch
+++ b/0002-third_party-lss-kernel-structs.patch
@@ -1,8 +1,8 @@
-Index: chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
+Index: chromium-136.0.7103.48/third_party/lss/linux_syscall_support.h
 ===================================================================
---- chromium-128.0.6613.113.orig/third_party/lss/linux_syscall_support.h
-+++ chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
-@@ -87,7 +87,7 @@
+--- chromium-136.0.7103.48.orig/third_party/lss/linux_syscall_support.h
++++ chromium-136.0.7103.48/third_party/lss/linux_syscall_support.h
+@@ -86,7 +86,7 @@
   * Porting to other related platforms should not be difficult.
   */
  #if (defined(__i386__) || defined(__x86_64__) || defined(__ARM_ARCH_3__) ||   \
@@ -11,7 +11,7 @@ Index: chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
       defined(__aarch64__) || defined(__s390__) || defined(__e2k__) ||  \
       (defined(__riscv) && __riscv_xlen == 64) || defined(__loongarch_lp64))  \
    && (defined(__linux) || defined(__ANDROID__))
-@@ -399,7 +399,7 @@ struct kernel_stat64 {
+@@ -398,7 +398,7 @@ struct kernel_stat64 {
    unsigned           __pad2;
    unsigned long long st_blocks;
  };
@@ -20,7 +20,7 @@ Index: chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
  struct kernel_stat64 {
    unsigned long long st_dev;
    unsigned long long st_ino;
-@@ -421,6 +421,28 @@ struct kernel_stat64 {
+@@ -420,6 +420,28 @@ struct kernel_stat64 {
    unsigned long      __unused4;
    unsigned long      __unused5;
  };
@@ -49,7 +49,7 @@ Index: chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
  #elif defined(__e2k__)
  struct kernel_stat64 {
    unsigned long long st_dev;
-@@ -537,7 +559,7 @@ struct kernel_stat {
+@@ -536,7 +558,7 @@ struct kernel_stat {
    uint64_t           st_ctime_nsec_;
    int64_t            __unused4[3];
  };
@@ -58,7 +58,7 @@ Index: chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
  typedef unsigned long kernel_blkcnt_t;
  typedef unsigned long kernel_blksize_t;
  typedef unsigned kernel_dev_t;
-@@ -568,6 +590,37 @@ struct kernel_stat {
+@@ -567,6 +589,37 @@ struct kernel_stat {
    unsigned long      __unused4;
    unsigned long      __unused5;
  };
@@ -96,7 +96,7 @@ Index: chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
  #elif (defined(__mips__) && _MIPS_SIM != _MIPS_SIM_ABI64)
  typedef int kernel_blkcnt_t;
  typedef int kernel_blksize_t;
-@@ -1824,6 +1877,28 @@ struct kernel_statx {
+@@ -1823,6 +1876,28 @@ struct kernel_statx {
  #ifndef __NR_getcpu
  #define __NR_getcpu             302
  #endif
@@ -122,30 +122,10 @@ Index: chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
 +#define __NR_recvmsg            342
 +#endif
 +
- /* End of powerpc defininitions                                              */
+ /* End of powerpc definitions                                              */
  #elif defined(__s390__)
  #ifndef __NR_quotactl
-@@ -3363,6 +3438,11 @@ struct kernel_statx {
-     /* TODO(csilvers): consider wrapping some args up in a struct, like we
-      * do for i386's _syscall6, so we can compile successfully on gcc 2.95
-      */
-+    #ifdef __powerpc64__
-+    /* TODO: implement clone() for ppc64.
-+     * until then, use system libc */
-+    #define sys_clone clone
-+    #else
-     LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack,
-                                    int flags, void *arg, int *parent_tidptr,
-                                    void *newtls, int *child_tidptr) {
-@@ -3433,6 +3513,7 @@ struct kernel_statx {
-       }
-       LSS_RETURN(int, __ret, __err);
-     }
-+    #endif
-   #elif defined(__s390__)
-     #undef  LSS_REG
-     #define LSS_REG(r, a) register unsigned long __r##r __asm__("r"#r) = (unsigned long) a
-@@ -4783,7 +4864,7 @@ struct kernel_statx {
+@@ -4824,7 +4899,7 @@ struct kernel_statx {
      LSS_INLINE _syscall6(void*, mmap, void*, addr, size_t, length, int, prot,
                           int, flags, int, fd, int64_t, offset)
    #endif
@@ -154,7 +134,7 @@ Index: chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
      #undef LSS_SC_LOADARGS_0
      #define LSS_SC_LOADARGS_0(dummy...)
      #undef LSS_SC_LOADARGS_1
-@@ -5173,7 +5254,11 @@ struct kernel_statx {
+@@ -5214,7 +5289,11 @@ struct kernel_statx {
  #endif
  
  #if !defined(__NR_pipe)

diff --git a/0003-third_party-libvpx-Add-ppc64-generated-config.patch b/0003-third_party-libvpx-Add-ppc64-generated-config.patch
index a97e719..a95e5ce 100644
--- a/0003-third_party-libvpx-Add-ppc64-generated-config.patch
+++ b/0003-third_party-libvpx-Add-ppc64-generated-config.patch
@@ -1,7 +1,7 @@
-Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
+Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
++++ chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
 @@ -0,0 +1,316 @@
 +// This file is generated. Do not edit.
 +#ifndef VP8_RTCD_H_
@@ -319,10 +319,10 @@ Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vp8_r
 +#endif
 +
 +#endif
-Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
+Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
++++ chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
 @@ -0,0 +1,267 @@
 +// This file is generated. Do not edit.
 +#ifndef VP9_RTCD_H_
@@ -591,10 +591,10 @@ Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vp9_r
 +#endif
 +
 +#endif
-Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
+Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
++++ chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
 @@ -0,0 +1,107 @@
 +@ This file was created from a .asm file
 +@  using the ads2gas.pl script.
@@ -703,10 +703,10 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
+Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
++++ chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
 @@ -0,0 +1,10 @@
 +/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
 +/*  */
@@ -718,10 +718,10 @@ Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_c
 +#include "vpx/vpx_codec.h"
 +static const char* const cfg = "--target=generic-gnu --enable-vp9-highbitdepth --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv";
 +const char *vpx_codec_build_config(void) {return cfg;}
-Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
+Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
++++ chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
 @@ -0,0 +1,116 @@
 +/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
 +/*  */
@@ -839,10 +839,10 @@ Index: chromium-134.0.6998.35/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-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
+Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
++++ chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
 @@ -0,0 +1,4128 @@
 +// This file is generated. Do not edit.
 +#ifndef VPX_DSP_RTCD_H_
@@ -4972,10 +4972,10 @@ Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_d
 +#endif
 +
 +#endif
-Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
+Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
 ===================================================================
 --- /dev/null
-+++ chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
++++ chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
 @@ -0,0 +1,96 @@
 +// This file is generated. Do not edit.
 +#ifndef VPX_SCALE_RTCD_H_

diff --git a/0004-third_party-libvpx-work-around-ambiguous-vsx.patch b/0004-third_party-libvpx-work-around-ambiguous-vsx.patch
index 9a37b40..bbb6672 100644
--- a/0004-third_party-libvpx-work-around-ambiguous-vsx.patch
+++ b/0004-third_party-libvpx-work-around-ambiguous-vsx.patch
@@ -1,7 +1,7 @@
-Index: chromium-134.0.6998.35/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
+Index: chromium-136.0.7103.48/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
-+++ chromium-134.0.6998.35/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
+--- chromium-136.0.7103.48.orig/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
++++ chromium-136.0.7103.48/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
 @@ -38,6 +38,28 @@ static INLINE int16x8_t vec_max_across(i
    return vec_max(a, vec_perm(a, a, vec_perm16));
  }
@@ -137,10 +137,10 @@ Index: chromium-134.0.6998.35/third_party/libvpx/source/libvpx/vp9/encoder/ppc/v
  
      eob = vec_max(eob, vec_or(scan0, zero_coeff0));
      eob2 = vec_max(vec_or(scan1, zero_coeff1), vec_or(scan2, zero_coeff2));
-Index: chromium-134.0.6998.35/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
+Index: chromium-136.0.7103.48/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
-+++ chromium-134.0.6998.35/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
+--- chromium-136.0.7103.48.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
++++ chromium-136.0.7103.48/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
 @@ -15,6 +15,28 @@
  #include "vpx_dsp/ppc/txfm_common_vsx.h"
  #include "vpx_dsp/ppc/types_vsx.h"
@@ -255,10 +255,10 @@ Index: chromium-134.0.6998.35/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct3
  }
  
  // Returns 1 if negative 0 if positive
-Index: chromium-134.0.6998.35/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
+Index: chromium-136.0.7103.48/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
-+++ chromium-134.0.6998.35/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
+--- chromium-136.0.7103.48.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
++++ chromium-136.0.7103.48/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
 @@ -13,6 +13,28 @@
  #include "./vpx_dsp_rtcd.h"
  #include "vpx_dsp/ppc/types_vsx.h"

diff --git a/HACK-third_party-libvpx-use-generic-gnu.patch b/HACK-third_party-libvpx-use-generic-gnu.patch
index 3b1423d..fb544b4 100644
--- a/HACK-third_party-libvpx-use-generic-gnu.patch
+++ b/HACK-third_party-libvpx-use-generic-gnu.patch
@@ -1,7 +1,7 @@
-Index: chromium-134.0.6998.35/third_party/libvpx/generate_gni.sh
+Index: chromium-136.0.7103.48/third_party/libvpx/generate_gni.sh
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/libvpx/generate_gni.sh
-+++ chromium-134.0.6998.35/third_party/libvpx/generate_gni.sh
+--- chromium-136.0.7103.48.orig/third_party/libvpx/generate_gni.sh
++++ chromium-136.0.7103.48/third_party/libvpx/generate_gni.sh
 @@ -433,7 +433,7 @@ gen_config_files linux/mipsel "--target=
  gen_config_files linux/mips64el "--target=mips64-linux-gcc ${all_platforms}"
  gen_config_files linux/loongarch \
@@ -11,12 +11,12 @@ Index: chromium-134.0.6998.35/third_party/libvpx/generate_gni.sh
  gen_config_files linux/generic "--target=generic-gnu $HIGHBD ${all_platforms}"
  gen_config_files win/arm64-highbd \
    "--target=arm64-win64-vs15 ${all_platforms} ${HIGHBD} ${disable_sve}"
-Index: chromium-134.0.6998.35/third_party/libvpx/source/libvpx/build/make/rtcd.pl
+Index: chromium-136.0.7103.48/third_party/libvpx/source/libvpx/build/make/rtcd.pl
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/libvpx/source/libvpx/build/make/rtcd.pl
-+++ chromium-134.0.6998.35/third_party/libvpx/source/libvpx/build/make/rtcd.pl
-@@ -509,8 +509,9 @@ if ($opts{arch} eq 'x86') {
-   &require(@REQUIRES);
+--- chromium-136.0.7103.48.orig/third_party/libvpx/source/libvpx/build/make/rtcd.pl
++++ chromium-136.0.7103.48/third_party/libvpx/source/libvpx/build/make/rtcd.pl
+@@ -527,8 +527,9 @@ if ($opts{arch} eq 'x86') {
+   }
    arm;
  } elsif ($opts{arch} =~ /^ppc/ ) {
 -  @ALL_ARCHS = filter(qw/vsx/);
@@ -27,10 +27,10 @@ Index: chromium-134.0.6998.35/third_party/libvpx/source/libvpx/build/make/rtcd.p
  } elsif ($opts{arch} =~ /loongarch/ ) {
    @ALL_ARCHS = filter(qw/lsx lasx/);
    loongarch;
-Index: chromium-134.0.6998.35/third_party/libvpx/BUILD.gn
+Index: chromium-136.0.7103.48/third_party/libvpx/BUILD.gn
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/libvpx/BUILD.gn
-+++ chromium-134.0.6998.35/third_party/libvpx/BUILD.gn
+--- chromium-136.0.7103.48.orig/third_party/libvpx/BUILD.gn
++++ chromium-136.0.7103.48/third_party/libvpx/BUILD.gn
 @@ -102,6 +102,14 @@ config("libvpx_config") {
        "-Wno-sign-compare",
      ]

diff --git a/cargo-add-ppc64.diff b/cargo-add-ppc64.diff
deleted file mode 100644
index 482f6f6..0000000
--- a/cargo-add-ppc64.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: chromium-130.0.6723.44/build/rust/cargo_crate.gni
-===================================================================
---- chromium-130.0.6723.44.orig/build/rust/cargo_crate.gni
-+++ chromium-130.0.6723.44/build/rust/cargo_crate.gni
-@@ -430,7 +430,7 @@ template("cargo_crate") {
-         ]
-       }
-       if (current_cpu == "arm64" || current_cpu == "x64" ||
--          current_cpu == "loong64" || current_cpu == "riscv64") {
-+          current_cpu == "loong64" || current_cpu == "riscv64" || current_cpu == "ppc64") {
-         args += [
-           "--pointer-width",
-           "64",

diff --git a/chromium-132-el8-unsupport-clang-flags.patch b/chromium-132-el8-unsupport-clang-flags.patch
deleted file mode 100644
index 9768883..0000000
--- a/chromium-132-el8-unsupport-clang-flags.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -up chromium-132.0.6834.57/build/config/compiler/BUILD.gn.me chromium-132.0.6834.57/build/config/compiler/BUILD.gn
---- chromium-132.0.6834.57/build/config/compiler/BUILD.gn.me	2025-01-01 13:31:40.472819710 +0100
-+++ chromium-132.0.6834.57/build/config/compiler/BUILD.gn	2025-01-01 16:01:28.373834980 +0100
-@@ -623,13 +623,6 @@ config("compiler") {
-       cflags += [ "-ffp-contract=off" ]
-     }
- 
--    # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF
--    # (excluding toolchains that use an older version of LLVM).
--    # TODO(crbug.com/376278218): This causes segfault on Linux ARM builds.
--    if (is_linux && !llvm_android_mainline && current_cpu != "arm" &&
--        default_toolchain != "//build/toolchain/cros:target") {
--      cflags += [ "-Wa,--crel,--allow-experimental-crel" ]
--    }
-   }
- 
-   # C11/C++11 compiler flags setup.

diff --git a/chromium-133-pipewire-cast.patch b/chromium-133-pipewire-cast.patch
deleted file mode 100644
index 670cb70..0000000
--- a/chromium-133-pipewire-cast.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -up chromium-133.0.6943.53/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc.me chromium-133.0.6943.53/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc
---- chromium-133.0.6943.53/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc.me	2025-02-12 19:09:54.742875003 +0100
-+++ chromium-133.0.6943.53/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc	2025-02-12 19:12:17.492620559 +0100
-@@ -87,7 +87,7 @@ PipeWireNode::PipeWireNode(PipeWireSessi
-       .param = OnNodeParam,
-   };
- 
--  pw_node_add_listener(proxy_, &node_listener_, &node_events, this);
-+  pw_node_add_listener((struct pw_node*) proxy_, &node_listener_, &node_events, this);
- }
- 
- // static
-@@ -119,7 +119,7 @@ void PipeWireNode::OnNodeInfo(void* data
-       uint32_t id = info->params[i].id;
-       if (id == SPA_PARAM_EnumFormat &&
-           info->params[i].flags & SPA_PARAM_INFO_READ) {
--        pw_node_enum_params(that->proxy_, 0, id, 0, UINT32_MAX, nullptr);
-+        pw_node_enum_params((struct pw_node*)that->proxy_, 0, id, 0, UINT32_MAX, nullptr);
-         break;
-       }
-     }

diff --git a/chromium-135-print-review-fail.patch b/chromium-135-print-review-fail.patch
deleted file mode 100644
index 478b3dc..0000000
--- a/chromium-135-print-review-fail.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Only call format_message when needed
-
-SkJpegDecoderMgr.cpp#print_message calls into `format_message` to print
-informational strings from the jpeg decoder. However, the informational
-strings are only output in developer builds where
-`SK_PRINT_CODEC_MESSAGES` is defined. As a result this call is usually
-just extra work which is then ignored. Move the call of `format_message`
-into the argument list of `SkCodecPrintf` so that the call is only
-performed if its result is going to be used.
-
-When Skia is compiled to use the system libjpeg-turbo the
-`format_message` function pointer is set by an external library to point
-at a function inside an external library and is then called by Skia.
-This can cause false positive reports [0] from CFI icall [1]. This
-change effectively solves this issue by never calling `format_message`
-in a CFI enabled build.
-
-[0] https://gitlab.archlinux.org/archlinux/packaging/packages/chromium/-/issues/13
-[1] https://clang.llvm.org/docs/ControlFlowIntegrity.html#indirect-function-call-checking
-
-Change-Id: I5a59459e1e87bf8cdb3d7e90481a115a2a77d6cf
-Reviewed-on: https://skia-review.googlesource.com/c/skia/+/961356
-Reviewed-by: Daniel Dilan <danieldilan@google.com>
-Commit-Queue: Ben Wagner <bungeman@google.com>
-
-diff --git a/third_party/skia/src/codec/SkJpegDecoderMgr.cpp b/third_party/skia/src/codec/SkJpegDecoderMgr.cpp
-index c905ee1..5ae9573 100644
---- a/third_party/skia/src/codec/SkJpegDecoderMgr.cpp
-+++ b/third_party/skia/src/codec/SkJpegDecoderMgr.cpp
-@@ -24,9 +24,11 @@
-  * Print information, warning, and error messages
-  */
- static void print_message(const j_common_ptr info, const char caller[]) {
--    char buffer[JMSG_LENGTH_MAX];
--    info->err->format_message(info, buffer);
--    SkCodecPrintf("libjpeg error %d <%s> from %s\n", info->err->msg_code, buffer, caller);
-+    [[maybe_unused]] char buffer[JMSG_LENGTH_MAX];
-+    SkCodecPrintf("libjpeg error %d <%s> from %s\n",
-+                  info->err->msg_code,
-+                  (info->err->format_message(info, buffer), buffer),
-+                  caller);
- }
- 
- /*

diff --git a/chromium-135-system-brotli.patch b/chromium-135-system-brotli.patch
deleted file mode 100644
index acbc489..0000000
--- a/chromium-135-system-brotli.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -up chromium-135.0.7049.17/net/filter/brotli_source_stream.cc.me chromium-135.0.7049.17/net/filter/brotli_source_stream.cc
---- chromium-135.0.7049.17/net/filter/brotli_source_stream.cc.me	2025-03-19 16:10:42.050358426 +0100
-+++ chromium-135.0.7049.17/net/filter/brotli_source_stream.cc	2025-03-19 16:11:17.682904155 +0100
-@@ -17,8 +17,8 @@
- #include "base/metrics/histogram_macros.h"
- #include "net/base/io_buffer.h"
- #include "net/filter/source_stream_type.h"
--#include "third_party/brotli/include/brotli/decode.h"
--#include "third_party/brotli/include/brotli/shared_dictionary.h"
-+#include <brotli/decode.h>
-+#include <brotli/shared_dictionary.h>
- 
- namespace net {
- 
-diff -up chromium-135.0.7049.17/net/ssl/cert_compression.cc.me chromium-135.0.7049.17/net/ssl/cert_compression.cc
---- chromium-135.0.7049.17/net/ssl/cert_compression.cc.me	2025-03-19 16:11:29.752064649 +0100
-+++ chromium-135.0.7049.17/net/ssl/cert_compression.cc	2025-03-19 16:11:46.372351558 +0100
-@@ -9,7 +9,7 @@
- #include "third_party/boringssl/src/include/openssl/ssl.h"
- 
- #if !defined(NET_DISABLE_BROTLI)
--#include "third_party/brotli/include/brotli/decode.h"
-+#include <brotli/decode.h>
- #endif
- 
- namespace net {
-diff -up chromium-135.0.7049.17/ui/base/resource/resource_bundle.cc.me chromium-135.0.7049.17/ui/base/resource/resource_bundle.cc
---- chromium-135.0.7049.17/ui/base/resource/resource_bundle.cc.me	2025-03-19 16:11:57.586834877 +0100
-+++ chromium-135.0.7049.17/ui/base/resource/resource_bundle.cc	2025-03-19 16:13:09.096533134 +0100
-@@ -39,7 +39,7 @@
- #include "net/filter/gzip_header.h"
- #include "skia/ext/image_operations.h"
- #include "third_party/abseil-cpp/absl/types/variant.h"
--#include "third_party/brotli/include/brotli/decode.h"
-+#include <brotli/decode.h>
- #include "third_party/skia/include/codec/SkPngDecoder.h"
- #include "third_party/skia/include/core/SkBitmap.h"
- #include "third_party/skia/include/core/SkColor.h"

diff --git a/chromium-135.0.7049.114-clean.tar.xz.hashes b/chromium-135.0.7049.114-clean.tar.xz.hashes
deleted file mode 100644
index 65ba27e..0000000
--- a/chromium-135.0.7049.114-clean.tar.xz.hashes
+++ /dev/null
@@ -1,6 +0,0 @@
-MD5 (chromium-135.0.7049.114-clean.tar.xz) = 3e6d39f1413b13c0aa50a2971401c552
-SHA1 (chromium-135.0.7049.114-clean.tar.xz) = 1f774ac27b3354e518275ac2dfa12bdd46b5bd9f
-SHA224 (chromium-135.0.7049.114-clean.tar.xz) = 6ddd90b96353b3507be4c810073d510ab071f854e2cf02e13bd4f5df
-SHA256 (chromium-135.0.7049.114-clean.tar.xz) = 54f6100482e40e30734efcdd2f0e706ae8549bbd58bc6e826cbe1f048865e7b2
-SHA384 (chromium-135.0.7049.114-clean.tar.xz) = 81828bec80e7ef896b620f99e5d90278da0f2001cfa4dfab26fbb511f9bbafa34992fe132ee03fb89b213e2915958465
-SHA512 (chromium-135.0.7049.114-clean.tar.xz) = ac77aadcd0fbefbf98276c3c8653a82873936929659c86f1edd1a4a53bc819d94007a6caa9daf25e0f2007f315175530f55575925d458837ef149c62f4402bcb

diff --git a/chromium-135.0.7049.95-clean.tar.xz.hashes b/chromium-135.0.7049.95-clean.tar.xz.hashes
deleted file mode 100644
index aaf064f..0000000
--- a/chromium-135.0.7049.95-clean.tar.xz.hashes
+++ /dev/null
@@ -1,6 +0,0 @@
-a4b3e165abbce1a7f059c1b8ba08c955  chromium-135.0.7049.95-clean.tar.xz
-0cfedc1c1f27059ca5c42fe6562a2e7a30b586ba  chromium-135.0.7049.95-clean.tar.xz
-59120a05929b82313bf38e751f23ad91061e797750e87f02bfb67d28  chromium-135.0.7049.95-clean.tar.xz
-efb07d889d133c90e0b7b84b08727203ada1b4031f4ee29db09e192b6fdfe5f3  chromium-135.0.7049.95-clean.tar.xz
-80a89d944d9c6b6b43dcef237c07d7b2e19500eb5812b90e76d8767102aceef696fb062b4555fdc006f7cf44f519567e  chromium-135.0.7049.95-clean.tar.xz
-bb73e201ebf08e05901a54ceef367de95257da49f3c090b0cc88e23af0e901ecaa13b915080f911c29a157191efd6bcab00c844a58fd3757009a89255af0ec89  chromium-135.0.7049.95-clean.tar.xz

diff --git a/chromium-136-checkversion-nodejs.patch b/chromium-136-checkversion-nodejs.patch
new file mode 100644
index 0000000..58cc6d8
--- /dev/null
+++ b/chromium-136-checkversion-nodejs.patch
@@ -0,0 +1,20 @@
+diff -up chromium-136.0.7103.33/third_party/node/node.gni.than chromium-136.0.7103.33/third_party/node/node.gni
+--- chromium-136.0.7103.33/third_party/node/node.gni.than	2025-04-21 17:53:06.742517984 +0200
++++ chromium-136.0.7103.33/third_party/node/node.gni	2025-04-21 17:54:05.452645652 +0200
+@@ -35,16 +35,5 @@ template("node") {
+         inputs += [ "//third_party/node/mac/node-darwin-x64/bin/node" ]
+       }
+     }
+-
+-    # Automatically add a dependency to ":check_version" to ensure NodeJS is
+-    # always running the expected version, except when the ':check_version'
+-    # target itself is running in which case it shouldn't depend on itself.
+-    if (get_label_info(":" + target_name, "label_no_toolchain") !=
+-        "//third_party/node:check_version") {
+-      if (!defined(deps)) {
+-        deps = []
+-      }
+-      deps += [ "//third_party/node:check_version" ]
+-    }
+   }
+ }

diff --git a/chromium-136-rust-skrifa-build-error.patch b/chromium-136-rust-skrifa-build-error.patch
new file mode 100644
index 0000000..4170eec
--- /dev/null
+++ b/chromium-136-rust-skrifa-build-error.patch
@@ -0,0 +1,12 @@
+diff -up chromium-136.0.7103.48/third_party/rust/chromium_crates_io/vendor/skrifa-0.29.2/src/glyph_name.rs.than chromium-136.0.7103.48/third_party/rust/chromium_crates_io/vendor/skrifa-0.29.2/src/glyph_name.rs
+--- chromium-136.0.7103.48/third_party/rust/chromium_crates_io/vendor/skrifa-0.29.2/src/glyph_name.rs.than	2025-04-29 08:36:33.385071420 +0200
++++ chromium-136.0.7103.48/third_party/rust/chromium_crates_io/vendor/skrifa-0.29.2/src/glyph_name.rs	2025-04-29 08:42:21.465525421 +0200
+@@ -94,7 +94,7 @@ impl<'a> GlyphNames<'a> {
+             _ => None,
+         };
+         // If name is empty string, synthesize it
+-        if name.as_ref().is_none_or(|s| s.is_empty()) {
++        if name.is_none() || name.as_ref().map_or(false, |s| s.is_empty()) {
+             return Some(GlyphName::synthesize(glyph_id));
+         }
+         Some(name.unwrap_or_else(|| GlyphName::synthesize(glyph_id)))

diff --git a/chromium-136-system-brotli.patch b/chromium-136-system-brotli.patch
new file mode 100644
index 0000000..6aed6c3
--- /dev/null
+++ b/chromium-136-system-brotli.patch
@@ -0,0 +1,38 @@
+diff -up chromium-136.0.7103.33/net/filter/brotli_source_stream.cc.system-brotli chromium-136.0.7103.33/net/filter/brotli_source_stream.cc
+--- chromium-136.0.7103.33/net/filter/brotli_source_stream.cc.system-brotli	2025-04-15 23:18:07.000000000 +0200
++++ chromium-136.0.7103.33/net/filter/brotli_source_stream.cc	2025-04-21 11:12:15.771632937 +0200
+@@ -17,8 +17,8 @@
+ #include "base/metrics/histogram_macros.h"
+ #include "net/base/io_buffer.h"
+ #include "net/filter/source_stream_type.h"
+-#include "third_party/brotli/include/brotli/decode.h"
+-#include "third_party/brotli/include/brotli/shared_dictionary.h"
++#include <brotli/decode.h>
++#include <brotli/shared_dictionary.h>
+ 
+ namespace net {
+ 
+diff -up chromium-136.0.7103.33/net/ssl/cert_compression.cc.system-brotli chromium-136.0.7103.33/net/ssl/cert_compression.cc
+--- chromium-136.0.7103.33/net/ssl/cert_compression.cc.system-brotli	2025-04-15 23:18:07.000000000 +0200
++++ chromium-136.0.7103.33/net/ssl/cert_compression.cc	2025-04-21 11:12:15.775633048 +0200
+@@ -9,7 +9,7 @@
+ #include "third_party/boringssl/src/include/openssl/ssl.h"
+ 
+ #if !defined(NET_DISABLE_BROTLI)
+-#include "third_party/brotli/include/brotli/decode.h"
++#include <brotli/decode.h>
+ #endif
+ 
+ namespace net {
+diff -up chromium-136.0.7103.33/ui/base/resource/resource_bundle.cc.system-brotli chromium-136.0.7103.33/ui/base/resource/resource_bundle.cc
+--- chromium-136.0.7103.33/ui/base/resource/resource_bundle.cc.system-brotli	2025-04-15 23:18:07.000000000 +0200
++++ chromium-136.0.7103.33/ui/base/resource/resource_bundle.cc	2025-04-21 11:19:08.136223039 +0200
+@@ -39,7 +39,7 @@
+ #include "build/build_config.h"
+ #include "net/filter/gzip_header.h"
+ #include "skia/ext/image_operations.h"
+-#include "third_party/brotli/include/brotli/decode.h"
++#include <brotli/decode.h>
+ #include "third_party/skia/include/codec/SkPngDecoder.h"
+ #include "third_party/skia/include/core/SkBitmap.h"
+ #include "third_party/skia/include/core/SkColor.h"

diff --git a/chromium-136-unsupport-clang-flags.patch b/chromium-136-unsupport-clang-flags.patch
new file mode 100644
index 0000000..a004cb0
--- /dev/null
+++ b/chromium-136-unsupport-clang-flags.patch
@@ -0,0 +1,17 @@
+diff -up chromium-136.0.7103.48/build/config/compiler/BUILD.gn.than chromium-136.0.7103.48/build/config/compiler/BUILD.gn
+--- chromium-136.0.7103.48/build/config/compiler/BUILD.gn.than	2025-04-28 15:44:08.883499599 +0200
++++ chromium-136.0.7103.48/build/config/compiler/BUILD.gn	2025-04-28 15:44:47.624639772 +0200
+@@ -622,12 +622,6 @@ config("compiler") {
+       cflags += [ "-ffp-contract=off" ]
+     }
+ 
+-    # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF
+-    # (excluding toolchains that use an older version of LLVM).
+-    if (is_linux && !llvm_android_mainline &&
+-        default_toolchain != "//build/toolchain/cros:target") {
+-      cflags += [ "-Wa,--crel,--allow-experimental-crel" ]
+-    }
+   }
+ 
+   # C11/C++11 compiler flags setup.
+diff -up chromium-136.0.7103.48/tools/licenses/licenses.py.than chromium-136.0.7103.48/tools/licenses/licenses.py

diff --git a/chromium.spec b/chromium.spec
index 8e5e2ef..9f9ffae 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -23,8 +23,8 @@
 
 # enable|disble bootstrap
 %global bootstrap 0
-# workaround for old gn on rhel, it causes build error: unknown function filter_labels_include()
-%if 0%{?rhel}
+# workaround for old gn on el9, it causes build error: unknown function filter_labels_include()
+%if 0%{?rhel} == 9
 %global bootstrap 1
 %endif
 
@@ -43,9 +43,6 @@
 
 # enable|disable headless client build
 %global build_headless 1
-%ifarch ppc64le
-%global build_headless 0
-%endif
 %if 0%{?flatpak}
 %global build_headless 0
 %endif
@@ -59,9 +56,6 @@
 %global system_nodejs 0
 %endif
 
-# set esbuild_version
-%global esbuild_version 0.19.2
-
 %if 0%{?rhel} == 8
 %global chromium_pybin /usr/bin/python3.9
 %else
@@ -143,7 +137,7 @@
 
 # enable|disable control flow integrity support
 %global cfi 0
-%ifarch x86_64 aarch64
+%ifarch x86_64
 %global cfi 0
 %endif
 
@@ -261,7 +255,7 @@
 %endif
 
 Name:	chromium
-Version: 135.0.7049.114
+Version: 136.0.7103.48
 Release: 1%{?dist}
 Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
 Url: http://www.chromium.org/Home
@@ -283,7 +277,7 @@ Patch21: chromium-123-screen-ai-service.patch
 Patch82: chromium-98.0.4758.102-remoting-no-tests.patch
 
 # patch for using system brotli
-Patch89: chromium-135-system-brotli.patch
+Patch89: chromium-136-system-brotli.patch
 
 # patch for using system libxml
 Patch90: chromium-121-system-libxml.patch
@@ -291,6 +285,9 @@ Patch90: chromium-121-system-libxml.patch
 # patch for using system opus
 Patch91: chromium-108-system-opus.patch
 
+# patch for Failed NodeJS version check
+Patch92: chromium-136-checkversion-nodejs.patch
+
 # system ffmpeg
 # need for old ffmpeg 5.x on epel9
 Patch129: chromium-125-ffmpeg-5.x-reordered_opaque.patch
@@ -323,7 +320,7 @@ Patch306: chromium-127-el8-ifunc-header.patch
 # workaround for build error due to old atk version on el8
 Patch307: chromium-134-el8-atk-compiler-error.patch
 # Fix build errors due to old clang18 in el 8/9 and f40
-Patch308: chromium-132-el8-unsupport-clang-flags.patch
+Patch308: chromium-136-unsupport-clang-flags.patch
 Patch309: chromium-132-el8-unsupport-rustc-flags.patch
 Patch310: chromium-132-el8-clang18-build-error.patch
 Patch311: chromium-133-clang18-template.patch
@@ -334,6 +331,9 @@ Patch312: chromium-123-fstack-protector-strong.patch
 # build error stdarch_arm_crc32
 Patch313: chromium-133-rust-crc32fast.patch
 
+# build error error[E0599]: no method named `is_none_or` found for enum `Option` in the current scope
+Patch314: chromium-136-rust-skrifa-build-error.patch
+
 # build error: libadler2 not found, rust-1.86 or newer replaces adler with adler2
 # we have rust-1.86 in f41 and newer
 Patch315: chromium-134-rust-libadler2.patch
@@ -355,9 +355,6 @@ Patch354: chromium-126-split-threshold-for-reg-with-hint.patch
 # fix build error: no member named 'hardware_destructive_interference_size' in namespace 'std'
 Patch355: chromium-130-hardware_destructive_interference_size.patch
 
-# fix build error with new pipewire in f43
-Patch356: chromium-133-pipewire-cast.patch
-
 # error: no matching member function for call to 'Append'
 Patch357: chromium-134-type-mismatch-error.patch
 
@@ -388,7 +385,6 @@ Patch375: 0008-sandbox-fix-ppc64le-glibc234.patch
 Patch376: 0001-third_party-angle-Include-missing-header-cstddef-in-.patch
 Patch377: 0001-Add-PPC64-support-for-boringssl.patch
 Patch378: 0001-third_party-libvpx-Properly-generate-gni-on-ppc64.patch
-Patch379: 0001-third_party-lss-Don-t-look-for-mmap2-on-ppc64.patch
 Patch380: 0001-third_party-pffft-Include-altivec.h-on-ppc64-with-SI.patch
 Patch381: 0002-Add-PPC64-generated-files-for-boringssl.patch
 Patch382: 0002-third_party-lss-kernel-structs.patch
@@ -438,7 +434,6 @@ Patch412: add-ppc64-architecture-to-extensions.diff
 
 # Suppress harmless compiler warning messages that appear on ppc64 due to arch-specific warning flags being passed
 Patch413: fix-unknown-warning-option-messages.diff
-Patch414: cargo-add-ppc64.diff
 Patch415: add-ppc64-pthread-stack-size.patch
 # Fix build error on el10
 Patch416: fix-ppc64-rust_png-build-error.patch
@@ -449,14 +444,18 @@ Patch500: flatpak-Add-initial-sandbox-support.patch
 Patch501: flatpak-Adjust-paths-for-the-sandbox.patch
 Patch502: flatpak-Expose-Widevine-into-the-sandbox.patch
 
+# nodejs patches
+%if ! %{system_nodejs}
+Patch510: 0001-Remove-unused-OpenSSL-config.patch
+Patch511: 0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch
+%endif
+
 # upstream patches
 # https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/4636
 # https://chromium-review.googlesource.com/c/chromium/src/+/6421030
 Patch600: chromium-135-add-cfi-suppressions-for-pipewire-functions.patch
 # https://chromium-review.googlesource.com/c/chromium/src/+/6445471
 Patch601: chromium-135-gperf.patch
-# https://skia-review.googlesource.com/c/skia/+/961356
-Patch602: chromium-135-print-review-fail.patch
 
 # Use chromium-latest.py to generate clean tarball from released build tarballs, found here:
 # http://build.chromium.org/buildbot/official/
@@ -481,21 +480,13 @@ Source10: chromium-browser.appdata.xml
 Source11: master_preferences
 
 %if ! %{system_nodejs}
-Source12: https://nodejs.org/dist/%{nodejs_version}/node-%{nodejs_version}-linux-x64.tar.xz
-Source13: https://nodejs.org/dist/%{nodejs_version}/node-%{nodejs_version}-linux-arm64.tar.xz
-Source14: https://nodejs.org/dist/%{nodejs_version}/node-%{nodejs_version}-linux-ppc64le.tar.xz
-%endif
-
-# esbuild binary from https://github.com/evanw/esbuild
-%if 0%{?rhel} && 0%{?rhel} < 10
-Source15: https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-%{esbuild_version}.tgz
-Source16: https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-%{esbuild_version}.tgz
-Source17: https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-%{esbuild_version}.tgz
-%endif
-
-# esbuild binary from fedora/el10
-%if 0%{?fedora} || 0%{?rhel} > 9
-BuildRequires: golang-github-evanw-esbuild
+# nodejs bundles openssl, but we use the system version in el9
+# because openssl contains prohibited code, we remove openssl completely from
+# the tarball, using the script in Source13
+# http://nodejs.org/dist/v${version}/node-${nodejs_version}.tar.gz
+Source12: node-%{nodejs_version}-stripped.tar.gz
+Source13: nodejs-sources.sh
+BuildRequires: openssl-devel
 %endif
 
 BuildRequires: clang
@@ -1006,6 +997,8 @@ Qt6 UI for chromium.
 %patch -P91 -p1 -b .system-opus
 %endif
 
+%patch -P92 -p1 -b .chromium-136-nodejs-checkversion
+
 %if ! %{bundleffmpegfree}
 %if 0%{?rhel} == 9
 %patch -P129 -p1 -R -b .ffmpeg-5.x-reordered_opaque
@@ -1036,7 +1029,7 @@ Qt6 UI for chromium.
 %patch -P307 -p1 -b .el8-atk-compiler-error
 %endif
 %if 0%{?rhel} == 8 || 0%{?rhel} == 9 || 0%{?fedora} == 40
-%patch -P308 -p1 -b .el8-unsupport-clang-flags
+%patch -P308 -p1 -b .unsupport-clang-flags
 %patch -P309 -p1 -b .el8-unsupport-rustc-flags
 %patch -P310 -p1 -b .el8-clang18-build-error
 %patch -P311 -p1 -b .clang18-template
@@ -1049,6 +1042,11 @@ Qt6 UI for chromium.
 %patch -P313 -p1 -b .rust-crc32fast
 %endif
 %endif
+
+%if 0%{?rhel} == 8 || 0%{?rhel} == 9 || 0%{?fedora} == 40
+%patch -P314 -p1 -b .rust-skrifa-build-error
+%endif
+
 %if 0%{?rhel}
 %patch -P315 -p1 -b .rust-libadler2
 %endif
@@ -1068,10 +1066,6 @@ Qt6 UI for chromium.
 
 %patch -P355 -p1 -b .hardware_destructive_interference_size
 
-%if 0%{?fedora} > 41
-%patch -P356 -p1 -b .pipewire-cast
-%endif
-
 %patch -P357 -p1 -b .type-mismatch-error
 
 %patch -P358 -p1 -b .rust-clang_lib
@@ -1097,7 +1091,6 @@ Qt6 UI for chromium.
 %patch -P376 -p1 -b .0001-third_party-angle-Include-missing-header-cstddef-in-
 %patch -P377 -p1 -b .0001-Add-PPC64-support-for-boringssl
 %patch -P378 -p1 -b .0001-third_party-libvpx-Properly-generate-gni-on-ppc64
-%patch -P379 -p1 -b .0001-third_party-lss-Don-t-look-for-mmap2-on-ppc64
 %patch -P380 -p1 -b .0001-third_party-pffft-Include-altivec.h-on-ppc64-with-SI
 %patch -P381 -p1 -b .002-Add-PPC64-generated-files-for-boringssl
 %patch -P382 -p1 -b .0002-third_party-lss-kernel-structs
@@ -1132,7 +1125,6 @@ Qt6 UI for chromium.
 %patch -P411 -p1 -b .dawn-fix-ppc64le-detection
 %patch -P412 -p1 -b .add-ppc64-architecture-to-extensions
 %patch -P413 -p1 -b .fix-unknown-warning-option-messages
-%patch -P414 -p1 -b .rust-add-ppc64-case
 %patch -P415 -p1 -b .add-ppc64-pthread-stack-size
 %patch -P416 -p1 -b .ppc64-rust_png-build-error
 %endif
@@ -1146,7 +1138,6 @@ Qt6 UI for chromium.
 # Upstream patches
 %patch -P600 -p1 -b .add-cfi-suppressions-for-pipewire-functions
 %patch -P601 -p1 -b .gperf-3.2
-%patch -P602 -p1 -b .print-review-fail
 
 # Change shebang in all relevant files in this directory and all subdirectories
 # See `man find` for how the `-exec command {} +` syntax works
@@ -1154,42 +1145,14 @@ find -type f \( -iname "*.py" \) -exec sed -i '1s=^#! */usr/bin/\(python\|env py
 
 # Add correct path for nodejs binary
 %if ! %{system_nodejs}
-  pushd third_party/node/linux
-%ifarch x86_64
-  tar xf %{SOURCE12}
-  ln -s node-%{nodejs_version}-linux-x64 node-linux-x64
-%endif
-%ifarch aarch64
-  tar xf %{SOURCE13}
-  # This is weird, but whatever
-  ln -s  node-%{nodejs_version}-linux-arm64 node-linux-x64
-%endif
-%ifarch ppc64le
-  tar xf %{SOURCE14}
-  # This is weird, but whatever
-  ln -s node-%{nodejs_version}-linux-ppc64le node-linux-x64
-%endif
-popd
+  ln -s ../../../node-%{nodejs_version}/node-%{nodejs_version}-linux-x64 third_party/node/linux/node-linux-x64
 %else
   mkdir -p third_party/node/linux/node-linux-x64/bin
   ln -s $(which node) third_party/node/linux/node-linux-x64/bin/node
 %endif
 
-# Get rid of the bundled esbuild
-%if 0%{?fedora} || 0%{?rhel} > 9
-  ln -sf $(which esbuild) third_party/devtools-frontend/src/third_party/esbuild/esbuild
-%else
-  %ifarch x86_64
-    tar -zxf %{SOURCE15} --directory %{_tmppath}
-  %endif
-  %ifarch aarch64
-    tar -zxf %{SOURCE16} --directory %{_tmppath}
-  %endif
-  %ifarch ppc64le
-    tar -zxf %{SOURCE17} --directory %{_tmppath}
-  %endif
-  mv %{_tmppath}/package/bin/esbuild third_party/devtools-frontend/src/third_party/esbuild/esbuild
-%endif
+# Get rid of the prebuilt esbuild binary
+rm -rf third_party/devtools-frontend/src/third_party/esbuild
 
 # Get rid of the pre-built eu-strip binary, it is x86_64 and of mysterious origin
 rm -rf buildtools/third_party/eu-strip/bin/eu-strip
@@ -1197,6 +1160,14 @@ rm -rf buildtools/third_party/eu-strip/bin/eu-strip
 # Replace it with a symlink to the Fedora copy
 ln -s $(which eu-strip) buildtools/third_party/eu-strip/bin/eu-strip
 
+# Remove bundle gn and replace it with a system gn or bootstrap gn as it is x86_64 and causes
+# FTBFS on other arch like aarch64/ppc64le
+%if %{bootstrap}
+ln -sf ../../%{chromebuilddir}/gn buildtools/linux64/gn 
+%else
+ln -sf $(which gn) buildtools/linux64/gn
+%endif
+
 %if %{bundlelibusbx}
 # no hackity hack hack
 %else
@@ -1213,10 +1184,23 @@ sed -i 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' chrome/common/channe
 sed -i 's|/opt/google/chrome-remote-desktop|%{crd_path}|g' remoting/host/setup/daemon_controller_delegate_linux.cc
 
 # bz#2265957, add correct platform
-sed -i "s/Linux x86_64/Linux %{_arch}/" content/common/user_agent.cc
+sed -i "s/Linux x86_64/Linux %{_arch}/" components/embedder_support/user_agent_utils.cc
  
 %build
 
+%if ! %{system_nodejs}
+# Build nodejs and Replace bundle binary
+export CXX=c++
+tar xf %{SOURCE12}
+pushd node-%{nodejs_version}
+patch -p1 < %{_sourcedir}/0001-Remove-unused-OpenSSL-config.patch
+patch -p1 < %{_sourcedir}/0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch
+./configure --ninja --shared-openssl --openssl-conf-name=openssl_conf --enable-static --prefix=node-%{nodejs_version}-linux-x64
+ninja -j %{numjobs} -C %{chromebuilddir}
+make install
+popd
+%endif
+
 # reduce warnings
 FLAGS=' -Wno-deprecated-declarations -Wno-unknown-warning-option -Wno-unused-command-line-argument'
 FLAGS+=' -Wno-unused-but-set-variable -Wno-unused-result -Wno-unused-function -Wno-unused-variable'
@@ -1278,10 +1262,8 @@ sed -i 's|OFFICIAL_BUILD|GOOGLE_CHROME_BUILD|g' tools/generate_shim_headers/gene
 
 CHROMIUM_CORE_GN_DEFINES+=' chrome_pgo_phase=0'
 
-%if ! %{cfi}
-CHROMIUM_CORE_GN_DEFINES+=' is_cfi=false use_thin_lto=false'
-%else
-CHROMIUM_CORE_GN_DEFINES+=' is_cfi=true use_thin_lto=true'
+%if %{cfi}
+CHROMIUM_CORE_GN_DEFINES+=' is_cfi=true use_cfi_icall=true use_cfi_cast=true use_thin_lto=true'
 %endif
 
 %if %{useapikey}
@@ -1326,6 +1308,10 @@ CHROMIUM_CORE_GN_DEFINES+=' symbol_level=%{debug_level} blink_symbol_level=%{deb
 CHROMIUM_CORE_GN_DEFINES+=' angle_has_histograms=false'
 # drop unrar
 CHROMIUM_CORE_GN_DEFINES+=' safe_browsing_use_unrar=false'
+# Disable --warning-suppression-mappings as it causes FTBFS on el9/f40 due to old llvm
+%if 0%{?rhel} == 9 || 0%{?fedora} == 40
+CHROMIUM_CORE_GN_DEFINES+=' clang_warning_suppression_file=""'
+%endif
 export CHROMIUM_CORE_GN_DEFINES
 
 # browser gn defines
@@ -1526,22 +1512,18 @@ mkdir -p %{chromebuilddir} && cp -a $(which gn) %{chromebuilddir}/
 
 %{chromebuilddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{chromebuilddir}
 
-%if %{build_headless}
-%{chromebuilddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_HEADLESS_GN_DEFINES" %{headlessbuilddir}
-%endif
-
-%if %{build_headless}
-# Do headless first.
-%build_target %{headlessbuilddir} headless_shell
-%endif
-
 %build_target %{chromebuilddir} chrome
+
 %build_target %{chromebuilddir} chrome_sandbox
 
 %if %{build_chromedriver}
 %build_target %{chromebuilddir} chromedriver
 %endif
 
+%if %{build_headless}
+%build_target %{chromebuilddir} headless_shell
+%endif
+
 %install
 rm -rf %{buildroot}
 
@@ -1608,7 +1590,7 @@ pushd %{chromebuilddir}
 popd
 
 %if %{build_headless}
-	pushd %{headlessbuilddir}
+	pushd %{chromebuilddir}
 		cp -a *.pak headless_shell %{buildroot}%{chromium_path}
 	popd
 %endif
@@ -1787,6 +1769,9 @@ fi
 %endif
 
 %changelog
+* Thu Apr 24 2025 Than Ngo <than@redhat.com> - 136.0.7103.48-1
+- Update to 136.0.7103.48
+
 * Wed Apr 23 2025 Than Ngo <than@redhat.com> - 135.0.7049.114-1
 - Update to 135.0.7049.114
 

diff --git a/nodejs-sources.sh b/nodejs-sources.sh
new file mode 100755
index 0000000..6ba300f
--- /dev/null
+++ b/nodejs-sources.sh
@@ -0,0 +1,353 @@
+#!/bin/sh
+# Uses Argbash to generate command argument parsing. To update
+# arguments, make sure to call
+# `argbash nodejs-tarball.sh -o nodejs-tarball.sh`
+
+# ARG_POSITIONAL_SINGLE([version],[Node.js release version])
+# ARG_OPTIONAL_BOOLEAN([push],[],[Whether to upload to the lookaside cache],[on])
+# ARG_OPTIONAL_BOOLEAN([debug],[],[Print all commands],[off])
+# ARG_DEFAULTS_POS([])
+# ARG_HELP([Tool to aid in Node.js packaging of new releases])
+# ARGBASH_GO()
+# needed because of Argbash --> m4_ignore([
+### START OF CODE GENERATED BY Argbash v2.10.0 one line above ###
+# Argbash is a bash code generator used to get arguments parsing right.
+# Argbash is FREE SOFTWARE, see https://argbash.io for more info
+
+
+die()
+{
+	local _ret="${2:-1}"
+	test "${_PRINT_HELP:-no}" = yes && print_help >&2
+	echo "$1" >&2
+	exit "${_ret}"
+}
+
+
+begins_with_short_option()
+{
+	local first_option all_short_options='h'
+	first_option="${1:0:1}"
+	test "$all_short_options" = "${all_short_options/$first_option/}" && return 1 || return 0
+}
+
+# THE DEFAULTS INITIALIZATION - POSITIONALS
+_positionals=()
+_arg_version=
+# THE DEFAULTS INITIALIZATION - OPTIONALS
+_arg_push="on"
+_arg_debug="off"
+
+
+print_help()
+{
+	printf '%s\n' "Tool to aid in Node.js packaging of new releases"
+	printf 'Usage: %s [--(no-)push] [--(no-)debug] [-h|--help] <version>\n' "$0"
+	printf '\t%s\n' "<version>: Node.js release version"
+	printf '\t%s\n' "--push, --no-push: Whether to upload to the lookaside cache (on by default)"
+	printf '\t%s\n' "--debug, --no-debug: Print all commands (off by default)"
+	printf '\t%s\n' "-h, --help: Prints help"
+}
+
+
+parse_commandline()
+{
+	_positionals_count=0
+	while test $# -gt 0
+	do
+		_key="$1"
+		case "$_key" in
+			--no-push|--push)
+				_arg_push="on"
+				test "${1:0:5}" = "--no-" && _arg_push="off"
+				;;
+			--no-debug|--debug)
+				_arg_debug="on"
+				test "${1:0:5}" = "--no-" && _arg_debug="off"
+				;;
+			-h|--help)
+				print_help
+				exit 0
+				;;
+			-h*)
+				print_help
+				exit 0
+				;;
+			*)
+				_last_positional="$1"
+				_positionals+=("$_last_positional")
+				_positionals_count=$((_positionals_count + 1))
+				;;
+		esac
+		shift
+	done
+}
+
+
+handle_passed_args_count()
+{
+	local _required_args_string="'version'"
+	test "${_positionals_count}" -ge 1 || _PRINT_HELP=yes die "FATAL ERROR: Not enough positional arguments - we require exactly 1 (namely: $_required_args_string), but got only ${_positionals_count}." 1
+	test "${_positionals_count}" -le 1 || _PRINT_HELP=yes die "FATAL ERROR: There were spurious positional arguments --- we expect exactly 1 (namely: $_required_args_string), but got ${_positionals_count} (the last one was: '${_last_positional}')." 1
+}
+
+
+assign_positional_args()
+{
+	local _positional_name _shift_for=$1
+	_positional_names="_arg_version "
+
+	shift "$_shift_for"
+	for _positional_name in ${_positional_names}
+	do
+		test $# -gt 0 || break
+		eval "$_positional_name=\${1}" || die "Error during argument parsing, possibly an Argbash bug." 1
+		shift
+	done
+}
+
+parse_commandline "$@"
+handle_passed_args_count
+assign_positional_args 1 "${_positionals[@]}"
+
+# OTHER STUFF GENERATED BY Argbash
+
+### END OF CODE GENERATED BY Argbash (sortof) ### ])
+# [ <-- needed because of Argbash
+
+if [ $_arg_debug = 'on' ]; then
+  set -x
+fi
+
+SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+alias wget='wget --quiet'
+
+packages=("jq" "wget" "tar" "fedpkg" "grep" "sed" "python3-jinja2-cli" "nodejs")
+
+rpm -q ${packages[@]} >/dev/null
+if [ $? -ne 0 ]; then
+  sudo dnf -y install ${packages[@]}
+fi
+
+set -e
+
+version=$_arg_version
+
+NODE_MAJOR=$(echo $version | cut -d. -f1)
+NODE_MINOR=$(echo $version | cut -d. -f2)
+NODE_PATCH=$(echo $version | cut -d. -f3)
+
+# Treat odd-numbered major releases as pre-releases for the
+# next LTS release.
+if [[ $((NODE_MAJOR % 2)) -eq 0 ]];
+  then NODE_PKG_MAJOR=${NODE_MAJOR};
+  else NODE_PKG_MAJOR=$((NODE_MAJOR + 1));
+fi
+
+FEDORA_DEFAULT_RELEASE_LOW=$((NODE_PKG_MAJOR + 19))
+FEDORA_DEFAULT_RELEASE_HIGH=$((NODE_PKG_MAJOR + 21))
+
+if [[ $((NODE_PKG_MAJOR)) -eq 20 ]]
+  then RHEL_DEFAULT_RELEASE=" || 0%{?rhel} == 10"
+elif [[ $((NODE_PKG_MAJOR)) -eq 22 ]];
+  then RHEL_DEFAULT_RELEASE=" || 0%{?rhel} == 11"
+fi
+
+rm -rf node-v${version}.tar.gz \
+       node-v${version}-stripped.tar.gz \
+       node-v${version}/ \
+       wasi-sdk-* \
+       cjs-module-lexer* \
+       undici* \
+       SHASUMS256.txt
+echo Downloading node-v${version}.tar.gz
+wget http://nodejs.org/dist/v${version}/node-v${version}.tar.gz \
+     http://nodejs.org/dist/v${version}/SHASUMS256.txt
+echo Validating sha256sum
+sha256sum -c SHASUMS256.txt --ignore-missing
+rm -f SHASUMS256.txt
+tar -zxf node-v${version}.tar.gz
+
+# Remove bundled OpenSSL
+# We will link to the system version
+rm -rf node-v${version}/deps/openssl
+tar -zcf node-v${version}-stripped.tar.gz node-v${version}
+
+# Record the bundled cjs-module-lexer version
+LEXER_VERSION=$(jq -r '.version' node-v${version}/deps/cjs-module-lexer/package.json)
+
+# Record the bundled undici version
+UNDICI_VERSION=$(jq -r '.version' node-v${version}/deps/undici/src/package.json)
+
+ICU_MAJOR=$(jq -r '.[0].url' node-v${version}/tools/icu/current_ver.dep | sed --expression='s/.*release-\([[:digit:]]\+\)-\([[:digit:]]\+\).*/\1/g')
+ICU_MINOR=$(jq -r '.[0].url' node-v${version}/tools/icu/current_ver.dep | sed --expression='s/.*release-\([[:digit:]]\+\)-\([[:digit:]]\+\).*/\2/g')
+
+# Download the ICU binary data files
+rm -Rf icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip
+wget $(grep -E 'Source3\>' packaging/nodejs.spec.j2 | sed --expression="s/.*http/http/g" --expression="s/\(\%{icu_major}\)/${ICU_MAJOR}/g" --expression="s/\(\%{icu_minor}\)/${ICU_MINOR}/g")
+wget $(grep -E 'Source4\>' packaging/nodejs.spec.j2 | sed --expression="s/.*http/http/g" --expression="s/\(\%{icu_major}\)/${ICU_MAJOR}/g" --expression="s/\(\%{icu_minor}\)/${ICU_MINOR}/g")
+
+rm -f node-v${version}.tar.gz
+
+set +e
+
+# Determine the bundled versions of the various packages
+echo "Included software versions"
+echo "-------------------------"
+echo
+echo "Node.js version"
+echo "========================="
+echo "${version}"
+echo
+echo "libnode shared object version"
+echo "========================="
+NODE_SOVERSION=$(grep -oP '(?<=#define NODE_MODULE_VERSION )\d+' node-v${version}/src/node_version.h)
+echo "${NODE_SOVERSION}"
+echo
+echo "V8"
+echo "========================="
+V8_MAJOR=$(grep -oP '(?<=#define V8_MAJOR_VERSION )\d+' node-v${version}/deps/v8/include/v8-version.h)
+V8_MINOR=$(grep -oP '(?<=#define V8_MINOR_VERSION )\d+' node-v${version}/deps/v8/include/v8-version.h)
+V8_BUILD=$(grep -oP '(?<=#define V8_BUILD_NUMBER )\d+' node-v${version}/deps/v8/include/v8-version.h)
+V8_PATCH=$(grep -oP '(?<=#define V8_PATCH_LEVEL )\d+' node-v${version}/deps/v8/include/v8-version.h)
+echo "${V8_MAJOR}.${V8_MINOR}.${V8_BUILD}.${V8_PATCH}"
+echo
+echo "c-ares"
+echo "========================="
+C_ARES_VERSION=$(grep -oP '(?<=#define ARES_VERSION_STR ).*\"' node-v${version}/deps/cares/include/ares_version.h |sed -e 's/^"//' -e 's/"$//')
+echo $C_ARES_VERSION
+echo
+echo "llhttp"
+echo "========================="
+LLHTTP_MAJOR=$(grep -oP '(?<=#define LLHTTP_VERSION_MAJOR )\d+' node-v${version}/deps/llhttp/include/llhttp.h)
+LLHTTP_MINOR=$(grep -oP '(?<=#define LLHTTP_VERSION_MINOR )\d+' node-v${version}/deps/llhttp/include/llhttp.h)
+LLHTTP_PATCH=$(grep -oP '(?<=#define LLHTTP_VERSION_PATCH )\d+' node-v${version}/deps/llhttp/include/llhttp.h)
+LLHTTP_VERSION="${LLHTTP_MAJOR}.${LLHTTP_MINOR}.${LLHTTP_PATCH}"
+echo $LLHTTP_VERSION
+echo
+echo "libuv"
+echo "========================="
+UV_MAJOR=$(grep -oP '(?<=#define UV_VERSION_MAJOR )\d+' node-v${version}/deps/uv/include/uv/version.h)
+UV_MINOR=$(grep -oP '(?<=#define UV_VERSION_MINOR )\d+' node-v${version}/deps/uv/include/uv/version.h)
+UV_PATCH=$(grep -oP '(?<=#define UV_VERSION_PATCH )\d+' node-v${version}/deps/uv/include/uv/version.h)
+LIBUV_VERSION="${UV_MAJOR}.${UV_MINOR}.${UV_PATCH}"
+echo $LIBUV_VERSION
+echo
+echo "nghttp2"
+echo "========================="
+NGHTTP2_VERSION=$(grep -oP '(?<=#define NGHTTP2_VERSION ).*\"' node-v${version}/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h |sed -e 's/^"//' -e 's/"$//')
+echo $NGHTTP2_VERSION
+echo
+echo "nghttp3"
+echo "========================="
+NGHTTP3_VERSION=$(grep -oP '(?<=#define NGHTTP3_VERSION ).*\"' node-v${version}/deps/ngtcp2/nghttp3/lib/includes/nghttp3/version.h |sed -e 's/^"//' -e 's/"$//')
+echo $NGHTTP3_VERSION
+echo
+echo "ngtcp2"
+echo "========================="
+NGTCP2_VERSION=$(grep -oP '(?<=#define NGTCP2_VERSION ).*\"' node-v${version}/deps/ngtcp2/ngtcp2/lib/includes/ngtcp2/version.h |sed -e 's/^"//' -e 's/"$//')
+echo $NGTCP2_VERSION
+echo
+echo "ICU"
+echo "========================="
+echo "${ICU_MAJOR}.${ICU_MINOR}"
+echo
+echo "simdutf"
+echo "========================="
+SIMDUTF_VERSION=$(grep -oP '(?<=#define SIMDUTF_VERSION ).*\"' node-v${version}/deps/simdutf/simdutf.h |sed -e 's/^"//' -e 's/"$//')
+echo $SIMDUTF_VERSION
+echo
+echo "punycode"
+echo "========================="
+PUNYCODE_VERSION=$(/usr/bin/node -e "console.log(require('punycode').version)")
+echo $PUNYCODE_VERSION
+echo
+echo "uvwasi"
+echo "========================="
+UVWASI_MAJOR=$(grep -oP '(?<=#define UVWASI_VERSION_MAJOR )\d+' node-v${version}/deps/uvwasi/include/uvwasi.h)
+UVWASI_MINOR=$(grep -oP '(?<=#define UVWASI_VERSION_MINOR )\d+' node-v${version}/deps/uvwasi/include/uvwasi.h)
+UVWASI_PATCH=$(grep -oP '(?<=#define UVWASI_VERSION_PATCH )\d+' node-v${version}/deps/uvwasi/include/uvwasi.h)
+UVWASI_VERSION="${UVWASI_MAJOR}.${UVWASI_MINOR}.${UVWASI_PATCH}"
+echo $UVWASI_VERSION
+echo
+echo "npm"
+echo "========================="
+NPM_VERSION=$(jq -r .version ./node-v${version}/deps/npm/package.json)
+echo $NPM_VERSION
+echo
+echo "zlib"
+echo "========================="
+ZLIB_VERSION=$(grep -oP '(?<=#define ZLIB_VERSION ).*\"' node-v${version}/deps/zlib/zlib.h |sed -e 's/^"//' -e 's/"$//')
+echo $ZLIB_VERSION
+echo
+echo "cjs-module-lexer"
+echo "========================="
+echo "${LEXER_VERSION}"
+echo
+echo "undici"
+echo "========================="
+echo "${UNDICI_VERSION}"
+echo
+echo "ada"
+echo "========================="
+ADA_VERSION=$(grep -osP '(?<=#define ADA_VERSION ).*\"' node-v${version}/deps/ada/ada.h |sed -e 's/^"//' -e 's/"$//')
+ADA_VERSION=${ADA_VERSION:-0}
+echo "${ADA_VERSION}"
+echo
+echo "sqlite"
+echo "========================="
+SQLITE_VERSION="$(grep -osP '(?<=#define SQLITE_VERSION ).*\"' node-v${version}/deps/sqlite/sqlite3.h |sed -e 's/^\s*"//' -e 's/"\s*$//')"
+echo "${SQLITE_VERSION}"
+echo
+echo "Applying versions to spec template"
+
+# Get the list of patches we need to add to the specfile
+readarray -t patchlist < <(git ls-files |grep '^[0-9]\{4\}-.*\.patch')
+json_patchlist=$(jq --compact-output --null-input '$ARGS.positional' --args -- "${patchlist[@]}")
+
+IFS='' read -r -d '' template_json <<EOF
+{
+    "NODE_PKG_MAJOR": $NODE_PKG_MAJOR,
+    "NODE_MAJOR": $NODE_MAJOR,
+    "NODE_MINOR": $NODE_MINOR,
+    "NODE_PATCH": $NODE_PATCH,
+    "FEDORA_DEFAULT_RELEASE_LOW": $FEDORA_DEFAULT_RELEASE_LOW,
+    "FEDORA_DEFAULT_RELEASE_HIGH": $FEDORA_DEFAULT_RELEASE_HIGH,
+	"RHEL_DEFAULT_RELEASE": "$RHEL_DEFAULT_RELEASE",
+    "NODE_SOVERSION": $NODE_SOVERSION,
+    "V8_MAJOR": $V8_MAJOR,
+    "V8_MINOR": $V8_MINOR,
+    "V8_BUILD": $V8_BUILD,
+    "V8_PATCH": $V8_PATCH,
+    "C_ARES_VERSION": $C_ARES_VERSION,
+    "LLHTTP_VERSION": $LLHTTP_VERSION,
+    "LIBUV_VERSION": $LIBUV_VERSION,
+    "NGHTTP2_VERSION": $NGHTTP2_VERSION,
+    "NGHTTP3_VERSION": $NGHTTP3_VERSION,
+    "NGTCP2_VERSION": $NGTCP2_VERSION,
+    "ICU_MAJOR": $ICU_MAJOR,
+    "ICU_MINOR": $ICU_MINOR,
+    "SIMDUTF_VERSION": $SIMDUTF_VERSION,
+    "PUNYCODE_VERSION": $PUNYCODE_VERSION,
+    "UVWASI_VERSION": $UVWASI_VERSION,
+    "NPM_VERSION": $NPM_VERSION,
+    "ZLIB_VERSION": $ZLIB_VERSION,
+    "LEXER_VERSION": $LEXER_VERSION,
+    "UNDICI_VERSION": $UNDICI_VERSION,
+    "ADA_VERSION": $ADA_VERSION,
+    "SQLITE_VERSION": $SQLITE_VERSION,
+	"PATCHES": $json_patchlist
+}
+EOF
+
+echo ${template_json} | jinja2 ${SCRIPT_DIR}/packaging/nodejs.spec.j2 \
+    > ${SCRIPT_DIR}/nodejs${NODE_PKG_MAJOR}.spec
+
+if [ $_arg_push = 'on' ]; then
+  fedpkg new-sources node-v${version}-stripped.tar.gz \
+                     icu4c-${ICU_MAJOR}_${ICU_MINOR}-data-bin-*.zip
+fi
+
+rm -rf node-v${version}
+# ] <-- needed because of Argbash

diff --git a/skia-vsx-instructions.patch b/skia-vsx-instructions.patch
index faac39f..e6c7ee4 100644
--- a/skia-vsx-instructions.patch
+++ b/skia-vsx-instructions.patch
@@ -1,7 +1,7 @@
-Index: chromium-134.0.6998.35/third_party/skia/BUILD.gn
+Index: chromium-136.0.7103.48/third_party/skia/BUILD.gn
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/BUILD.gn
-+++ chromium-134.0.6998.35/third_party/skia/BUILD.gn
+--- chromium-136.0.7103.48.orig/third_party/skia/BUILD.gn
++++ chromium-136.0.7103.48/third_party/skia/BUILD.gn
 @@ -193,6 +193,12 @@ opts("lasx") {
    cflags = [ "-mlasx" ]
  }
@@ -15,7 +15,7 @@ Index: chromium-134.0.6998.35/third_party/skia/BUILD.gn
  # Any feature of Skia that requires third-party code should be optional and use this template.
  template("optional") {
    if (invoker.enabled) {
-@@ -1642,6 +1648,7 @@ skia_component("skia") {
+@@ -1651,6 +1657,7 @@ skia_component("skia") {
      ":skx",
      ":typeface_fontations",
      ":vello",
@@ -23,7 +23,7 @@ Index: chromium-134.0.6998.35/third_party/skia/BUILD.gn
      ":webp_decode",
      ":wuffs",
      ":xml",
-@@ -1813,7 +1820,10 @@ skia_static_library("pathkit") {
+@@ -1822,7 +1829,10 @@ skia_static_library("pathkit") {
    public_configs = [ ":skia_public" ]
    configs = skia_library_configs
  
@@ -35,11 +35,11 @@ Index: chromium-134.0.6998.35/third_party/skia/BUILD.gn
  
    sources = []
    sources += skia_pathops_sources
-Index: chromium-134.0.6998.35/third_party/skia/gn/skia/BUILD.gn
+Index: chromium-136.0.7103.48/third_party/skia/gn/skia/BUILD.gn
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/gn/skia/BUILD.gn
-+++ chromium-134.0.6998.35/third_party/skia/gn/skia/BUILD.gn
-@@ -166,6 +166,8 @@ config("default") {
+--- chromium-136.0.7103.48.orig/third_party/skia/gn/skia/BUILD.gn
++++ chromium-136.0.7103.48/third_party/skia/gn/skia/BUILD.gn
+@@ -175,6 +175,8 @@ config("default") {
        "-mfpmath=sse",
      ]
      ldflags += [ "-m32" ]
@@ -48,11 +48,11 @@ Index: chromium-134.0.6998.35/third_party/skia/gn/skia/BUILD.gn
    } else if (current_cpu == "loong64") {
      cflags += [
        "-mlsx",
-Index: chromium-134.0.6998.35/third_party/skia/include/core/SkTypes.h
+Index: chromium-136.0.7103.48/third_party/skia/include/core/SkTypes.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/include/core/SkTypes.h
-+++ chromium-134.0.6998.35/third_party/skia/include/core/SkTypes.h
-@@ -183,4 +183,43 @@ static constexpr uint32_t SK_InvalidGenI
+--- chromium-136.0.7103.48.orig/third_party/skia/include/core/SkTypes.h
++++ chromium-136.0.7103.48/third_party/skia/include/core/SkTypes.h
+@@ -188,4 +188,43 @@ static constexpr uint32_t SK_InvalidGenI
  */
  static constexpr uint32_t SK_InvalidUniqueID = 0;
  
@@ -96,10 +96,10 @@ Index: chromium-134.0.6998.35/third_party/skia/include/core/SkTypes.h
 +#endif
 +
  #endif
-Index: chromium-134.0.6998.35/third_party/skia/src/base/SkSpinlock.cpp
+Index: chromium-136.0.7103.48/third_party/skia/src/base/SkSpinlock.cpp
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/src/base/SkSpinlock.cpp
-+++ chromium-134.0.6998.35/third_party/skia/src/base/SkSpinlock.cpp
+--- chromium-136.0.7103.48.orig/third_party/skia/src/base/SkSpinlock.cpp
++++ chromium-136.0.7103.48/third_party/skia/src/base/SkSpinlock.cpp
 @@ -33,7 +33,8 @@
  #endif
  
@@ -110,10 +110,10 @@ Index: chromium-134.0.6998.35/third_party/skia/src/base/SkSpinlock.cpp
      #include <emmintrin.h>
      static void do_pause() { _mm_pause(); }
  #else
-Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkBitmapProcState_opts.h
+Index: chromium-136.0.7103.48/third_party/skia/src/opts/SkBitmapProcState_opts.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h
-+++ chromium-134.0.6998.35/third_party/skia/src/opts/SkBitmapProcState_opts.h
+--- chromium-136.0.7103.48.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h
++++ chromium-136.0.7103.48/third_party/skia/src/opts/SkBitmapProcState_opts.h
 @@ -21,7 +21,13 @@
  // The rest are scattershot at the moment but I want to get them
  // all migrated to be normal code inside SkBitmapProcState.cpp.
@@ -129,10 +129,10 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkBitmapProcState_opts.h
      #include <immintrin.h>
  #elif defined(SK_ARM_HAS_NEON)
      #include <arm_neon.h>
-Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkBlitRow_opts.h
+Index: chromium-136.0.7103.48/third_party/skia/src/opts/SkBlitRow_opts.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/src/opts/SkBlitRow_opts.h
-+++ chromium-134.0.6998.35/third_party/skia/src/opts/SkBlitRow_opts.h
+--- chromium-136.0.7103.48.orig/third_party/skia/src/opts/SkBlitRow_opts.h
++++ chromium-136.0.7103.48/third_party/skia/src/opts/SkBlitRow_opts.h
 @@ -69,7 +69,7 @@
  #endif
  
@@ -142,10 +142,10 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkBlitRow_opts.h
  
      static inline __m128i SkPMSrcOver_SSE2(const __m128i& src, const __m128i& dst) {
          __m128i scale = _mm_sub_epi32(_mm_set1_epi32(256),
-Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
+Index: chromium-136.0.7103.48/third_party/skia/src/opts/SkRasterPipeline_opts.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h
-+++ chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
+--- chromium-136.0.7103.48.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h
++++ chromium-136.0.7103.48/third_party/skia/src/opts/SkRasterPipeline_opts.h
 @@ -1,5 +1,6 @@
  /*
   * Copyright 2018 Google Inc.
@@ -153,7 +153,7 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
   *
   * Use of this source code is governed by a BSD-style license that can be
   * found in the LICENSE file.
-@@ -75,6 +76,8 @@ using NoCtx = const void*;
+@@ -81,6 +82,8 @@ using NoCtx = const void*;
      #define SKRP_CPU_SCALAR
  #elif defined(SK_ARM_HAS_NEON)
      #define SKRP_CPU_NEON
@@ -162,7 +162,7 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
  #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SKX
      #define SKRP_CPU_SKX
  #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_AVX2
-@@ -97,6 +100,8 @@ using NoCtx = const void*;
+@@ -103,6 +106,8 @@ using NoCtx = const void*;
      #include <math.h>
  #elif defined(SKRP_CPU_NEON)
      #include <arm_neon.h>
@@ -171,7 +171,7 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
  #elif defined(SKRP_CPU_LASX)
      #include <lasxintrin.h>
      #include <lsxintrin.h>
-@@ -194,6 +199,184 @@ namespace SK_OPTS_NS {
+@@ -200,6 +205,184 @@ namespace SK_OPTS_NS {
          ptr[3] = a;
      }
  
@@ -356,7 +356,7 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
  #elif defined(SKRP_CPU_NEON)
      template <typename T> using V = Vec<4, T>;
      using F   = V<float   >;
-@@ -1383,6 +1566,15 @@ SI F from_half(U16 h) {
+@@ -1389,6 +1572,15 @@ SI F from_half(U16 h) {
  #elif defined(SKRP_CPU_HSW)
      return _mm256_cvtph_ps((__m128i)h);
  
@@ -372,7 +372,7 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
  #else
      // Remember, a half is 1-5-10 (sign-exponent-mantissa) with 15 exponent bias.
      U32 sem = expand(h),
-@@ -1406,6 +1598,16 @@ SI U16 to_half(F f) {
+@@ -1412,6 +1604,16 @@ SI U16 to_half(F f) {
  #elif defined(SKRP_CPU_HSW)
      return (U16)_mm256_cvtps_ph(f, _MM_FROUND_CUR_DIRECTION);
  
@@ -389,7 +389,7 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
  #else
      // Remember, a float is 1-8-23 (sign-exponent-mantissa) with 127 exponent bias.
      U32 sem = sk_bit_cast<U32>(f),
-@@ -1481,7 +1683,7 @@ static constexpr size_t N = sizeof(F) /
+@@ -1492,7 +1694,7 @@ static constexpr size_t N = sizeof(F) /
      // instead of {b,a} on the stack.  Narrow stages work best for __vectorcall.
      #define ABI __vectorcall
      #define SKRP_NARROW_STAGES 1
@@ -398,7 +398,7 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
      // These platforms are ideal for wider stages, and their default ABI is ideal.
      #define ABI
      #define SKRP_NARROW_STAGES 0
-@@ -5470,6 +5672,10 @@ SI F sqrt_(F x) {
+@@ -5501,6 +5703,10 @@ SI F sqrt_(F x) {
      float32x4_t lo,hi;
      split(x, &lo,&hi);
      return join<F>(sqrt(lo), sqrt(hi));
@@ -409,7 +409,7 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
  #elif defined(SKRP_CPU_LASX)
      __m256 lo,hi;
      split(x, &lo,&hi);
-@@ -5501,6 +5707,10 @@ SI F floor_(F x) {
+@@ -5532,6 +5738,10 @@ SI F floor_(F x) {
      __m128 lo,hi;
      split(x, &lo,&hi);
      return join<F>(_mm_floor_ps(lo), _mm_floor_ps(hi));
@@ -420,7 +420,7 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
  #elif defined(SKRP_CPU_LASX)
      __m256 lo,hi;
      split(x, &lo,&hi);
-@@ -5520,6 +5730,7 @@ SI F floor_(F x) {
+@@ -5551,6 +5761,7 @@ SI F floor_(F x) {
  //     (2 * a * b + (1 << 15)) >> 16
  // The result is a number on [-1, 1).
  // Note: on neon this is a saturating multiply while the others are not.
@@ -428,7 +428,7 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
  SI I16 scaled_mult(I16 a, I16 b) {
  #if defined(SKRP_CPU_SKX)
      return (I16)_mm256_mulhrs_epi16((__m256i)a, (__m256i)b);
-@@ -5531,6 +5742,22 @@ SI I16 scaled_mult(I16 a, I16 b) {
+@@ -5562,6 +5773,22 @@ SI I16 scaled_mult(I16 a, I16 b) {
      return vqrdmulhq_s16(a, b);
  #elif defined(SKRP_CPU_NEON)
      return vqrdmulhq_s16(a, b);
@@ -451,7 +451,7 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
  #elif defined(SKRP_CPU_LASX)
      I16 res = __lasx_xvmuh_h(a, b);
      return __lasx_xvslli_h(res, 1);
-@@ -5558,7 +5785,26 @@ SI U16 constrained_add(I16 a, U16 b) {
+@@ -5589,7 +5816,26 @@ SI U16 constrained_add(I16 a, U16 b) {
              SkASSERT(-ib <= ia && ia <= 65535 - ib);
          }
      #endif
@@ -478,7 +478,7 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
  }
  
  SI F fract(F x) { return x - floor_(x); }
-@@ -6571,8 +6817,14 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
+@@ -6606,8 +6852,14 @@ LOWP_STAGE_GP(bilerp_clamp_8888, const S
      //         2^-8 * v = 2^-9 * (tx*(R - L) + (R + L))
      //                v = 1/2 * (tx*(R - L) + (R + L))
      auto lerpX = [&](U16 left, U16 right) -> U16 {
@@ -493,7 +493,7 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
          // The constrained_add is the most subtle part of lerp. The first term is on the interval
          // [-1, 1), and the second term is on the interval is on the interval [0, 1) because
          // both terms are too high by a factor of 2 which will be handled below. (Both R and L are
-@@ -6584,7 +6836,12 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
+@@ -6619,7 +6871,12 @@ LOWP_STAGE_GP(bilerp_clamp_8888, const S
          U16 v2  = constrained_add(scaled_mult(tx, width), middle) + 1;
          // Divide by 2 to calculate v and at the same time bring the intermediate value onto the
          // interval [0, 1/2] to set up for the lerpY.
@@ -506,7 +506,7 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
      };
  
      const uint32_t* ptr;
-@@ -6618,9 +6875,15 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
+@@ -6653,9 +6910,15 @@ LOWP_STAGE_GP(bilerp_clamp_8888, const S
          I16 width  = (I16)bottom - (I16)top;
          U16 middle = bottom + top;
          // Add + 0x80 for rounding.
@@ -523,10 +523,10 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
      };
  
      r = lerpY(topR, bottomR);
-Index: chromium-134.0.6998.35/third_party/skia/src/base/SkVx.h
+Index: chromium-136.0.7103.48/third_party/skia/src/base/SkVx.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/src/base/SkVx.h
-+++ chromium-134.0.6998.35/third_party/skia/src/base/SkVx.h
+--- chromium-136.0.7103.48.orig/third_party/skia/src/base/SkVx.h
++++ chromium-136.0.7103.48/third_party/skia/src/base/SkVx.h
 @@ -41,7 +41,12 @@
  #endif
  
@@ -541,10 +541,10 @@ Index: chromium-134.0.6998.35/third_party/skia/src/base/SkVx.h
          #include <immintrin.h>
      #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE41
          #include <smmintrin.h>
-Index: chromium-134.0.6998.35/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
+Index: chromium-136.0.7103.48/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
-+++ chromium-134.0.6998.35/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
+--- chromium-136.0.7103.48.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
++++ chromium-136.0.7103.48/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
 @@ -9,7 +9,7 @@
  #include "src/core/SkBlitMask.h"
  #include "src/core/SkOptsTargets.h"
@@ -554,10 +554,10 @@ Index: chromium-134.0.6998.35/third_party/skia/src/core/SkBlitMask_opts_ssse3.cp
  
  // The order of these includes is important:
  // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
-Index: chromium-134.0.6998.35/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
+Index: chromium-136.0.7103.48/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
-+++ chromium-134.0.6998.35/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
+--- chromium-136.0.7103.48.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
++++ chromium-136.0.7103.48/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
 @@ -10,7 +10,7 @@
  #include "src/core/SkOptsTargets.h"
  #include "src/core/SkSwizzlePriv.h"
@@ -567,10 +567,10 @@ Index: chromium-134.0.6998.35/third_party/skia/src/core/SkSwizzler_opts_ssse3.cp
      !defined(SK_ENABLE_OPTIMIZE_SIZE) && \
      SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
  
-Index: chromium-134.0.6998.35/third_party/skia/src/core/SkBlitMask_opts.cpp
+Index: chromium-136.0.7103.48/third_party/skia/src/core/SkBlitMask_opts.cpp
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/src/core/SkBlitMask_opts.cpp
-+++ chromium-134.0.6998.35/third_party/skia/src/core/SkBlitMask_opts.cpp
+--- chromium-136.0.7103.48.orig/third_party/skia/src/core/SkBlitMask_opts.cpp
++++ chromium-136.0.7103.48/third_party/skia/src/core/SkBlitMask_opts.cpp
 @@ -25,7 +25,7 @@ namespace SkOpts {
      static bool init() {
      #if defined(SK_ENABLE_OPTIMIZE_SIZE)
@@ -580,10 +580,10 @@ Index: chromium-134.0.6998.35/third_party/skia/src/core/SkBlitMask_opts.cpp
          #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
              if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BlitMask_ssse3(); }
          #endif
-Index: chromium-134.0.6998.35/third_party/skia/src/core/SkBitmapProcState_opts.cpp
+Index: chromium-136.0.7103.48/third_party/skia/src/core/SkBitmapProcState_opts.cpp
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp
-+++ chromium-134.0.6998.35/third_party/skia/src/core/SkBitmapProcState_opts.cpp
+--- chromium-136.0.7103.48.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp
++++ chromium-136.0.7103.48/third_party/skia/src/core/SkBitmapProcState_opts.cpp
 @@ -27,7 +27,7 @@ namespace SkOpts {
      static bool init() {
      #if defined(SK_ENABLE_OPTIMIZE_SIZE)
@@ -593,10 +593,10 @@ Index: chromium-134.0.6998.35/third_party/skia/src/core/SkBitmapProcState_opts.c
          #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
              if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BitmapProcState_ssse3(); }
          #endif
-Index: chromium-134.0.6998.35/third_party/skia/src/core/SkCpu.h
+Index: chromium-136.0.7103.48/third_party/skia/src/core/SkCpu.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/src/core/SkCpu.h
-+++ chromium-134.0.6998.35/third_party/skia/src/core/SkCpu.h
+--- chromium-136.0.7103.48.orig/third_party/skia/src/core/SkCpu.h
++++ chromium-136.0.7103.48/third_party/skia/src/core/SkCpu.h
 @@ -60,7 +60,7 @@ inline bool SkCpu::Supports(uint32_t mas
  
      // If we mask in compile-time known lower limits, the compiler can
@@ -606,10 +606,10 @@ Index: chromium-134.0.6998.35/third_party/skia/src/core/SkCpu.h
      #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1
      features |= SSE1;
      #endif
-Index: chromium-134.0.6998.35/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
+Index: chromium-136.0.7103.48/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
-+++ chromium-134.0.6998.35/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
+--- chromium-136.0.7103.48.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
++++ chromium-136.0.7103.48/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
 @@ -8,7 +8,7 @@
  #include "include/private/base/SkFeatures.h"
  #include "src/core/SkOptsTargets.h"
@@ -619,10 +619,10 @@ Index: chromium-134.0.6998.35/third_party/skia/src/core/SkBitmapProcState_opts_s
  
  // The order of these includes is important:
  // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
-Index: chromium-134.0.6998.35/third_party/skia/include/private/base/SkFeatures.h
+Index: chromium-136.0.7103.48/third_party/skia/include/private/base/SkFeatures.h
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/include/private/base/SkFeatures.h
-+++ chromium-134.0.6998.35/third_party/skia/include/private/base/SkFeatures.h
+--- chromium-136.0.7103.48.orig/third_party/skia/include/private/base/SkFeatures.h
++++ chromium-136.0.7103.48/third_party/skia/include/private/base/SkFeatures.h
 @@ -63,6 +63,8 @@
  
  #if defined(__i386) || defined(_M_IX86) ||  defined(__x86_64__) || defined(_M_X64)
@@ -632,10 +632,10 @@ Index: chromium-134.0.6998.35/third_party/skia/include/private/base/SkFeatures.h
  #endif
  
  #if defined(__loongarch__) || defined (__loongarch64)
-Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkSwizzler_opts.inc
+Index: chromium-136.0.7103.48/third_party/skia/src/opts/SkSwizzler_opts.inc
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/src/opts/SkSwizzler_opts.inc
-+++ chromium-134.0.6998.35/third_party/skia/src/opts/SkSwizzler_opts.inc
+--- chromium-136.0.7103.48.orig/third_party/skia/src/opts/SkSwizzler_opts.inc
++++ chromium-136.0.7103.48/third_party/skia/src/opts/SkSwizzler_opts.inc
 @@ -14,7 +14,10 @@
  #include <cmath>
  #include <utility>
@@ -682,10 +682,10 @@ Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkSwizzler_opts.inc
  #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 && (defined(__clang__) || !defined(_MSC_VER))
  // -- SSE -- Harden against timing attacks -- MSVC is not supported.
  using F4 = __m128;
-Index: chromium-134.0.6998.35/third_party/skia/src/core/SkBlitter_ARGB32.cpp
+Index: chromium-136.0.7103.48/third_party/skia/src/core/SkBlitter_ARGB32.cpp
 ===================================================================
---- chromium-134.0.6998.35.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp
-+++ chromium-134.0.6998.35/third_party/skia/src/core/SkBlitter_ARGB32.cpp
+--- chromium-136.0.7103.48.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp
++++ chromium-136.0.7103.48/third_party/skia/src/core/SkBlitter_ARGB32.cpp
 @@ -127,6 +127,16 @@ static inline SkPMColor blend_lcd16_opaq
  #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2
      #include <emmintrin.h>

diff --git a/sources b/sources
index c3373b9..5d16181 100644
--- a/sources
+++ b/sources
@@ -1,7 +1,2 @@
-SHA512 (linux-arm64-0.19.2.tgz) = 8a0d8fec6786fffcd6954d00820037a55d61e60762c74300df0801f8db27057562c221a063bedfb8df56af9ba80abb366336987e881782c5996e6f871abd3dc6
-SHA512 (linux-x64-0.19.2.tgz) = a31cc74c4bfa54f9b75d735a1cfc944d3b5efb7c06bfba9542da9a642ae0b2d235ea00ae84d3ad0572c406405110fe7b61377af0fd15803806ef78d20fc6f05d
-SHA512 (linux-ppc64-0.19.2.tgz) = 749d2413c293a9b887b40dc573fce7ee509dee9a95af825c4f426a3a76e3e0b2f3627a7eee1f108b8ca37eae366651df84e08ce36ac18741301d82cbe8b13373
-SHA512 (node-v22.14.0-linux-arm64.tar.xz) = 1b459f4fb1c52d35253c678e28198cb4f82d459eceecca64b699b80ed7ff8ac7a2d86f79dffe56cdcc783f3379a3c0a00296ce1e24d7ef5554cf1d6236f0ff16
-SHA512 (node-v22.14.0-linux-ppc64le.tar.xz) = 551ba75ee8c7ff84080e0c2ace721c9a0b32e2580637806df253108c01b6b27b79293360b7696646e3b8fcd447fb29b851e91adb5a9d0dd2fed693393086cbed
-SHA512 (node-v22.14.0-linux-x64.tar.xz) = acb8c6df3ad9e5b403449a003726de7733de5bb23162e6db535948589fb15570cd606924ad7ce76f42785117d938deec1e8d5781c20a3558b1ef8f8e4af41735
-SHA512 (chromium-135.0.7049.114-clean.tar.xz) = ac77aadcd0fbefbf98276c3c8653a82873936929659c86f1edd1a4a53bc819d94007a6caa9daf25e0f2007f315175530f55575925d458837ef149c62f4402bcb
+SHA512 (chromium-136.0.7103.48-clean.tar.xz) = 561f85d0cfc91cb96ad68b10f558bae32b1baf4e8e12fd396d975dbb022c2775b9f3c178c3cb0db8484d23bc47fa7b04073a8fb6c86d2336d32fecaa83a2a88f
+SHA512 (node-v22.14.0-stripped.tar.gz) = affddb541009c6d378049c2d7845b981335d9e7aa387efcc472e5efb621c345cd58ca69778a394f7e4ebbb5e4b1a115a389838ef1b6458ef5e98f2071b166e15

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-08-07 16:07 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:07 [rpms/chromium] epel9-next: - Update to 136.0.7103.48 Than Ngo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox