public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/chromium] epel9-next: - Update to 134.0.6998.35
@ 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 : b287e3cae6c853f419e7de502ad0cb87169060be
Author : Than Ngo <than@redhat.com>
Date : 2025-03-05T15:37:32+01:00
Stats : +1616/-1575 in 19 file(s)
URL : https://src.fedoraproject.org/rpms/chromium/c/b287e3cae6c853f419e7de502ad0cb87169060be?branch=epel9-next
Log:
- Update to 134.0.6998.35
* CVE-2025-1914: Out of bounds read in V8
* CVE-2025-1915: Improper Limitation of a Pathname to a Restricted Directory in DevTools
* CVE-2025-1916: Use after free in Profiles
* CVE-2025-1917: Inappropriate Implementation in Browser UI
* CVE-2025-1918: Out of bounds read in PDFium
* CVE-2025-1919: Out of bounds read in Media
* CVE-2025-1921: Inappropriate Implementation in Media Stream
* CVE-2025-1922: Inappropriate Implementation in Selection
* CVE-2025-1923: Inappropriate Implementation in Permission Prompts
---
diff --git a/0001-Add-PPC64-support-for-boringssl.patch b/0001-Add-PPC64-support-for-boringssl.patch
index cf36646..af1288b 100644
--- a/0001-Add-PPC64-support-for-boringssl.patch
+++ b/0001-Add-PPC64-support-for-boringssl.patch
@@ -1,7 +1,7 @@
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/abi_self_test.cc
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/abi_self_test.cc
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/abi_self_test.cc
-+++ chromium-133.0.6943.35/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
@@ -521,3 +521,289 @@ TEST(ABITest, AArch64) {
CHECK_ABI_NO_UNWIND(abi_test_clobber_v15_upper);
}
@@ -292,10 +292,10 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/boringssl/src/crypto/cpu_ppc64le.cc
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/cpu_ppc64le.cc
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/cpu_ppc64le.cc
++++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/cpu_ppc64le.cc
@@ -0,0 +1,38 @@
+/* Copyright (c) 2016, Google Inc.
+ *
@@ -335,10 +335,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/cpu_ppc64le.cc
+}
+
+#endif // OPENSSL_PPC64LE
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/crypto.cc
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/crypto.cc
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/crypto.cc
-+++ chromium-133.0.6943.35/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
@@ -67,6 +67,10 @@ uint32_t OPENSSL_get_ia32cap(int idx) {
return OPENSSL_ia32cap_P[idx];
}
@@ -350,10 +350,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/crypto.cc
#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
#include <openssl/arm_arch.h>
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
++++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
@@ -0,0 +1,3809 @@
+#! /usr/bin/env perl
+# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved.
@@ -4164,10 +4164,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/aes/as
+}
+
+close STDOUT or die "error closing STDOUT: $!";
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
-+++ chromium-133.0.6943.35/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
inline int vpaes_capable(void) { return CRYPTO_is_NEON_capable(); }
#endif
@@ -4181,10 +4181,24 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/aes/in
#endif
#endif // !NO_ASM
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
+@@ -504,6 +510,13 @@ void aes_gcm_dec_kernel(const uint8_t *i
+ const u128 Htable[16]);
+ #endif
+
++#elif defined(OPENSSL_PPC64LE)
++#define GHASH_ASM_PPC64LE
++#define GCM_FUNCREF
++void gcm_init_p8(u128 Htable[16], const uint64_t Xi[2]);
++void gcm_gmult_p8(uint8_t Xi[16], const u128 Htable[16]);
++void gcm_ghash_p8(uint8_t Xi[16], const u128 Htable[16], const uint8_t *inp,
++ size_t len);
+ #endif
+ #endif // OPENSSL_NO_ASM
+
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
-+++ chromium-133.0.6943.35/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 @@
#include "self_check/fips.cc.inc"
#include "self_check/self_check.cc.inc"
@@ -4193,11 +4207,11 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
-+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
-@@ -325,6 +325,23 @@ int bn_expand(BIGNUM *bn, size_t bits) {
+--- 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
+@@ -330,6 +330,23 @@ int bn_expand(BIGNUM *bn, size_t bits) {
}
int bn_resize_words(BIGNUM *bn, size_t words) {
@@ -4221,11 +4235,11 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/bn/bn.
if ((size_t)bn->width <= words) {
if (!bn_wexpand(bn, words)) {
return 0;
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
-+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
-@@ -1230,6 +1230,8 @@ int EVP_has_aes_hardware(void) {
+--- 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) {
return hwaes_capable() && crypto_gcm_clmul_enabled();
#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
return hwaes_capable() && CRYPTO_is_ARMv8_PMULL_capable();
@@ -4234,10 +4248,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/cipher
#else
return 0;
#endif
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
++++ chromium-134.0.6998.35/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.
@@ -4910,11 +4924,11 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/
+}
+
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.cc.inc
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.cc.inc
-+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.cc.inc
-@@ -228,6 +228,13 @@ void CRYPTO_ghash_init(gmult_func *out_m
+--- 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
+@@ -233,6 +233,13 @@ void CRYPTO_ghash_init(gmult_func *out_m
*out_hash = gcm_ghash_neon;
return;
}
@@ -4928,10 +4942,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/
#endif
gcm_init_nohw(out_table, H);
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
-+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/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) {
}
}
@@ -4948,28 +4962,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/
+#endif // GHASH_ASM_PPC64LE
}
#endif // SUPPORTS_ABI_TEST && !OPENSSL_NO_ASM
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
-===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
-+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
-@@ -260,6 +260,13 @@ void aes_gcm_dec_kernel(const uint8_t *i
- const u128 Htable[16]);
- #endif
-
-+#elif defined(OPENSSL_PPC64LE)
-+#define GHASH_ASM_PPC64LE
-+#define GCM_FUNCREF
-+void gcm_init_p8(u128 Htable[16], const uint64_t Xi[2]);
-+void gcm_gmult_p8(uint8_t Xi[16], const u128 Htable[16]);
-+void gcm_ghash_p8(uint8_t Xi[16], const u128 Htable[16], const uint8_t *inp,
-+ size_t len);
- #endif
- #endif // OPENSSL_NO_ASM
-
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/rand_extra/getrandom_fillin.h
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/rand_extra/getrandom_fillin.h
-+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/rand_extra/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
@@ -30,6 +30,8 @@
#define EXPECTED_NR_getrandom 278
#elif defined(OPENSSL_ARM)
@@ -4979,10 +4975,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/rand_extra/getran
#elif defined(OPENSSL_RISCV64)
#define EXPECTED_NR_getrandom 278
#endif
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
-+++ chromium-133.0.6943.35/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
@@ -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
@@ -4995,10 +4991,10 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
-+++ chromium-133.0.6943.35/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
@@ -23,6 +23,16 @@
extern "C" {
#endif
@@ -5016,10 +5012,10 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
++++ chromium-134.0.6998.35/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.
@@ -5390,11 +5386,11 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/sha/sh
+#undef BODY_20_39
+#undef BODY_40_59
+#undef BODY_60_79
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/internal.h
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/internal.h
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/internal.h
-+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/internal.h
-@@ -56,8 +56,9 @@ extern "C" {
+--- 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" {
#if !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_STATIC_ARMCAP) && \
(defined(OPENSSL_X86) || defined(OPENSSL_X86_64) || \
defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64))
@@ -5406,7 +5402,7 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/internal.h
#define NEED_CPUID
// OPENSSL_cpuid_setup initializes the platform-specific feature cache. This
-@@ -1397,6 +1398,16 @@ inline int CRYPTO_is_ARMv8_SHA512_capabl
+@@ -1402,6 +1403,16 @@ inline int CRYPTO_is_ARMv8_SHA512_capabl
#endif // OPENSSL_ARM || OPENSSL_AARCH64
@@ -5423,10 +5419,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/internal.h
#if defined(BORINGSSL_DISPATCH_TEST)
// Runtime CPU dispatch testing support
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
++++ chromium-134.0.6998.35/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.
@@ -5748,10 +5744,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/perlasm/ppc-xlate
+___
+
+close STDOUT or die "error closing STDOUT: $!";
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/test/abi_test.h
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/test/abi_test.h
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/test/abi_test.h
-+++ chromium-133.0.6943.35/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
@@ -179,7 +179,78 @@ struct alignas(16) Reg128 {
CALLER_STATE_REGISTER(uint64_t, x28) \
CALLER_STATE_REGISTER(uint64_t, x29)
@@ -5858,10 +5854,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/test/abi_test.h
static_assert(sizeof...(args) <= 8,
"too many arguments for abi_test_trampoline");
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
++++ chromium-134.0.6998.35/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
@@ -0,0 +1,262 @@
+#!/usr/bin/env perl
+# Copyright (c) 2019, Google Inc.
@@ -6125,10 +6121,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/test/asm/trampoli
+
+print $code;
+close STDOUT or die "error closing STDOUT: $!";
-Index: chromium-133.0.6943.35/third_party/boringssl/src/include/openssl/target.h
+Index: chromium-134.0.6998.35/third_party/boringssl/src/include/openssl/target.h
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/include/openssl/target.h
-+++ chromium-133.0.6943.35/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
@@ -34,6 +34,9 @@
#elif defined(__ARMEL__) || defined(_M_ARM)
#define OPENSSL_32_BIT
@@ -6139,11 +6135,11 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/include/openssl/target.h
#elif defined(__MIPSEL__) && !defined(__LP64__)
#define OPENSSL_32_BIT
#define OPENSSL_MIPS
-Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
-+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
-@@ -38,6 +38,8 @@ int main(int argc, char **argv) {
+--- 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
+@@ -35,6 +35,8 @@ int main(int argc, char **argv) {
puts("ARM (32-bit)");
#elif defined(OPENSSL_AARCH64)
puts("aarch64 (64-bit)");
@@ -6152,10 +6148,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/acvp/modu
#else
#error "FIPS build not supported on this architecture"
#endif
-Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/delocate.go
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
-+++ chromium-133.0.6943.35/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 {
type processorType int
@@ -6755,13 +6751,13 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/
case "str", "bl", "ldr", "st1":
return aarch64
}
-Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
-+++ chromium-133.0.6943.35/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
@@ -12,9 +12,9 @@
- # OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
-# This is a rough parser for x86-64 and aarch64 assembly designed to work with
-# https://github.com/pointlander/peg. delocate.go has a go:generate line for
@@ -6772,10 +6768,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/
# To regenerate delocate.peg.go:
#
-Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
-+++ chromium-133.0.6943.35/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
@@ -39,6 +39,11 @@ func (test *delocateTest) Path(file stri
var delocateTests = []delocateTest{
@@ -6788,10 +6784,10 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
++++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
@@ -0,0 +1,9 @@
+ .text
+foo:
@@ -6802,10 +6798,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/
+ .localentry foo,.-foo
+.LVL0:
+ bl
-Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
++++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
@@ -0,0 +1,62 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@@ -6869,19 +6865,19 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
-Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
++++ chromium-134.0.6998.35/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-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
++++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
@@ -0,0 +1,72 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@@ -6955,10 +6951,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
-Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
++++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
@@ -0,0 +1,161 @@
+ .file "foo.cc"
+ .abiversion 2
@@ -7121,10 +7117,10 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
++++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
@@ -0,0 +1,552 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@@ -7678,10 +7674,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
-Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
++++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
@@ -0,0 +1,226 @@
+ .file "foo.cc"
+ .abiversion 2
@@ -7909,10 +7905,10 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
++++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
@@ -0,0 +1,677 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@@ -8591,10 +8587,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
-Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
++++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
@@ -0,0 +1,23 @@
+ .text
+foo:
@@ -8619,10 +8615,10 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
++++ chromium-134.0.6998.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
@@ -0,0 +1,178 @@
+.text
+.file 1 "inserted_by_delocate.cc"
@@ -8802,11 +8798,11 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
-Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
+Index: chromium-134.0.6998.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
-+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
-@@ -362,6 +362,10 @@ static void sha1_block_data_order(uint32
+--- 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
+@@ -367,6 +367,10 @@ static void sha1_block_data_order(uint32
return;
}
#endif
@@ -8817,17 +8813,17 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/sha/sh
sha1_block_data_order_nohw(state, data, num);
}
-Index: chromium-133.0.6943.35/third_party/boringssl/src/build.json
+Index: chromium-134.0.6998.35/third_party/boringssl/src/build.json
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/build.json
-+++ chromium-133.0.6943.35/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 @@
{"src": "crypto/fipsmodule/sha/asm/sha512-armv4.pl"},
{"src": "crypto/fipsmodule/aes/asm/vpaes-armv7.pl"}
],
+ "perlasm_ppc64le": [
+ {"src": "crypto/fipsmodule/aes/asm/aesp8-ppc.pl"},
-+ {"src": "crypto/fipsmodule/modes/asm/ghashp8-ppc.pl"}
++ {"src": "crypto/fipsmodule/aes/asm/ghashp8-ppc.pl"}
+ ],
"perlasm_x86": [
{"src": "crypto/fipsmodule/aes/asm/aesni-x86.pl"},
@@ -8840,7 +8836,7 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/build.json
"crypto/crypto.cc",
"crypto/curve25519/curve25519.cc",
"crypto/curve25519/curve25519_64_adx.cc",
-@@ -786,6 +791,9 @@
+@@ -787,6 +792,9 @@
"perlasm_arm": [
{"src": "crypto/test/asm/trampoline-armv4.pl"}
],
@@ -8850,10 +8846,10 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/build.json
"perlasm_x86": [
{"src": "crypto/test/asm/trampoline-x86.pl"}
],
-Index: chromium-133.0.6943.35/third_party/boringssl/src/util/pregenerate/build.go
+Index: chromium-134.0.6998.35/third_party/boringssl/src/util/pregenerate/build.go
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/util/pregenerate/build.go
-+++ chromium-133.0.6943.35/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
@@ -38,6 +38,7 @@ type InputTarget struct {
// architecture.
PerlasmAarch64 []PerlasmSource `json:"perlasm_aarch64,omitempty"`
@@ -8872,10 +8868,10 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/boringssl/README.ppc64le
+Index: chromium-134.0.6998.35/third_party/boringssl/README.ppc64le
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/README.ppc64le
++++ chromium-134.0.6998.35/third_party/boringssl/README.ppc64le
@@ -0,0 +1,8 @@
+==============================================================
+To recreate boringssl pregenerated files patch for ppc64le:
@@ -8885,10 +8881,10 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/boringssl/src/gen/sources.gni
+Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.gni
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/gen/sources.gni
-+++ chromium-133.0.6943.35/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 = [
"gen/bcm/aesv8-gcm-armv8-apple.S",
"gen/bcm/aesv8-gcm-armv8-linux.S",
diff --git a/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch b/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch
index 5fd44ff..2a77351 100644
--- a/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch
+++ b/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch
@@ -1,7 +1,7 @@
-Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
+Index: chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
===================================================================
--- /dev/null
-+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
++++ chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
@@ -0,0 +1,95 @@
+;
+; Copyright (c) 2024, Alliance for Open Media. All rights reserved.
@@ -98,10 +98,10 @@ Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/confi
+HAVE_VSX equ 1
+HAVE_WXWIDGETS equ 0
+STATIC_LINK_JXL equ 0
-Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
+Index: chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
===================================================================
--- /dev/null
-+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
++++ chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
@@ -0,0 +1,13 @@
+/*
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
@@ -116,10 +116,10 @@ Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/confi
+#include "aom/aom_codec.h"
+static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/ppc-linux-gcc.cmake\" -DCONFIG_AV1_DECODER=0 -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_QUANT_MATRIX=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384";
+const char *aom_codec_build_config(void) {return cfg;}
-Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
+Index: chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
===================================================================
--- /dev/null
-+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
++++ chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
@@ -219,10 +219,10 @@ Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/confi
+#define HAVE_WXWIDGETS 0
+#define STATIC_LINK_JXL 0
+#endif // AOM_CONFIG_H_
-Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
+Index: chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
===================================================================
--- /dev/null
-+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
++++ chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
@@ -0,0 +1,1501 @@
+/*
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
@@ -1725,10 +1725,10 @@ Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/confi
+#endif
+
+#endif
-Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
+Index: chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
===================================================================
--- /dev/null
-+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
++++ chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
@@ -1821,10 +1821,10 @@ Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/confi
+#endif
+
+#endif
-Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
+Index: chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
===================================================================
--- /dev/null
-+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
++++ chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
@@ -0,0 +1,438 @@
+/*
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
diff --git a/0001-Implement-support-for-PPC64-on-Linux.patch b/0001-Implement-support-for-PPC64-on-Linux.patch
index c3c71b2..c526728 100644
--- a/0001-Implement-support-for-PPC64-on-Linux.patch
+++ b/0001-Implement-support-for-PPC64-on-Linux.patch
@@ -40,21 +40,21 @@ 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-130.0.6723.44/third_party/crashpad/crashpad/CONTRIBUTORS
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/CONTRIBUTORS
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/CONTRIBUTORS
-+++ chromium-130.0.6723.44/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
@@ -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-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context.h
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/minidump/minidump_context.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/minidump/minidump_context.h
-+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context.h
-@@ -687,6 +687,70 @@ struct MinidumpContextRISCV64 {
+--- 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
+@@ -686,6 +686,70 @@ struct MinidumpContextRISCV64 {
uint32_t fcsr;
};
@@ -125,10 +125,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_co
} // namespace crashpad
#endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_H_
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
-+++ chromium-130.0.6723.44/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
@@ -110,6 +110,13 @@ MinidumpContextWriter::CreateFromSnapsho
break;
}
@@ -192,10 +192,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_co
+}
} // namespace crashpad
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
-+++ chromium-130.0.6723.44/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
@@ -413,6 +413,49 @@ class MinidumpContextRISCV64Writer final
MinidumpContextRISCV64 context_;
};
@@ -246,10 +246,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_co
} // namespace crashpad
#endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_WRITER_H_
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
-+++ chromium-130.0.6723.44/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
@@ -322,6 +322,21 @@ TYPED_TEST(MinidumpContextWriter, RISCV6
TypeParam>(context, ExpectMinidumpContextRISCV64, kSeed);
}
@@ -272,10 +272,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_co
} // namespace
} // namespace test
} // namespace crashpad
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
-+++ chromium-130.0.6723.44/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
@@ -177,6 +177,8 @@ std::string MinidumpMiscInfoDebugBuildSt
static constexpr char kCPU[] = "mips64";
#elif defined(ARCH_CPU_RISCV64)
@@ -285,10 +285,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_mi
#else
#error define kCPU for this CPU
#endif
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
-+++ chromium-130.0.6723.44/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
@@ -297,6 +297,40 @@ void InitializeMinidumpContextRISCV64(Mi
context->fcsr = value++;
}
@@ -369,10 +369,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/test/minidu
+
} // namespace test
} // namespace crashpad
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
-+++ chromium-130.0.6723.44/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
@@ -90,6 +90,9 @@ void ExpectMinidumpContextMIPS64(uint32_
void ExpectMinidumpContextRISCV64(uint32_t expect_seed,
const MinidumpContextRISCV64* observed,
@@ -383,10 +383,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/test/minidu
//! \}
} // namespace test
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/capture_memory.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/capture_memory.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/capture_memory.cc
-+++ chromium-130.0.6723.44/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
@@ -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-130.0.6723.44/third_party/crashpad/crashpad/snapshot/capture_mem
#else
#error Port.
#endif
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
-+++ chromium-130.0.6723.44/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
@@ -47,6 +47,9 @@ enum CPUArchitecture {
//! \brief 64-bit RISC-V.
@@ -413,10 +413,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_archite
};
} // namespace crashpad
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_context.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/cpu_context.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/cpu_context.cc
-+++ chromium-130.0.6723.44/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
@@ -173,6 +173,8 @@ uint64_t CPUContext::InstructionPointer(
return arm64->pc;
case kCPUArchitectureRISCV64:
@@ -443,10 +443,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_context
case kCPUArchitectureRISCV64:
return true;
case kCPUArchitectureX86:
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_context.h
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/cpu_context.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/cpu_context.h
-+++ chromium-130.0.6723.44/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
@@ -371,6 +371,24 @@ struct CPUContextRISCV64 {
uint32_t fcsr;
};
@@ -480,10 +480,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_context
};
};
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
-+++ chromium-130.0.6723.44/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
@@ -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-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/cpu_c
} // namespace internal
} // namespace crashpad
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
-+++ chromium-130.0.6723.44/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
@@ -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-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/debug
},
module_mapping->name,
module_mapping->device,
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
-+++ chromium-130.0.6723.44/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
@@ -367,6 +367,69 @@ bool ExceptionSnapshotLinux::ReadContext
return internal::ReadContext(reader, context_address, context_.riscv64);
}
@@ -666,11 +666,11 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/excep
#endif // ARCH_CPU_X86_FAMILY
bool ExceptionSnapshotLinux::Initialize(
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
-+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
-@@ -91,6 +91,8 @@ class ExceptionSnapshotLinux final : pub
+--- 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
+@@ -94,6 +94,8 @@ class ExceptionSnapshotLinux final : pub
CPUContextMIPS64 mips64;
#elif defined(ARCH_CPU_RISCV64)
CPUContextRISCV64 riscv64;
@@ -679,10 +679,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/excep
#endif
} context_union_;
CPUContext context_;
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
-+++ chromium-130.0.6723.44/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
@@ -325,7 +325,28 @@ void ExpectContext(const CPUContext& act
sizeof(actual.riscv64->fpregs)),
0);
@@ -712,10 +712,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/excep
#else
#error Port.
#endif
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
-+++ chromium-130.0.6723.44/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
@@ -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-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/proce
#else
#error Port.
#endif
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
-+++ chromium-130.0.6723.44/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
@@ -456,6 +456,89 @@ static_assert(offsetof(UContext<ContextT
offsetof(ucontext_t, uc_mcontext.__fpregs),
"context offset mismatch");
@@ -819,10 +819,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/signa
#else
#error Port.
#endif // ARCH_CPU_X86_FAMILY
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
-+++ chromium-130.0.6723.44/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
@@ -208,6 +208,8 @@ CPUArchitecture SystemSnapshotLinux::Get
: kCPUArchitectureMIPSEL;
#elif defined(ARCH_CPU_RISCV64)
@@ -862,10 +862,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/syste
#else
#error Port.
#endif // ARCH_CPU_X86_FAMILY
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
-+++ chromium-130.0.6723.44/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
@@ -196,6 +196,14 @@ bool ThreadSnapshotLinux::Initialize(
InitializeCPUContextRISCV64(thread.thread_info.thread_context.t64,
thread.thread_info.float_context.f64,
@@ -881,11 +881,11 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/threa
#else
#error Port.
#endif
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
-+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
-@@ -76,6 +76,8 @@ class ThreadSnapshotLinux final : public
+--- 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
+@@ -79,6 +79,8 @@ class ThreadSnapshotLinux final : public
CPUContextMIPS64 mips64;
#elif defined(ARCH_CPU_RISCV64)
CPUContextRISCV64 riscv64;
@@ -894,10 +894,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/threa
#else
#error Port.
#endif // ARCH_CPU_X86_FAMILY
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
-+++ chromium-130.0.6723.44/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
@@ -317,5 +317,38 @@ void InitializeCPUContextRISCV64(CPUCont
riscv64->fcsr = value++;
}
@@ -937,10 +937,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/test/test_c
+
} // namespace test
} // namespace crashpad
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
-+++ chromium-130.0.6723.44/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
@@ -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-130.0.6723.44/third_party/crashpad/crashpad/snapshot/test/test_c
//! \}
} // namespace test
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/test/linux/get_tls.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/test/linux/get_tls.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/test/linux/get_tls.cc
-+++ chromium-130.0.6723.44/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
@@ -51,6 +51,8 @@ LinuxVMAddress GetTLS() {
: "$3");
#elif defined(ARCH_CPU_RISCV64)
@@ -962,10 +962,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/test/linux/get_tls.c
#else
#error Port.
#endif // ARCH_CPU_ARMEL
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/test/multiprocess_posix.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/test/multiprocess_posix.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/test/multiprocess_posix.cc
-+++ chromium-130.0.6723.44/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
@@ -162,7 +162,8 @@ void Multiprocess::SetExpectedChildTermi
}
@@ -976,10 +976,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/test/multiprocess_po
SetExpectedChildTermination(kTerminationSignal, SIGTRAP);
#else
SetExpectedChildTermination(kTerminationSignal, SIGILL);
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
-+++ chromium-130.0.6723.44/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
@@ -56,6 +56,11 @@ bool AuxiliaryVector::Read(PtraceConnect
if (type == AT_IGNORE) {
continue;
@@ -992,10 +992,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/auxiliary
if (!MapInsertOrReplace(&values_, type, value, nullptr)) {
LOG(ERROR) << "duplicate auxv entry";
return false;
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/ptracer.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/util/linux/ptracer.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/util/linux/ptracer.cc
-+++ chromium-130.0.6723.44/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
@@ -430,6 +430,64 @@ bool GetThreadArea64(pid_t tid,
return true;
}
@@ -1071,10 +1071,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/ptracer.c
GetThreadArea64(tid,
info->thread_context,
&info->thread_specific_data_address,
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/thread_info.h
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/util/linux/thread_info.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/util/linux/thread_info.h
-+++ chromium-130.0.6723.44/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
@@ -34,6 +34,10 @@
#include <asm/ptrace.h>
#endif
@@ -1193,10 +1193,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/thread_in
//! \brief The thread-local storage address for the thread.
LinuxVMAddress thread_specific_data_address;
};
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context.h
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/util/misc/capture_context.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/util/misc/capture_context.h
-+++ chromium-130.0.6723.44/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
@@ -70,6 +70,7 @@ using NativeCPUContext = ucontext_t;
//! Linux | ARM/ARM64 | `r0`/`x0`
//! Linux | MIPS/MIPS64 | `$a0`
@@ -1205,10 +1205,10 @@ Index: chromium-130.0.6723.44/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-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
-+++ chromium-130.0.6723.44/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
@@ -30,7 +30,7 @@
.globl CAPTURECONTEXT_SYMBOL2
#if defined(__i386__) || defined(__x86_64__)
@@ -1435,10 +1435,10 @@ Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_co
#elif defined(__riscv)
#define MCONTEXT_GREGS_OFFSET 176
-Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
-+++ chromium-130.0.6723.44/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
@@ -48,7 +48,7 @@ void TestCaptureContext() {
uintptr_t pc = ProgramCounterFromContext(context_1);
@@ -1448,10 +1448,10 @@ Index: chromium-130.0.6723.44/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-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
+Index: chromium-134.0.6998.35/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
-+++ chromium-130.0.6723.44/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
@@ -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 8253398..90eedf6 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-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
-+++ chromium-130.0.6723.44/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
@@ -51,6 +51,8 @@ typedef MDRawContextRISCV64 RawContextCP
# else
# error "Unexpected __riscv_xlen"
@@ -67,10 +67,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dum
#else
#error "This code has not been ported to your platform yet."
#endif
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
-+++ chromium-130.0.6723.44/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
@@ -336,7 +336,42 @@ void ThreadInfo::FillCPUContext(RawConte
#error "Unexpected __riscv_xlen"
#endif
@@ -153,10 +153,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dum
+#endif
+
} // namespace google_breakpad
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
-+++ chromium-130.0.6723.44/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
@@ -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-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dum
};
} // namespace google_breakpad
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
-+++ chromium-130.0.6723.44/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
@@ -324,6 +324,48 @@ void UContextReader::FillCPUContext(RawC
#error "Unexpected __riscv_xlen"
#endif
@@ -233,10 +233,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dum
#endif
} // namespace google_breakpad
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
-+++ chromium-130.0.6723.44/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
@@ -54,6 +54,9 @@ struct UContextReader {
#elif defined(__aarch64__)
static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc,
@@ -247,10 +247,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dum
#else
static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc);
#endif
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
-+++ chromium-130.0.6723.44/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
memcpy(&g_crash_context_.float_state, fp_ptr,
sizeof(g_crash_context_.float_state));
@@ -295,10 +295,10 @@ Index: chromium-130.0.6723.44/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-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
-+++ chromium-130.0.6723.44/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
@@ -200,7 +200,11 @@ class ExceptionHandler {
siginfo_t siginfo;
pid_t tid; // the crashing thread.
@@ -312,10 +312,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/han
fpstate_t float_state;
#endif
};
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
-+++ chromium-130.0.6723.44/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
ASSERT_EQ(SIGSEGV, WTERMSIG(status));
return;
@@ -347,10 +347,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/han
const int kOffset = kMemorySize - sizeof(kIllegalInstruction);
const pid_t child = fork();
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
-+++ chromium-130.0.6723.44/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 {
const MicrodumpExtraInfo& microdump_extra_info,
LinuxDumper* dumper)
@@ -393,10 +393,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/mic
const google_breakpad::fpstate_t* const float_state_;
#endif
LinuxDumper* dumper_;
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
-+++ chromium-130.0.6723.44/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
@@ -282,10 +282,19 @@ TEST(MicrodumpWriterTest, BasicWithMappi
CrashAndGetMicrodump(mappings, MicrodumpExtraInfo(), &buf);
ASSERT_TRUE(ContainsMicrodump(buf));
@@ -420,10 +420,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/mic
#else
ASSERT_NE(std::string::npos,
buf.find("M 00001000 0000002A 00001000 "
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
-+++ chromium-130.0.6723.44/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
@@ -118,6 +118,9 @@ bool LinuxCoreDumper::GetThreadInfoByInd
#elif defined(__riscv)
stack_pointer = reinterpret_cast<uint8_t*>(
@@ -446,10 +446,10 @@ Index: chromium-130.0.6723.44/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-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
-+++ chromium-130.0.6723.44/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
@@ -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-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/min
const MappingInfo* mapping = FindMapping(stack_pointer);
if (!mapping)
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
-+++ chromium-130.0.6723.44/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
@@ -64,7 +64,8 @@ namespace google_breakpad {
typedef Elf32_auxv_t elf_aux_entry;
#elif defined(__x86_64) || defined(__aarch64__) || \
@@ -475,10 +475,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/min
typedef Elf64_auxv_t elf_aux_entry;
#endif
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
-+++ chromium-130.0.6723.44/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 @@
#define TID_PTR_REGISTER "$1"
#elif defined(__riscv)
@@ -488,10 +488,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/min
#else
#error This test has not been ported to this platform.
#endif
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
-+++ chromium-130.0.6723.44/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
@@ -208,12 +208,12 @@ bool LinuxPtraceDumper::ReadRegisterSet(
#ifdef PTRACE_GETREGSET
struct iovec io;
@@ -533,10 +533,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/min
#else
# error "This code hasn't been ported to your platform yet."
#endif
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
-+++ chromium-130.0.6723.44/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
@@ -470,6 +470,9 @@ TEST(LinuxPtraceDumperTest, VerifyStackR
#elif defined(__riscv)
pid_t* process_tid_location =
@@ -556,10 +556,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/min
#else
#error This test has not been ported to this platform.
#endif
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
-+++ chromium-130.0.6723.44/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 {
: fd_(minidump_fd),
path_(minidump_path),
@@ -613,10 +613,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/min
const google_breakpad::fpstate_t* const float_state_; // ditto
#endif
LinuxDumper* dumper_;
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
-+++ chromium-130.0.6723.44/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
@@ -47,6 +47,8 @@ class ExceptionHandler;
#if defined(__aarch64__)
@@ -626,10 +626,10 @@ Index: chromium-130.0.6723.44/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-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
-+++ chromium-130.0.6723.44/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
@@ -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-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/min
#else
# error "This code has not been ported to your platform yet."
#endif
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
-+++ chromium-130.0.6723.44/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
@@ -72,8 +72,7 @@ bool MemoryMappedFile::Map(const char* p
#if defined(__x86_64__) || defined(__aarch64__) || \
@@ -654,10 +654,10 @@ Index: chromium-130.0.6723.44/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-130.0.6723.44/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
-+++ chromium-130.0.6723.44/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
@@ -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,10 +672,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/common/linux/mem
for (size_t i = 0; i < data1_size; ++i) {
data1[i] = i & 0x7f;
}
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
-+++ chromium-130.0.6723.44/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
@@ -60,8 +60,9 @@ TEST(PageAllocatorTest, LargeObject) {
EXPECT_EQ(0U, allocator.pages_allocated());
@@ -687,10 +687,10 @@ Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/common/memory_al
for (unsigned i = 1; i < 10; ++i) {
uint8_t* p = reinterpret_cast<uint8_t*>(allocator.Alloc(i));
ASSERT_FALSE(p == NULL);
-Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
+Index: chromium-134.0.6998.35/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
===================================================================
---- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
-+++ chromium-130.0.6723.44/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
@@ -82,6 +82,8 @@
#define ELF_ARCH EM_AARCH64
#elif defined(__riscv)
diff --git a/0001-sandbox-linux-Implement-partial-support-for-ppc64-sy.patch b/0001-sandbox-linux-Implement-partial-support-for-ppc64-sy.patch
index d572850..6fe84fa 100644
--- a/0001-sandbox-linux-Implement-partial-support-for-ppc64-sy.patch
+++ b/0001-sandbox-linux-Implement-partial-support-for-ppc64-sy.patch
@@ -17,11 +17,11 @@ GNU/Linux environments, but may require expansion elsewhere.
create mode 100644 sandbox/linux/system_headers/ppc64_linux_syscalls.h
create mode 100644 sandbox/linux/system_headers/ppc64_linux_ucontext.h
-Index: chromium-128.0.6613.113/sandbox/linux/BUILD.gn
+Index: chromium-134.0.6998.35/sandbox/linux/BUILD.gn
===================================================================
---- chromium-128.0.6613.113.orig/sandbox/linux/BUILD.gn
-+++ chromium-128.0.6613.113/sandbox/linux/BUILD.gn
-@@ -383,6 +383,8 @@ component("sandbox_services") {
+--- chromium-134.0.6998.35.orig/sandbox/linux/BUILD.gn
++++ chromium-134.0.6998.35/sandbox/linux/BUILD.gn
+@@ -384,6 +384,8 @@ component("sandbox_services") {
source_set("sandbox_services_headers") {
sources = [
@@ -30,10 +30,10 @@ Index: chromium-128.0.6613.113/sandbox/linux/BUILD.gn
"system_headers/arm64_linux_syscalls.h",
"system_headers/arm_linux_syscalls.h",
"system_headers/arm_linux_ucontext.h",
-Index: chromium-128.0.6613.113/sandbox/linux/system_headers/linux_syscalls.h
+Index: chromium-134.0.6998.35/sandbox/linux/system_headers/linux_syscalls.h
===================================================================
---- chromium-128.0.6613.113.orig/sandbox/linux/system_headers/linux_syscalls.h
-+++ chromium-128.0.6613.113/sandbox/linux/system_headers/linux_syscalls.h
+--- chromium-134.0.6998.35.orig/sandbox/linux/system_headers/linux_syscalls.h
++++ chromium-134.0.6998.35/sandbox/linux/system_headers/linux_syscalls.h
@@ -35,5 +35,9 @@
#include "sandbox/linux/system_headers/arm64_linux_syscalls.h"
#endif
@@ -44,10 +44,10 @@ Index: chromium-128.0.6613.113/sandbox/linux/system_headers/linux_syscalls.h
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_
-Index: chromium-128.0.6613.113/sandbox/linux/system_headers/ppc64_linux_syscalls.h
+Index: chromium-134.0.6998.35/sandbox/linux/system_headers/ppc64_linux_syscalls.h
===================================================================
--- /dev/null
-+++ chromium-128.0.6613.113/sandbox/linux/system_headers/ppc64_linux_syscalls.h
++++ chromium-134.0.6998.35/sandbox/linux/system_headers/ppc64_linux_syscalls.h
@@ -0,0 +1,12 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
@@ -61,10 +61,10 @@ Index: chromium-128.0.6613.113/sandbox/linux/system_headers/ppc64_linux_syscalls
+//TODO: is it necessary to redefine syscall numbers for PPC64?
+
+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_
-Index: chromium-128.0.6613.113/sandbox/linux/system_headers/ppc64_linux_ucontext.h
+Index: chromium-134.0.6998.35/sandbox/linux/system_headers/ppc64_linux_ucontext.h
===================================================================
--- /dev/null
-+++ chromium-128.0.6613.113/sandbox/linux/system_headers/ppc64_linux_ucontext.h
++++ chromium-134.0.6998.35/sandbox/linux/system_headers/ppc64_linux_ucontext.h
@@ -0,0 +1,12 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
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 a1eee2e..6c29a57 100644
--- a/0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64.patch
+++ b/0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64.patch
@@ -12,10 +12,10 @@ Subject: [PATCH] sandbox/linux: Update syscall helpers/lists for ppc64
sandbox/linux/services/syscall_wrappers.cc | 2 +-
6 files changed, 73 insertions(+), 55 deletions(-)
-Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+Index: chromium-134.0.6998.35/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
===================================================================
---- chromium-130.0.6723.44.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
-+++ chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+--- chromium-134.0.6998.35.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
++++ chromium-134.0.6998.35/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
@@ -90,7 +90,8 @@ bool IsBaselinePolicyWatched(int sysno)
SyscallSets::IsPrctl(sysno) ||
SyscallSets::IsProcessGroupOrSession(sysno) ||
@@ -54,10 +54,10 @@ Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/baseline_policy.
if (SyscallSets::IsSocketCall(sysno))
return RestrictSocketcallCommand();
#endif
-Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+Index: chromium-134.0.6998.35/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
===================================================================
---- chromium-130.0.6723.44.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
-+++ chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+--- chromium-134.0.6998.35.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
++++ chromium-134.0.6998.35/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
@@ -36,7 +36,7 @@
#include "sandbox/linux/system_headers/linux_time.h"
@@ -137,7 +137,7 @@ Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_paramete
ResultExpr RestrictSocketcallCommand() {
// Unfortunately, we are unable to restrict the first parameter to
// socketpair(2). Whilst initially sounding bad, it's noteworthy that very
-@@ -463,7 +488,7 @@ ResultExpr RestrictPtrace() {
+@@ -461,7 +486,7 @@ ResultExpr RestrictPtrace() {
#endif
return Switch(request)
.Cases({
@@ -146,10 +146,10 @@ Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_paramete
PTRACE_GETREGS, PTRACE_GETFPREGS, PTRACE_GET_THREAD_AREA,
PTRACE_GETREGSET,
#endif
-Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
+Index: chromium-134.0.6998.35/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
===================================================================
---- chromium-130.0.6723.44.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
-+++ chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
+--- chromium-134.0.6998.35.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
++++ chromium-134.0.6998.35/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();
@@ -159,10 +159,10 @@ Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_paramete
// 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();
-Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+Index: chromium-134.0.6998.35/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
===================================================================
---- chromium-130.0.6723.44.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
-+++ chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+--- chromium-134.0.6998.35.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
++++ chromium-134.0.6998.35/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
@@ -29,7 +29,8 @@ bool SyscallSets::IsAllowedGettime(int s
switch (sysno) {
case __NR_gettimeofday:
@@ -582,10 +582,10 @@ Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
case __NR_vserver:
#endif
return true;
-Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
+Index: chromium-134.0.6998.35/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
===================================================================
---- chromium-130.0.6723.44.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
-+++ chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
+--- chromium-134.0.6998.35.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
++++ chromium-134.0.6998.35/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
@@ -46,13 +46,14 @@ class SANDBOX_EXPORT SyscallSets {
static bool IsDeniedGetOrModifySocket(int sysno);
@@ -623,11 +623,11 @@ Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
// Big system V multiplexing system call.
static bool IsSystemVIpc(int sysno);
#endif
-Index: chromium-130.0.6723.44/sandbox/linux/services/syscall_wrappers.cc
+Index: chromium-134.0.6998.35/sandbox/linux/services/syscall_wrappers.cc
===================================================================
---- chromium-130.0.6723.44.orig/sandbox/linux/services/syscall_wrappers.cc
-+++ chromium-130.0.6723.44/sandbox/linux/services/syscall_wrappers.cc
-@@ -61,7 +61,7 @@ long sys_clone(unsigned long flags,
+--- chromium-134.0.6998.35.orig/sandbox/linux/services/syscall_wrappers.cc
++++ chromium-134.0.6998.35/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);
#elif defined(ARCH_CPU_X86) || defined(ARCH_CPU_ARM_FAMILY) || \
diff --git a/0002-Add-PPC64-generated-files-for-boringssl.patch b/0002-Add-PPC64-generated-files-for-boringssl.patch
index bd2d9e4..7a1f11a 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-133.0.6943.35/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
+Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
++++ chromium-134.0.6998.35/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-133.0.6943.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-133.0.6943.35/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
+Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
++++ chromium-134.0.6998.35/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,10 +4271,10 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/boringssl/src/gen/sources.cmake
+Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.cmake
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/gen/sources.cmake
-+++ chromium-133.0.6943.35/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(
gen/bcm/aesni-x86-linux.S
gen/bcm/aesni-x86_64-apple.S
@@ -4299,7 +4299,7 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/gen/sources.cmake
crypto/crypto.cc
crypto/curve25519/curve25519.cc
crypto/curve25519/curve25519_64_adx.cc
-@@ -2830,6 +2833,7 @@ set(
+@@ -2832,6 +2835,7 @@ set(
gen/test_support/trampoline-armv8-apple.S
gen/test_support/trampoline-armv8-linux.S
gen/test_support/trampoline-armv8-win.S
@@ -4307,10 +4307,10 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/boringssl/src/gen/sources.json
+Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/sources.json
===================================================================
---- chromium-133.0.6943.35.orig/third_party/boringssl/src/gen/sources.json
-+++ chromium-133.0.6943.35/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 @@
"gen/bcm/aesni-x86-linux.S",
"gen/bcm/aesni-x86_64-apple.S",
@@ -4335,7 +4335,7 @@ Index: chromium-133.0.6943.35/third_party/boringssl/src/gen/sources.json
"crypto/crypto.cc",
"crypto/curve25519/curve25519.cc",
"crypto/curve25519/curve25519_64_adx.cc",
-@@ -2750,6 +2753,7 @@
+@@ -2752,6 +2755,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-133.0.6943.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-133.0.6943.35/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
+Index: chromium-134.0.6998.35/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
===================================================================
--- /dev/null
-+++ chromium-133.0.6943.35/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
++++ chromium-134.0.6998.35/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-third_party-libvpx-Remove-bad-ppc64-config.patch b/0002-third_party-libvpx-Remove-bad-ppc64-config.patch
index e2eb5e5..ac86882 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-133.0.6943.35/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
+Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
===================================================================
---- chromium-133.0.6943.35.orig/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
+++ /dev/null
@@ -1,330 +0,0 @@
-/*
@@ -333,9 +333,9 @@ Index: chromium-133.0.6943.35/third_party/libvpx/source/config/linux/ppc64/vp8_r
-#endif
-
-#endif // VP8_RTCD_H_
-Index: chromium-133.0.6943.35/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
+Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
===================================================================
---- chromium-133.0.6943.35.orig/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
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
@@ -544,9 +544,9 @@ Index: chromium-133.0.6943.35/third_party/libvpx/source/config/linux/ppc64/vp9_r
-#endif
-
-#endif // VP9_RTCD_H_
-Index: chromium-133.0.6943.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
+Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
===================================================================
---- chromium-133.0.6943.35.orig/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
+++ /dev/null
@@ -1,108 +0,0 @@
-@ This file was created from a .asm file
@@ -657,9 +657,9 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
+Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
===================================================================
---- chromium-133.0.6943.35.orig/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
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
@@ -672,9 +672,9 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
+Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
===================================================================
---- chromium-133.0.6943.35.orig/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
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
@@ -794,9 +794,9 @@ Index: chromium-133.0.6943.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-133.0.6943.35/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
+Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
===================================================================
---- chromium-133.0.6943.35.orig/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
+++ /dev/null
@@ -1,2138 +0,0 @@
-/*
@@ -2937,9 +2937,9 @@ Index: chromium-133.0.6943.35/third_party/libvpx/source/config/linux/ppc64/vpx_d
-#endif
-
-#endif // VPX_DSP_RTCD_H_
-Index: chromium-133.0.6943.35/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
+Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
===================================================================
---- chromium-133.0.6943.35.orig/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
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
diff --git a/0003-third_party-libvpx-Add-ppc64-generated-config.patch b/0003-third_party-libvpx-Add-ppc64-generated-config.patch
index 4aab2ee..a97e719 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-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
+Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
===================================================================
--- /dev/null
-+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
++++ chromium-134.0.6998.35/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-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vp8_r
+#endif
+
+#endif
-Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
+Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
===================================================================
--- /dev/null
-+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
++++ chromium-134.0.6998.35/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-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vp9_r
+#endif
+
+#endif
-Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
+Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
===================================================================
--- /dev/null
-+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
++++ chromium-134.0.6998.35/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-130.0.6723.44/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-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
+Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
===================================================================
--- /dev/null
-+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
++++ chromium-134.0.6998.35/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-130.0.6723.44/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-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
+Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
===================================================================
--- /dev/null
-+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
++++ chromium-134.0.6998.35/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-130.0.6723.44/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-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
+Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
===================================================================
--- /dev/null
-+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
++++ chromium-134.0.6998.35/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-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_d
+#endif
+
+#endif
-Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
+Index: chromium-134.0.6998.35/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
===================================================================
--- /dev/null
-+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
++++ chromium-134.0.6998.35/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 49855ac..9a37b40 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-128.0.6613.113/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
+Index: chromium-134.0.6998.35/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
===================================================================
---- chromium-128.0.6613.113.orig/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
-+++ chromium-128.0.6613.113/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
@@ -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-128.0.6613.113/third_party/libvpx/source/libvpx/vp9/encoder/ppc/
eob = vec_max(eob, vec_or(scan0, zero_coeff0));
eob2 = vec_max(vec_or(scan1, zero_coeff1), vec_or(scan2, zero_coeff2));
-Index: chromium-128.0.6613.113/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
+Index: chromium-134.0.6998.35/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
===================================================================
---- chromium-128.0.6613.113.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
-+++ chromium-128.0.6613.113/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
@@ -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-128.0.6613.113/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct
}
// Returns 1 if negative 0 if positive
-Index: chromium-128.0.6613.113/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
+Index: chromium-134.0.6998.35/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
===================================================================
---- chromium-128.0.6613.113.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
-+++ chromium-128.0.6613.113/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
@@ -13,6 +13,28 @@
#include "./vpx_dsp_rtcd.h"
#include "vpx_dsp/ppc/types_vsx.h"
diff --git a/0008-sandbox-fix-ppc64le-glibc234.patch b/0008-sandbox-fix-ppc64le-glibc234.patch
index 8c52acb..4c9943d 100644
--- a/0008-sandbox-fix-ppc64le-glibc234.patch
+++ b/0008-sandbox-fix-ppc64le-glibc234.patch
@@ -1,5 +1,7 @@
---- a/sandbox/policy/linux/bpf_utility_policy_linux.cc
-+++ b/sandbox/policy/linux/bpf_utility_policy_linux.cc
+Index: chromium-134.0.6998.35/sandbox/policy/linux/bpf_utility_policy_linux.cc
+===================================================================
+--- chromium-134.0.6998.35.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc
++++ chromium-134.0.6998.35/sandbox/policy/linux/bpf_utility_policy_linux.cc
@@ -34,7 +34,7 @@ ResultExpr UtilityProcessPolicy::Evaluat
case __NR_fdatasync:
case __NR_fsync:
@@ -9,8 +11,10 @@
case __NR_getrlimit:
#endif
#if defined(__i386__) || defined(__arm__)
---- a/sandbox/policy/linux/bpf_renderer_policy_linux.cc
-+++ b/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+Index: chromium-134.0.6998.35/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+===================================================================
+--- chromium-134.0.6998.35.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc
++++ chromium-134.0.6998.35/sandbox/policy/linux/bpf_renderer_policy_linux.cc
@@ -90,7 +90,7 @@ ResultExpr RendererProcessPolicy::Evalua
case __NR_ftruncate64:
#endif
@@ -20,8 +24,10 @@
case __NR_getrlimit:
case __NR_setrlimit:
// We allow setrlimit to dynamically adjust the address space limit as
---- a/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
-+++ b/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+Index: chromium-134.0.6998.35/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+===================================================================
+--- chromium-134.0.6998.35.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
++++ chromium-134.0.6998.35/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
@@ -58,9 +58,9 @@
#elif defined(__powerpc64__)
@@ -34,8 +40,10 @@
#define MAX_SYSCALL MAX_PUBLIC_SYSCALL
#else
---- a/sandbox/linux/services/credentials.cc
-+++ b/sandbox/linux/services/credentials.cc
+Index: chromium-134.0.6998.35/sandbox/linux/services/credentials.cc
+===================================================================
+--- chromium-134.0.6998.35.orig/sandbox/linux/services/credentials.cc
++++ chromium-134.0.6998.35/sandbox/linux/services/credentials.cc
@@ -96,7 +96,8 @@ bool ChrootToSafeEmptyDir() {
int clone_flags = CLONE_FS | LINUX_SIGCHLD;
@@ -58,8 +66,10 @@
clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
char tls_buf[PTHREAD_STACK_MIN_CONST] = {};
---- a/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
-+++ b/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
+Index: chromium-134.0.6998.35/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
+===================================================================
+--- chromium-134.0.6998.35.orig/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
++++ chromium-134.0.6998.35/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
@@ -362,7 +362,16 @@ intptr_t SIGSYSFstatatHandler(const stru
if (args.nr == __NR_fstatat_default) {
if (*reinterpret_cast<const char*>(args.args[1]) == '\0' &&
diff --git a/HACK-third_party-libvpx-use-generic-gnu.patch b/HACK-third_party-libvpx-use-generic-gnu.patch
index c4a9298..3b1423d 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-130.0.6723.44/third_party/libvpx/generate_gni.sh
+Index: chromium-134.0.6998.35/third_party/libvpx/generate_gni.sh
===================================================================
---- chromium-130.0.6723.44.orig/third_party/libvpx/generate_gni.sh
-+++ chromium-130.0.6723.44/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
@@ -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,10 +11,10 @@ Index: chromium-130.0.6723.44/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-130.0.6723.44/third_party/libvpx/source/libvpx/build/make/rtcd.pl
+Index: chromium-134.0.6998.35/third_party/libvpx/source/libvpx/build/make/rtcd.pl
===================================================================
---- chromium-130.0.6723.44.orig/third_party/libvpx/source/libvpx/build/make/rtcd.pl
-+++ chromium-130.0.6723.44/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);
arm;
@@ -27,10 +27,10 @@ Index: chromium-130.0.6723.44/third_party/libvpx/source/libvpx/build/make/rtcd.p
} elsif ($opts{arch} =~ /loongarch/ ) {
@ALL_ARCHS = filter(qw/lsx lasx/);
loongarch;
-Index: chromium-130.0.6723.44/third_party/libvpx/BUILD.gn
+Index: chromium-134.0.6998.35/third_party/libvpx/BUILD.gn
===================================================================
---- chromium-130.0.6723.44.orig/third_party/libvpx/BUILD.gn
-+++ chromium-130.0.6723.44/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
@@ -102,6 +102,14 @@ config("libvpx_config") {
"-Wno-sign-compare",
]
diff --git a/chromium-133-el8-atk-compiler-error.patch b/chromium-133-el8-atk-compiler-error.patch
deleted file mode 100644
index 627c0a6..0000000
--- a/chromium-133-el8-atk-compiler-error.patch
+++ /dev/null
@@ -1,1081 +0,0 @@
-diff -up chromium-133.0.6943.35/content/browser/accessibility/accessibility_auralinux_browsertest.cc.el8-atk-compiler-error chromium-133.0.6943.35/content/browser/accessibility/accessibility_auralinux_browsertest.cc
---- chromium-133.0.6943.35/content/browser/accessibility/accessibility_auralinux_browsertest.cc.el8-atk-compiler-error 2025-01-28 23:03:27.000000000 +0100
-+++ chromium-133.0.6943.35/content/browser/accessibility/accessibility_auralinux_browsertest.cc 2025-02-04 10:56:08.414126354 +0100
-@@ -3,6 +3,7 @@
- // found in the LICENSE file.
-
- #include <atk/atk.h>
-+#include <dlfcn.h>
-
- #include <string>
- #include <vector>
-@@ -549,6 +550,10 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- g_object_unref(div_element);
- }
-
-+#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 30, 0)
-+#define ATK_230
-+#endif
-+
- IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
- TestCharacterExtentsWithInvalidArguments) {
- AtkText* atk_text = SetUpSampleParagraph();
-@@ -571,12 +576,14 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- EXPECT_EQ(expect, width);
- EXPECT_EQ(expect, height);
-
-+#ifdef ATK_230
- atk_text_get_character_extents(atk_text, invalid_offset, &x, &y, &width,
- &height, ATK_XY_PARENT);
- EXPECT_EQ(expect, x);
- EXPECT_EQ(expect, y);
- EXPECT_EQ(expect, width);
- EXPECT_EQ(expect, height);
-+#endif // ATK_230
-
- atk_text_get_character_extents(atk_text, invalid_offset, &x, &y, &width,
- &height, ATK_XY_WINDOW);
-@@ -595,12 +602,14 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- EXPECT_EQ(expect, width);
- EXPECT_EQ(expect, height);
-
-+#ifdef ATK_230
- atk_text_get_character_extents(atk_text, invalid_offset, &x, &y, &width,
- &height, ATK_XY_PARENT);
- EXPECT_EQ(expect, x);
- EXPECT_EQ(expect, y);
- EXPECT_EQ(expect, width);
- EXPECT_EQ(expect, height);
-+#endif // ATK_230
-
- atk_text_get_character_extents(atk_text, invalid_offset, &x, &y, &width,
- &height, ATK_XY_WINDOW);
-@@ -615,7 +624,9 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- AtkCoordType kCoordinateTypes[] = {
- ATK_XY_SCREEN,
- ATK_XY_WINDOW,
-+#ifdef ATK_230
- ATK_XY_PARENT,
-+#endif // ATK_230
- };
-
- IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
-@@ -874,6 +885,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- TestCharacterExtentsInScrollableInput();
- }
-
-+#if defined(ATK_230)
- typedef bool (*ScrollToPointFunc)(AtkComponent* component,
- AtkCoordType coords,
- gint x,
-@@ -883,6 +895,18 @@ typedef bool (*ScrollToFunc)(AtkComponen
- // TODO(crbug.com/40866728): Enable this test.
- IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
- DISABLED_TestScrollToPoint) {
-+ // There's a chance we may be compiled with a newer version of ATK and then
-+ // run with an older one, so we need to do a runtime check for this method
-+ // that is available in ATK 2.30 instead of linking directly.
-+ ScrollToPointFunc scroll_to_point = reinterpret_cast<ScrollToPointFunc>(
-+ dlsym(RTLD_DEFAULT, "atk_component_scroll_to_point"));
-+ if (!scroll_to_point) {
-+ LOG(WARNING)
-+ << "Skipping AccessibilityAuraLinuxBrowserTest::TestScrollToPoint"
-+ " because ATK version < 2.30 detected.";
-+ return;
-+ }
-+
- LoadSampleParagraphInScrollableDocument();
- AtkText* atk_text = GetSampleParagraph();
- ASSERT_TRUE(ATK_IS_COMPONENT(atk_text));
-@@ -895,7 +919,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- AccessibilityNotificationWaiter location_changed_waiter(
- shell()->web_contents(), ui::kAXModeComplete,
- ax::mojom::Event::kLocationChanged);
-- atk_component_scroll_to_point(atk_component, ATK_XY_PARENT, 0, 0);
-+ scroll_to_point(atk_component, ATK_XY_PARENT, 0, 0);
- ASSERT_TRUE(location_changed_waiter.WaitForNotification());
-
- atk_component_get_extents(atk_component, &x, &y, nullptr, nullptr,
-@@ -904,20 +928,20 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- EXPECT_GT(prev_y, y);
-
- constexpr int kScrollToY = 0;
-- atk_component_scroll_to_point(atk_component, ATK_XY_SCREEN, 0, kScrollToY);
-+ scroll_to_point(atk_component, ATK_XY_SCREEN, 0, kScrollToY);
- ASSERT_TRUE(location_changed_waiter.WaitForNotification());
- atk_component_get_extents(atk_component, &x, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
- EXPECT_EQ(kScrollToY, y);
-
- constexpr int kScrollToY_2 = 243;
-- atk_component_scroll_to_point(atk_component, ATK_XY_SCREEN, 0, kScrollToY_2);
-+ scroll_to_point(atk_component, ATK_XY_SCREEN, 0, kScrollToY_2);
- ASSERT_TRUE(location_changed_waiter.WaitForNotification());
- atk_component_get_extents(atk_component, nullptr, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
- EXPECT_EQ(kScrollToY_2, y);
-
-- atk_component_scroll_to_point(atk_component, ATK_XY_SCREEN, 0, 129);
-+ scroll_to_point(atk_component, ATK_XY_SCREEN, 0, 129);
- ASSERT_TRUE(location_changed_waiter.WaitForNotification());
- atk_component_get_extents(atk_component, nullptr, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
-@@ -934,6 +958,17 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- // TODO(crbug.com/40866728): Enable this test.
- IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
- DISABLED_TestScrollTo) {
-+ // There's a chance we may be compiled with a newer version of ATK and then
-+ // run with an older one, so we need to do a runtime check for this method
-+ // that is available in ATK 2.30 instead of linking directly.
-+ ScrollToFunc scroll_to = reinterpret_cast<ScrollToFunc>(
-+ dlsym(RTLD_DEFAULT, "atk_component_scroll_to"));
-+ if (!scroll_to) {
-+ LOG(WARNING) << "Skipping AccessibilityAuraLinuxBrowserTest::TestScrollTo"
-+ " because ATK version < 2.30 detected.";
-+ return;
-+ }
-+
- LoadInitialAccessibilityTreeFromHtml(
- R"HTML(<!DOCTYPE html>
- <html>
-@@ -975,8 +1010,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- AccessibilityNotificationWaiter waiter(
- shell()->web_contents(), ui::kAXModeComplete,
- ax::mojom::Event::kScrollPositionChanged);
-- ASSERT_TRUE(
-- atk_component_scroll_to(ATK_COMPONENT(target), ATK_SCROLL_TOP_EDGE));
-+ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target), ATK_SCROLL_TOP_EDGE));
- ASSERT_TRUE(waiter.WaitForNotification());
- int x, y;
- atk_component_get_extents(ATK_COMPONENT(target), &x, &y, nullptr, nullptr,
-@@ -984,40 +1018,35 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- EXPECT_EQ(y, doc_y);
- EXPECT_NE(x, doc_x);
-
-- ASSERT_TRUE(
-- atk_component_scroll_to(ATK_COMPONENT(target), ATK_SCROLL_TOP_LEFT));
-+ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target), ATK_SCROLL_TOP_LEFT));
- ASSERT_TRUE(waiter.WaitForNotification());
- atk_component_get_extents(ATK_COMPONENT(target), &x, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
- EXPECT_EQ(y, doc_y);
- EXPECT_EQ(x, doc_x);
-
-- ASSERT_TRUE(
-- atk_component_scroll_to(ATK_COMPONENT(target), ATK_SCROLL_BOTTOM_EDGE));
-+ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target), ATK_SCROLL_BOTTOM_EDGE));
- ASSERT_TRUE(waiter.WaitForNotification());
- atk_component_get_extents(ATK_COMPONENT(target), &x, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
- EXPECT_NE(y, doc_y);
- EXPECT_EQ(x, doc_x);
-
-- ASSERT_TRUE(
-- atk_component_scroll_to(ATK_COMPONENT(target), ATK_SCROLL_RIGHT_EDGE));
-+ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target), ATK_SCROLL_RIGHT_EDGE));
- ASSERT_TRUE(waiter.WaitForNotification());
- atk_component_get_extents(ATK_COMPONENT(target), &x, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
- EXPECT_NE(y, doc_y);
- EXPECT_NE(x, doc_x);
-
-- ASSERT_TRUE(
-- atk_component_scroll_to(ATK_COMPONENT(target2), ATK_SCROLL_LEFT_EDGE));
-+ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target2), ATK_SCROLL_LEFT_EDGE));
- ASSERT_TRUE(waiter.WaitForNotification());
- atk_component_get_extents(ATK_COMPONENT(target2), &x, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
- EXPECT_NE(y, doc_y);
- EXPECT_EQ(x, doc_x);
-
-- ASSERT_TRUE(
-- atk_component_scroll_to(ATK_COMPONENT(target2), ATK_SCROLL_TOP_LEFT));
-+ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target2), ATK_SCROLL_TOP_LEFT));
- ASSERT_TRUE(waiter.WaitForNotification());
- atk_component_get_extents(ATK_COMPONENT(target2), &x, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
-@@ -1049,10 +1078,39 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- g_object_unref(target2);
- g_object_unref(target3);
- }
-+#endif // defined(ATK_230)
-+
-+#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 32, 0)
-+typedef gboolean (*ScrollSubstringToFunc)(AtkText* text,
-+ gint start_offset,
-+ gint end_offset,
-+ AtkScrollType type);
-+ScrollSubstringToFunc g_scroll_substring_to = nullptr;
-+
-+NO_SANITIZE("cfi-icall")
-+gboolean ScrollSubstringTo(AtkText* text,
-+ gint start_offset,
-+ gint end_offset,
-+ AtkScrollType type) {
-+ EXPECT_NE(g_scroll_substring_to, nullptr);
-+ return g_scroll_substring_to(text, start_offset, end_offset, type);
-+}
-
- // TODO(crbug.com/40866728): Enable this test.
- IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
- DISABLED_TestScrollSubstringTo) {
-+ // There's a chance we may be compiled with a newer version of ATK and then
-+ // run with an older one, so we need to do a runtime check for this method
-+ // that is available in ATK 2.32 instead of linking directly.
-+ g_scroll_substring_to = reinterpret_cast<ScrollSubstringToFunc>(
-+ dlsym(RTLD_DEFAULT, "atk_text_scroll_substring_to"));
-+ if (!g_scroll_substring_to) {
-+ LOG(WARNING) << "Skipping "
-+ "AccessibilityAuraLinuxBrowserTest::TestSubstringScrollTo"
-+ " because ATK version < 2.32 detected.";
-+ return;
-+ }
-+
- LoadInitialAccessibilityTreeFromHtml(
- R"HTML(<!DOCTYPE html>
- <html>
-@@ -1086,8 +1144,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- AccessibilityNotificationWaiter waiter(
- shell()->web_contents(), ui::kAXModeComplete,
- ax::mojom::Event::kScrollPositionChanged);
-- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2,
-- ATK_SCROLL_TOP_EDGE));
-+ ASSERT_TRUE(ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_TOP_EDGE));
- ASSERT_TRUE(waiter.WaitForNotification());
- int x, y;
- atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr,
-@@ -1095,40 +1152,37 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- EXPECT_EQ(y, doc_y);
- EXPECT_NE(x, doc_x);
-
-- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2,
-- ATK_SCROLL_TOP_LEFT));
-+ ASSERT_TRUE(ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_TOP_LEFT));
- ASSERT_TRUE(waiter.WaitForNotification());
- atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
- EXPECT_EQ(y, doc_y);
- EXPECT_EQ(x, doc_x);
-
-- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2,
-- ATK_SCROLL_BOTTOM_EDGE));
-+ ASSERT_TRUE(
-+ ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_BOTTOM_EDGE));
- ASSERT_TRUE(waiter.WaitForNotification());
- atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
- EXPECT_NE(y, doc_y);
- EXPECT_EQ(x, doc_x);
-
-- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2,
-- ATK_SCROLL_RIGHT_EDGE));
-+ ASSERT_TRUE(
-+ ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_RIGHT_EDGE));
- ASSERT_TRUE(waiter.WaitForNotification());
- atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
- EXPECT_NE(y, doc_y);
- EXPECT_NE(x, doc_x);
-
-- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2,
-- ATK_SCROLL_LEFT_EDGE));
-+ ASSERT_TRUE(ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_LEFT_EDGE));
- ASSERT_TRUE(waiter.WaitForNotification());
- atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
- EXPECT_NE(y, doc_y);
- EXPECT_EQ(x, doc_x);
-
-- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2,
-- ATK_SCROLL_TOP_LEFT));
-+ ASSERT_TRUE(ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_TOP_LEFT));
- ASSERT_TRUE(waiter.WaitForNotification());
- atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
-@@ -1138,9 +1192,42 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- g_object_unref(target1);
- }
-
-+typedef gboolean (*ScrollSubstringToPointFunc)(AtkText* text,
-+ gint start_offset,
-+ gint end_offset,
-+ AtkCoordType coord_type,
-+ gint x,
-+ gint y);
-+ScrollSubstringToPointFunc g_scroll_substring_to_point = nullptr;
-+
-+NO_SANITIZE("cfi-icall")
-+gboolean ScrollSubstringToPoint(AtkText* text,
-+ gint start_offset,
-+ gint end_offset,
-+ AtkCoordType coord_type,
-+ gint x,
-+ gint y) {
-+ EXPECT_NE(g_scroll_substring_to_point, nullptr);
-+ return g_scroll_substring_to_point(text, start_offset, end_offset, coord_type,
-+ x, y);
-+}
-+
- // TODO(crbug.com/40866728): Enable this test.
- IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
- DISABLED_TestScrollSubstringToPoint) {
-+ // There's a chance we may be compiled with a newer version of ATK and then
-+ // run with an older one, so we need to do a runtime check for this method
-+ // that is available in ATK 2.30 instead of linking directly.
-+ g_scroll_substring_to_point = reinterpret_cast<ScrollSubstringToPointFunc>(
-+ dlsym(RTLD_DEFAULT, "atk_text_scroll_substring_to_point"));
-+ if (!g_scroll_substring_to_point) {
-+ LOG(WARNING)
-+ << "Skipping "
-+ "AccessibilityAuraLinuxBrowserTest::TestScrollSubstringToPoint"
-+ " because ATK version < 2.30 detected.";
-+ return;
-+ }
-+
- LoadSampleParagraphInScrollableDocument();
- AtkText* atk_text = GetSampleParagraph();
- ASSERT_TRUE(ATK_IS_COMPONENT(atk_text));
-@@ -1153,7 +1240,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- AccessibilityNotificationWaiter location_changed_waiter(
- shell()->web_contents(), ui::kAXModeComplete,
- ax::mojom::Event::kLocationChanged);
-- atk_text_scroll_substring_to_point(atk_text, 1, 2, ATK_XY_PARENT, 0, 0);
-+ ScrollSubstringToPoint(atk_text, 1, 2, ATK_XY_PARENT, 0, 0);
- ASSERT_TRUE(location_changed_waiter.WaitForNotification());
-
- atk_text_get_character_extents(atk_text, 1, &x, &y, nullptr, nullptr,
-@@ -1162,22 +1249,20 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
- EXPECT_GT(prev_y, y);
-
- constexpr int kScrollToY = 0;
-- atk_text_scroll_substring_to_point(atk_text, 1, 2, ATK_XY_SCREEN, 0,
-- kScrollToY);
-+ ScrollSubstringToPoint(atk_text, 1, 2, ATK_XY_SCREEN, 0, kScrollToY);
- ASSERT_TRUE(location_changed_waiter.WaitForNotification());
- atk_text_get_character_extents(atk_text, 1, &x, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
- EXPECT_EQ(kScrollToY, y);
-
- constexpr int kScrollToY_2 = 243;
-- atk_text_scroll_substring_to_point(atk_text, 1, 2, ATK_XY_SCREEN, 0,
-- kScrollToY_2);
-+ ScrollSubstringToPoint(atk_text, 1, 2, ATK_XY_SCREEN, 0, kScrollToY_2);
- ASSERT_TRUE(location_changed_waiter.WaitForNotification());
- atk_text_get_character_extents(atk_text, 1, &x, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
- EXPECT_EQ(kScrollToY_2, y);
-
-- atk_text_scroll_substring_to_point(atk_text, 1, 2, ATK_XY_SCREEN, 0, 129);
-+ ScrollSubstringToPoint(atk_text, 1, 2, ATK_XY_SCREEN, 0, 129);
- ASSERT_TRUE(location_changed_waiter.WaitForNotification());
- atk_text_get_character_extents(atk_text, 1, &x, &y, nullptr, nullptr,
- ATK_XY_SCREEN);
-@@ -1193,6 +1278,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
-
- g_object_unref(atk_text);
- }
-+#endif // defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 32, 0)
-
- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
- // Flaky on crbug.com/1026149
-diff -up chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.cc.el8-atk-compiler-error chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.cc
---- chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.cc.el8-atk-compiler-error 2025-01-28 23:03:27.000000000 +0100
-+++ chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.cc 2025-02-04 10:56:08.424126602 +0100
-@@ -2,12 +2,12 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
-
--#include "base/version.h"
- #ifdef UNSAFE_BUFFERS_BUILD
- // TODO(crbug.com/40285824): Remove this and convert code to safer constructs.
- #pragma allow_unsafe_buffers
- #endif
-
-+#include <dlfcn.h>
- #include <stdint.h>
-
- #include <algorithm>
-@@ -47,14 +47,33 @@
- #include "ui/accessibility/platform/child_iterator.h"
- #include "ui/gfx/geometry/rect_conversions.h"
-
--// Function availability can be tested by checking whether its address is not
--// nullptr.
--#define WEAK_ATK_FN(x) extern "C" __attribute__((weak)) decltype(x) x
--
--// TODO(https://crbug.com/40549424): This may be removed when support for
--// Ubuntu 18.04 is dropped.
--WEAK_ATK_FN(atk_component_scroll_to_point);
--WEAK_ATK_FN(atk_text_scroll_substring_to_point);
-+#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 10, 0)
-+#define ATK_210
-+#endif
-+
-+#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 12, 0)
-+#define ATK_212
-+#endif
-+
-+#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 16, 0)
-+#define ATK_216
-+#endif
-+
-+#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 26, 0)
-+#define ATK_226
-+#endif
-+
-+#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 30, 0)
-+#define ATK_230
-+#endif
-+
-+#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 32, 0)
-+#define ATK_232
-+#endif
-+
-+#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 34, 0)
-+#define ATK_234
-+#endif
-
- namespace ui {
-
-@@ -146,11 +165,29 @@ AtkObject* g_active_top_level_frame = nu
-
- AtkObject* g_active_views_dialog = nullptr;
-
-+#if defined(ATK_216)
- constexpr AtkRole kStaticRole = ATK_ROLE_STATIC;
- constexpr AtkRole kSubscriptRole = ATK_ROLE_SUBSCRIPT;
- constexpr AtkRole kSuperscriptRole = ATK_ROLE_SUPERSCRIPT;
-+#else
-+constexpr AtkRole kStaticRole = ATK_ROLE_TEXT;
-+constexpr AtkRole kSubscriptRole = ATK_ROLE_TEXT;
-+constexpr AtkRole kSuperscriptRole = ATK_ROLE_TEXT;
-+#endif
-
-+#if defined(ATK_226)
- constexpr AtkRole kAtkFootnoteRole = ATK_ROLE_FOOTNOTE;
-+#else
-+constexpr AtkRole kAtkFootnoteRole = ATK_ROLE_LIST_ITEM;
-+#endif
-+
-+#if defined(ATK_234)
-+constexpr AtkRole kAtkRoleContentDeletion = ATK_ROLE_CONTENT_DELETION;
-+constexpr AtkRole kAtkRoleContentInsertion = ATK_ROLE_CONTENT_INSERTION;
-+#else
-+constexpr AtkRole kAtkRoleContentDeletion = ATK_ROLE_SECTION;
-+constexpr AtkRole kAtkRoleContentInsertion = ATK_ROLE_SECTION;
-+#endif
-
- using GetTypeFunc = GType (*)();
- using GetColumnHeaderCellsFunc = GPtrArray* (*)(AtkTableCell* cell);
-@@ -161,6 +198,11 @@ using GetRowColumnSpanFunc = bool (*)(At
- gint* row_span,
- gint* col_span);
-
-+static GetTypeFunc g_atk_table_cell_get_type;
-+static GetColumnHeaderCellsFunc g_atk_table_cell_get_column_header_cells;
-+static GetRowHeaderCellsFunc g_atk_table_cell_get_row_header_cells;
-+static GetRowColumnSpanFunc g_atk_table_cell_get_row_column_span;
-+
- // The ATK API often requires pointers to be used as out arguments, while
- // allowing for those pointers to be null if the caller is not interested in
- // the value. This function is a simpler helper to avoid continually checking
-@@ -170,35 +212,17 @@ void SetIntPointerValueIfNotNull(int* po
- *pointer = value;
- }
-
--// TODO(https://crbug.com/40549424): This may be removed when support for
--// Ubuntu 18.04 is dropped.
-+#if defined(ATK_230)
- bool SupportsAtkComponentScrollingInterface() {
-- return atk_component_scroll_to_point;
-+ return dlsym(RTLD_DEFAULT, "atk_component_scroll_to_point");
- }
-+#endif
-
--// TODO(https://crbug.com/40549424): This may be removed when support for
--// Ubuntu 18.04 is dropped.
-+#if defined(ATK_232)
- bool SupportsAtkTextScrollingInterface() {
-- return atk_text_scroll_substring_to_point;
--}
--
--// TODO(https://crbug.com/40549424): This may be removed when support for
--// Ubuntu 18.04 is dropped.
--AtkRole GetAtkRoleContentDeletion() {
-- base::Version atk_version(atk_get_version());
-- return atk_version.CompareTo(base::Version("2.34.0")) >= 0
-- ? ATK_ROLE_CONTENT_DELETION
-- : ATK_ROLE_SECTION;
--}
--
--// TODO(https://crbug.com/40549424): This may be removed when support for
--// Ubuntu 18.04 is dropped.
--AtkRole GetAtkRoleContentInsertion() {
-- base::Version atk_version(atk_get_version());
-- return atk_version.CompareTo(base::Version("2.34.0")) >= 0
-- ? ATK_ROLE_CONTENT_INSERTION
-- : ATK_ROLE_SECTION;
-+ return dlsym(RTLD_DEFAULT, "atk_text_scroll_substring_to_point");
- }
-+#endif
-
- AtkObject* FindAtkObjectParentFrame(AtkObject* atk_object) {
- AXPlatformNodeAuraLinux* node =
-@@ -297,10 +321,12 @@ AXCoordinateSystem AtkCoordTypeToAXCoord
- return AXCoordinateSystem::kScreenDIPs;
- case ATK_XY_WINDOW:
- return AXCoordinateSystem::kRootFrame;
-+#if defined(ATK_230)
- case ATK_XY_PARENT:
- // AXCoordinateSystem does not support parent coordinates.
- NOTIMPLEMENTED();
- return AXCoordinateSystem::kFrame;
-+#endif
- default:
- return AXCoordinateSystem::kScreenDIPs;
- }
-@@ -513,6 +539,7 @@ gboolean GrabFocus(AtkComponent* atk_com
- return obj->GrabFocus();
- }
-
-+#if defined(ATK_230)
- gboolean ScrollTo(AtkComponent* atk_component, AtkScrollType scroll_type) {
- g_return_val_if_fail(ATK_IS_COMPONENT(atk_component), FALSE);
-
-@@ -539,6 +566,7 @@ gboolean ScrollToPoint(AtkComponent* atk
- obj->ScrollToPoint(atk_coord_type, x, y);
- return TRUE;
- }
-+#endif
-
- void Init(AtkComponentIface* iface) {
- iface->get_extents = GetExtents;
-@@ -546,10 +574,12 @@ void Init(AtkComponentIface* iface) {
- iface->get_size = GetSize;
- iface->ref_accessible_at_point = RefAccesibleAtPoint;
- iface->grab_focus = GrabFocus;
-+#if defined(ATK_230)
- if (SupportsAtkComponentScrollingInterface()) {
- iface->scroll_to = ScrollTo;
- iface->scroll_to_point = ScrollToPoint;
- }
-+#endif
- }
-
- const GInterfaceInfo Info = {reinterpret_cast<GInterfaceInitFunc>(Init),
-@@ -1310,6 +1340,7 @@ gboolean AddSelection(AtkText* atk_text,
- return SetSelection(atk_text, 0, start_offset, end_offset);
- }
-
-+#if defined(ATK_210)
- char* GetStringAtOffset(AtkText* atk_text,
- int offset,
- AtkTextGranularity atk_granularity,
-@@ -1324,7 +1355,9 @@ char* GetStringAtOffset(AtkText* atk_tex
- return GetTextWithBoundaryType(atk_text, offset, boundary, start_offset,
- end_offset);
- }
-+#endif
-
-+#if defined(ATK_230)
- gfx::Rect GetUnclippedParentHypertextRangeBoundsRect(
- AXPlatformNodeDelegate* ax_platform_node_delegate,
- const int start_offset,
-@@ -1348,6 +1381,7 @@ gfx::Rect GetUnclippedParentHypertextRan
- AXClippingBehavior::kClipped)
- .OffsetFromOrigin();
- }
-+#endif
-
- void GetCharacterExtents(AtkText* atk_text,
- int offset,
-@@ -1363,10 +1397,12 @@ void GetCharacterExtents(AtkText* atk_te
- AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(atk_text));
- if (obj) {
- switch (coordinate_type) {
-+#if defined(ATK_230)
- case ATK_XY_PARENT:
- rect = GetUnclippedParentHypertextRangeBoundsRect(obj->GetDelegate(),
- offset, offset + 1);
- break;
-+#endif
- default:
- rect = obj->GetDelegate()->GetHypertextRangeBoundsRect(
- obj->UnicodeToUTF16OffsetInText(offset),
-@@ -1402,10 +1438,12 @@ void GetRangeExtents(AtkText* atk_text,
- AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(atk_text));
- if (obj) {
- switch (coordinate_type) {
-+#if defined(ATK_230)
- case ATK_XY_PARENT:
- rect = GetUnclippedParentHypertextRangeBoundsRect(
- obj->GetDelegate(), start_offset, end_offset);
- break;
-+#endif
- default:
- rect = obj->GetDelegate()->GetHypertextRangeBoundsRect(
- obj->UnicodeToUTF16OffsetInText(start_offset),
-@@ -1455,6 +1493,7 @@ AtkAttributeSet* GetDefaultAttributes(At
- return ToAtkAttributeSet(obj->GetDefaultTextAttributes());
- }
-
-+#if defined(ATK_232)
- gboolean ScrollSubstringTo(AtkText* atk_text,
- gint start_offset,
- gint end_offset,
-@@ -1485,6 +1524,7 @@ gboolean ScrollSubstringToPoint(AtkText*
- return obj->ScrollSubstringToPoint(start_offset, end_offset, atk_coord_type,
- x, y);
- }
-+#endif // ATK_232
-
- void Init(AtkTextIface* iface) {
- iface->get_text = GetText;
-@@ -1507,12 +1547,16 @@ void Init(AtkTextIface* iface) {
- iface->get_run_attributes = GetRunAttributes;
- iface->get_default_attributes = GetDefaultAttributes;
-
-+#if defined(ATK_210)
- iface->get_string_at_offset = GetStringAtOffset;
-+#endif
-
-+#if defined(ATK_232)
- if (SupportsAtkTextScrollingInterface()) {
- iface->scroll_substring_to = ScrollSubstringTo;
- iface->scroll_substring_to_point = ScrollSubstringToPoint;
- }
-+#endif
- }
-
- const GInterfaceInfo Info = {reinterpret_cast<GInterfaceInitFunc>(Init),
-@@ -1915,11 +1959,15 @@ const GInterfaceInfo Info = {reinterpret
-
- } // namespace atk_table
-
-+// The ATK table cell interface was added in ATK 2.12.
-+#if defined(ATK_212)
-+
- namespace atk_table_cell {
-
- gint GetColumnSpan(AtkTableCell* cell) {
-+ DCHECK(g_atk_table_cell_get_type);
- g_return_val_if_fail(
-- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), 0);
-+ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()), 0);
-
- if (const AXPlatformNodeBase* obj =
- AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
-@@ -1931,8 +1979,10 @@ gint GetColumnSpan(AtkTableCell* cell) {
- }
-
- GPtrArray* GetColumnHeaderCells(AtkTableCell* cell) {
-+ DCHECK(g_atk_table_cell_get_type);
- g_return_val_if_fail(
-- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), nullptr);
-+ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()),
-+ nullptr);
-
- GPtrArray* array = g_ptr_array_new_with_free_func(g_object_unref);
-
-@@ -1966,8 +2016,10 @@ GPtrArray* GetColumnHeaderCells(AtkTable
- }
-
- gboolean GetCellPosition(AtkTableCell* cell, gint* row, gint* column) {
-+ DCHECK(g_atk_table_cell_get_type);
- g_return_val_if_fail(
-- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), FALSE);
-+ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()),
-+ FALSE);
-
- if (auto* obj = AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
- std::optional<int> row_index = obj->GetTableRow();
-@@ -1984,8 +2036,9 @@ gboolean GetCellPosition(AtkTableCell* c
- }
-
- gint GetRowSpan(AtkTableCell* cell) {
-+ DCHECK(g_atk_table_cell_get_type);
- g_return_val_if_fail(
-- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), 0);
-+ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()), 0);
-
- if (auto* obj = AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
- // If the object is not a cell, we return 0.
-@@ -1996,8 +2049,10 @@ gint GetRowSpan(AtkTableCell* cell) {
- }
-
- GPtrArray* GetRowHeaderCells(AtkTableCell* cell) {
-+ DCHECK(g_atk_table_cell_get_type);
- g_return_val_if_fail(
-- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), nullptr);
-+ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()),
-+ nullptr);
-
- GPtrArray* array = g_ptr_array_new_with_free_func(g_object_unref);
-
-@@ -2031,8 +2086,10 @@ GPtrArray* GetRowHeaderCells(AtkTableCel
- }
-
- AtkObject* GetTable(AtkTableCell* cell) {
-+ DCHECK(g_atk_table_cell_get_type);
- g_return_val_if_fail(
-- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), nullptr);
-+ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()),
-+ nullptr);
-
- if (auto* obj = AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
- if (auto* table = obj->GetTable())
-@@ -2058,6 +2115,8 @@ const GInterfaceInfo Info = {reinterpret
-
- } // namespace atk_table_cell
-
-+#endif // ATK_212
-+
- namespace atk_object {
-
- gpointer kAXPlatformNodeAuraLinuxParentClass = nullptr;
-@@ -2324,6 +2383,50 @@ void Detach(AXPlatformNodeAuraLinuxObjec
-
- } // namespace
-
-+// static
-+NO_SANITIZE("cfi-icall")
-+GType AtkTableCellInterface::GetType() {
-+ return g_atk_table_cell_get_type();
-+}
-+
-+// static
-+NO_SANITIZE("cfi-icall")
-+GPtrArray* AtkTableCellInterface::GetColumnHeaderCells(AtkTableCell* cell) {
-+ return g_atk_table_cell_get_column_header_cells(cell);
-+}
-+
-+// static
-+NO_SANITIZE("cfi-icall")
-+GPtrArray* AtkTableCellInterface::GetRowHeaderCells(AtkTableCell* cell) {
-+ return g_atk_table_cell_get_row_header_cells(cell);
-+}
-+
-+// static
-+NO_SANITIZE("cfi-icall")
-+bool AtkTableCellInterface::GetRowColumnSpan(AtkTableCell* cell,
-+ gint* row,
-+ gint* column,
-+ gint* row_span,
-+ gint* col_span) {
-+ return g_atk_table_cell_get_row_column_span(cell, row, column, row_span,
-+ col_span);
-+}
-+
-+// static
-+bool AtkTableCellInterface::Exists() {
-+ g_atk_table_cell_get_type = reinterpret_cast<GetTypeFunc>(
-+ dlsym(RTLD_DEFAULT, "atk_table_cell_get_type"));
-+ g_atk_table_cell_get_column_header_cells =
-+ reinterpret_cast<GetColumnHeaderCellsFunc>(
-+ dlsym(RTLD_DEFAULT, "atk_table_cell_get_column_header_cells"));
-+ g_atk_table_cell_get_row_header_cells =
-+ reinterpret_cast<GetRowHeaderCellsFunc>(
-+ dlsym(RTLD_DEFAULT, "atk_table_cell_get_row_header_cells"));
-+ g_atk_table_cell_get_row_column_span = reinterpret_cast<GetRowColumnSpanFunc>(
-+ dlsym(RTLD_DEFAULT, "atk_table_cell_get_row_column_span"));
-+ return *g_atk_table_cell_get_type;
-+}
-+
- void AXPlatformNodeAuraLinux::EnsureGTypeInit() {
- #if !GLIB_CHECK_VERSION(2, 36, 0)
- static bool first_time = true;
-@@ -2431,8 +2534,11 @@ GType AXPlatformNodeAuraLinux::GetAccess
- g_type_add_interface_static(type, ATK_TYPE_TABLE, &atk_table::Info);
-
- if (interface_mask_.Implements(ImplementedAtkInterfaces::Value::kTableCell)) {
-- g_type_add_interface_static(type, atk_table_cell_get_type(),
-- &atk_table_cell::Info);
-+ // Run-time check to ensure AtkTableCell is supported (requires ATK 2.12).
-+ if (AtkTableCellInterface::Exists()) {
-+ g_type_add_interface_static(type, AtkTableCellInterface::GetType(),
-+ &atk_table_cell::Info);
-+ }
- }
-
- return type;
-@@ -2667,9 +2773,9 @@ AtkRole AXPlatformNodeAuraLinux::GetAtkR
- case ax::mojom::Role::kComplementary:
- return ATK_ROLE_LANDMARK;
- case ax::mojom::Role::kContentDeletion:
-- return GetAtkRoleContentDeletion();
-+ return kAtkRoleContentDeletion;
- case ax::mojom::Role::kContentInsertion:
-- return GetAtkRoleContentInsertion();
-+ return kAtkRoleContentInsertion;
- case ax::mojom::Role::kContentInfo:
- case ax::mojom::Role::kFooter:
- return ATK_ROLE_LANDMARK;
-@@ -3105,12 +3211,14 @@ void AXPlatformNodeAuraLinux::GetAtkStat
- static_cast<int32_t>(ax::mojom::AriaCurrentState::kFalse)) {
- atk_state_set_add_state(atk_state_set, ATK_STATE_ACTIVE);
- }
-+#if defined(ATK_216)
- // Runtime checks in case we were compiled with a newer version of ATK.
- if (IsPlatformCheckable() && PlatformSupportsState(ATK_STATE_CHECKABLE))
- atk_state_set_add_state(atk_state_set, ATK_STATE_CHECKABLE);
- if (HasIntAttribute(ax::mojom::IntAttribute::kHasPopup) &&
- PlatformSupportsState(ATK_STATE_HAS_POPUP))
- atk_state_set_add_state(atk_state_set, ATK_STATE_HAS_POPUP);
-+#endif
- if (GetBoolAttribute(ax::mojom::BoolAttribute::kBusy))
- atk_state_set_add_state(atk_state_set, ATK_STATE_BUSY);
- if (GetBoolAttribute(ax::mojom::BoolAttribute::kModal))
-@@ -3149,9 +3257,11 @@ void AXPlatformNodeAuraLinux::GetAtkStat
- if (GetData().GetRestriction() != ax::mojom::Restriction::kDisabled) {
- if (GetDelegate()->IsReadOnlySupported() &&
- GetDelegate()->IsReadOnlyOrDisabled()) {
-+#if defined(ATK_216)
- // Runtime check in case we were compiled with a newer version of ATK.
- if (PlatformSupportsState(ATK_STATE_READ_ONLY))
- atk_state_set_add_state(atk_state_set, ATK_STATE_READ_ONLY);
-+#endif
- } else {
- atk_state_set_add_state(atk_state_set, ATK_STATE_ENABLED);
- atk_state_set_add_state(atk_state_set, ATK_STATE_SENSITIVE);
-@@ -3185,12 +3295,16 @@ struct AtkIntListRelation {
- static AtkIntListRelation kIntListRelations[] = {
- {ax::mojom::IntListAttribute::kControlsIds, ATK_RELATION_CONTROLLER_FOR,
- ATK_RELATION_CONTROLLED_BY},
-+#if defined(ATK_226)
- {ax::mojom::IntListAttribute::kDetailsIds, ATK_RELATION_DETAILS,
- ATK_RELATION_DETAILS_FOR},
-+#endif
- {ax::mojom::IntListAttribute::kDescribedbyIds, ATK_RELATION_DESCRIBED_BY,
- ATK_RELATION_DESCRIPTION_FOR},
-+#if defined(ATK_226)
- {ax::mojom::IntListAttribute::kErrormessageIds, ATK_RELATION_ERROR_MESSAGE,
- ATK_RELATION_ERROR_FOR},
-+#endif
- {ax::mojom::IntListAttribute::kFlowtoIds, ATK_RELATION_FLOWS_TO,
- ATK_RELATION_FLOWS_FROM},
- {ax::mojom::IntListAttribute::kLabelledbyIds, ATK_RELATION_LABELLED_BY,
-@@ -3981,6 +4095,7 @@ void AXPlatformNodeAuraLinux::OnReadonly
- if (!obj)
- return;
-
-+#if defined(ATK_216)
- // Runtime check in case we were compiled with a newer version of ATK.
- if (!PlatformSupportsState(ATK_STATE_READ_ONLY))
- return;
-@@ -3988,6 +4103,7 @@ void AXPlatformNodeAuraLinux::OnReadonly
- atk_object_notify_state_change(
- obj, ATK_STATE_READ_ONLY,
- GetData().GetRestriction() == ax::mojom::Restriction::kReadOnly);
-+#endif
- }
-
- void AXPlatformNodeAuraLinux::OnInvalidStatusChanged() {
-@@ -4314,11 +4430,13 @@ gfx::Rect AXPlatformNodeAuraLinux::GetEx
- extents.Offset(window_origin);
- break;
- }
-+#if defined(ATK_230)
- case ATK_XY_PARENT: {
- gfx::Vector2d parent_origin = -GetParentOriginInScreenCoordinates();
- extents.Offset(parent_origin);
- break;
- }
-+#endif
- }
-
- return extents;
-@@ -4755,6 +4873,7 @@ bool AXPlatformNodeAuraLinux::IsInLiveRe
- return HasStringAttribute(ax::mojom::StringAttribute::kContainerLiveStatus);
- }
-
-+#if defined(ATK_230)
- void AXPlatformNodeAuraLinux::ScrollToPoint(AtkCoordType atk_coord_type,
- int x,
- int y) {
-@@ -4827,7 +4946,9 @@ void AXPlatformNodeAuraLinux::ScrollNode
- rect -= rect.OffsetFromOrigin();
- ScrollNodeRectIntoView(rect, atk_scroll_type);
- }
-+#endif // defined(ATK_230)
-
-+#if defined(ATK_232)
- std::optional<gfx::Rect>
- AXPlatformNodeAuraLinux::GetUnclippedHypertextRangeBoundsRect(int start_offset,
- int end_offset) {
-@@ -4886,6 +5007,7 @@ bool AXPlatformNodeAuraLinux::ScrollSubs
-
- return true;
- }
-+#endif // defined(ATK_232)
-
- void AXPlatformNodeAuraLinux::ComputeStylesIfNeeded() {
- if (!offset_to_text_attributes_.empty())
-@@ -5066,8 +5188,10 @@ gfx::Point AXPlatformNodeAuraLinux::Conv
- switch (atk_coord_type) {
- case ATK_XY_WINDOW:
- return point + GetParentFrameOriginInScreenCoordinates();
-+#if defined(ATK_230)
- case ATK_XY_PARENT:
- return point + GetParentOriginInScreenCoordinates();
-+#endif
- case ATK_XY_SCREEN:
- default:
- return point;
-diff -up chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.h.el8-atk-compiler-error chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.h
---- chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.h.el8-atk-compiler-error 2025-01-28 23:03:27.000000000 +0100
-+++ chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.h 2025-02-04 10:56:08.439126973 +0100
-@@ -52,6 +52,31 @@ struct FindInPageResultInfo {
- }
- };
-
-+// AtkTableCell was introduced in ATK 2.12. Ubuntu Trusty has ATK 2.10.
-+// Compile-time checks are in place for ATK versions that are older than 2.12.
-+// However, we also need runtime checks in case the version we are building
-+// against is newer than the runtime version. To prevent a runtime error, we
-+// check that we have a version of ATK that supports AtkTableCell. If we do,
-+// we dynamically load the symbol; if we don't, the interface is absent from
-+// the accessible object and its methods will not be exposed or callable.
-+// The definitions below ensure we have no missing symbols. Note that in
-+// environments where we have ATK > 2.12, the definitions of AtkTableCell and
-+// AtkTableCellIface below are overridden by the runtime version.
-+// TODO(accessibility) Remove AtkTableCellInterface when 2.12 is the minimum
-+// supported version.
-+struct COMPONENT_EXPORT(AX_PLATFORM) AtkTableCellInterface {
-+ typedef struct _AtkTableCell AtkTableCell;
-+ static GType GetType();
-+ static GPtrArray* GetColumnHeaderCells(AtkTableCell* cell);
-+ static GPtrArray* GetRowHeaderCells(AtkTableCell* cell);
-+ static bool GetRowColumnSpan(AtkTableCell* cell,
-+ gint* row,
-+ gint* column,
-+ gint* row_span,
-+ gint* col_span);
-+ static bool Exists();
-+};
-+
- // This class with an enum is used to generate a bitmask which tracks the ATK
- // interfaces that an AXPlatformNodeAuraLinux's ATKObject implements.
- class ImplementedAtkInterfaces {
-diff -up chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc.el8-atk-compiler-error chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc
---- chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc.el8-atk-compiler-error 2025-01-28 23:03:27.000000000 +0100
-+++ chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc 2025-02-04 12:06:15.819918562 +0100
-@@ -11,6 +11,7 @@
-
- #include <atk/atk.h>
-
-+#include <dlfcn.h>
- #include <array>
- #include <utility>
- #include <vector>
-@@ -887,6 +888,17 @@ typedef bool (*ScrollToPointFunc)(AtkCom
- typedef bool (*ScrollToFunc)(AtkComponent* component, AtkScrollType type);
-
- TEST_F(AXPlatformNodeAuraLinuxTest, AtkComponentScrollToPoint) {
-+ // There's a chance we may be compiled with a newer version of ATK and then
-+ // run with an older one, so we need to do a runtime check for this method
-+ // that is available in ATK 2.30 instead of linking directly.
-+ ScrollToPointFunc scroll_to_point = reinterpret_cast<ScrollToPointFunc>(
-+ dlsym(RTLD_DEFAULT, "atk_component_scroll_to_point"));
-+ if (!scroll_to_point) {
-+ LOG(WARNING) << "Skipping AtkComponentScrollToPoint"
-+ " because ATK version < 2.30 detected.";
-+ return;
-+ }
-+
- AXNodeData root;
- root.id = 1;
- root.role = ax::mojom::Role::kRootWebArea;
-@@ -914,8 +926,7 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC
- EXPECT_EQ(10, width);
- EXPECT_EQ(10, height);
-
-- atk_component_scroll_to_point(ATK_COMPONENT(child_obj), ATK_XY_SCREEN, 600,
-- 650);
-+ scroll_to_point(ATK_COMPONENT(child_obj), ATK_XY_SCREEN, 600, 650);
- atk_component_get_extents(ATK_COMPONENT(child_obj), &x_left, &y_top, &width,
- &height, ATK_XY_SCREEN);
- EXPECT_EQ(610, x_left);
-@@ -923,8 +934,7 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC
- EXPECT_EQ(10, width);
- EXPECT_EQ(10, height);
-
-- atk_component_scroll_to_point(ATK_COMPONENT(child_obj), ATK_XY_PARENT, 10,
-- 10);
-+ scroll_to_point(ATK_COMPONENT(child_obj), ATK_XY_PARENT, 10, 10);
- atk_component_get_extents(ATK_COMPONENT(child_obj), &x_left, &y_top, &width,
- &height, ATK_XY_SCREEN);
- // The test wrapper scrolls every element when scrolling, so this should be
-@@ -941,6 +951,17 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC
- }
-
- TEST_F(AXPlatformNodeAuraLinuxTest, AtkComponentScrollTo) {
-+ // There's a chance we may be compiled with a newer version of ATK and then
-+ // run with an older one, so we need to do a runtime check for this method
-+ // that is available in ATK 2.30 instead of linking directly.
-+ ScrollToFunc scroll_to = reinterpret_cast<ScrollToFunc>(
-+ dlsym(RTLD_DEFAULT, "atk_component_scroll_to"));
-+ if (!scroll_to) {
-+ LOG(WARNING) << "Skipping AtkComponentScrollTo"
-+ " because ATK version < 2.30 detected.";
-+ return;
-+ }
-+
- AXNodeData root;
- root.id = 1;
- root.role = ax::mojom::Role::kRootWebArea;
-@@ -968,7 +989,7 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC
- EXPECT_EQ(10, width);
- EXPECT_EQ(10, height);
-
-- atk_component_scroll_to(ATK_COMPONENT(child_obj), ATK_SCROLL_ANYWHERE);
-+ scroll_to(ATK_COMPONENT(child_obj), ATK_SCROLL_ANYWHERE);
- atk_component_get_extents(ATK_COMPONENT(child_obj), &x_left, &y_top, &width,
- &height, ATK_XY_SCREEN);
- EXPECT_EQ(0, x_left);
-diff -up chromium-133.0.6943.35/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc.el8-atk-compiler-error chromium-133.0.6943.35/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc
---- chromium-133.0.6943.35/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc.el8-atk-compiler-error 2025-01-28 23:03:27.000000000 +0100
-+++ chromium-133.0.6943.35/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc 2025-02-04 10:56:08.464127592 +0100
-@@ -474,18 +474,34 @@ void AXTreeFormatterAuraLinux::AddTableC
- int row = 0, col = 0, row_span = 0, col_span = 0;
- int n_row_headers = 0, n_column_headers = 0;
-
-- AtkTableCell* cell = G_TYPE_CHECK_INSTANCE_CAST(
-- (atk_object), atk_table_cell_get_type(), AtkTableCell);
-+ // Properties obtained via AtkTableCell, if possible. If we do not have at
-+ // least ATK 2.12, use the same logic in our AtkTableCell implementation so
-+ // that tests can still be run.
-+ if (AtkTableCellInterface::Exists()) {
-+ AtkTableCell* cell = G_TYPE_CHECK_INSTANCE_CAST(
-+ (atk_object), AtkTableCellInterface::GetType(), AtkTableCell);
-
-- atk_table_cell_get_row_column_span(cell, &row, &col, &row_span, &col_span);
-+ AtkTableCellInterface::GetRowColumnSpan(cell, &row, &col, &row_span,
-+ &col_span);
-
-- GPtrArray* column_headers = atk_table_cell_get_column_header_cells(cell);
-- n_column_headers = column_headers->len;
-- g_ptr_array_unref(column_headers);
-+ GPtrArray* column_headers =
-+ AtkTableCellInterface::GetColumnHeaderCells(cell);
-+ n_column_headers = column_headers->len;
-+ g_ptr_array_unref(column_headers);
-
-- GPtrArray* row_headers = atk_table_cell_get_row_header_cells(cell);
-- n_row_headers = row_headers->len;
-- g_ptr_array_unref(row_headers);
-+ GPtrArray* row_headers = AtkTableCellInterface::GetRowHeaderCells(cell);
-+ n_row_headers = row_headers->len;
-+ g_ptr_array_unref(row_headers);
-+ } else {
-+ row = node->GetTableRow().value_or(-1);
-+ col = node->GetTableColumn().value_or(-1);
-+ row_span = node->GetTableRowSpan().value_or(0);
-+ col_span = node->GetTableColumnSpan().value_or(0);
-+ if (role == ATK_ROLE_TABLE_CELL) {
-+ n_column_headers = node->GetDelegate()->GetColHeaderNodeIds(col).size();
-+ n_row_headers = node->GetDelegate()->GetRowHeaderNodeIds(row).size();
-+ }
-+ }
-
- std::vector<std::string> cell_info;
- cell_info.push_back(base::StringPrintf("row=%i", row));
diff --git a/chromium-134-el8-atk-compiler-error.patch b/chromium-134-el8-atk-compiler-error.patch
new file mode 100644
index 0000000..c44d174
--- /dev/null
+++ b/chromium-134-el8-atk-compiler-error.patch
@@ -0,0 +1,1067 @@
+diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_auralinux_browsertest.cc.than chromium-134.0.6998.15/content/browser/accessibility/accessibility_auralinux_browsertest.cc
+--- chromium-134.0.6998.15/content/browser/accessibility/accessibility_auralinux_browsertest.cc.than 2025-02-12 02:31:02.000000000 +0100
++++ chromium-134.0.6998.15/content/browser/accessibility/accessibility_auralinux_browsertest.cc 2025-02-17 17:13:30.971343965 +0100
+@@ -3,6 +3,7 @@
+ // found in the LICENSE file.
+
+ #include <atk/atk.h>
++#include <dlfcn.h>
+
+ #include <string>
+ #include <vector>
+@@ -550,6 +551,10 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ g_object_unref(div_element);
+ }
+
++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 30, 0)
++#define ATK_230
++#endif
++
+ IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
+ TestCharacterExtentsWithInvalidArguments) {
+ AtkText* atk_text = SetUpSampleParagraph();
+@@ -572,12 +577,14 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ EXPECT_EQ(expect, width);
+ EXPECT_EQ(expect, height);
+
++#ifdef ATK_230
+ atk_text_get_character_extents(atk_text, invalid_offset, &x, &y, &width,
+ &height, ATK_XY_PARENT);
+ EXPECT_EQ(expect, x);
+ EXPECT_EQ(expect, y);
+ EXPECT_EQ(expect, width);
+ EXPECT_EQ(expect, height);
++#endif // ATK_230
+
+ atk_text_get_character_extents(atk_text, invalid_offset, &x, &y, &width,
+ &height, ATK_XY_WINDOW);
+@@ -596,12 +603,14 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ EXPECT_EQ(expect, width);
+ EXPECT_EQ(expect, height);
+
++#ifdef ATK_230
+ atk_text_get_character_extents(atk_text, invalid_offset, &x, &y, &width,
+ &height, ATK_XY_PARENT);
+ EXPECT_EQ(expect, x);
+ EXPECT_EQ(expect, y);
+ EXPECT_EQ(expect, width);
+ EXPECT_EQ(expect, height);
++#endif // ATK_230
+
+ atk_text_get_character_extents(atk_text, invalid_offset, &x, &y, &width,
+ &height, ATK_XY_WINDOW);
+@@ -616,7 +625,9 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ AtkCoordType kCoordinateTypes[] = {
+ ATK_XY_SCREEN,
+ ATK_XY_WINDOW,
++#ifdef ATK_230
+ ATK_XY_PARENT,
++#endif // ATK_230
+ };
+
+ IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
+@@ -875,6 +886,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ TestCharacterExtentsInScrollableInput();
+ }
+
++#if defined(ATK_230)
+ typedef bool (*ScrollToPointFunc)(AtkComponent* component,
+ AtkCoordType coords,
+ gint x,
+@@ -884,6 +896,18 @@ typedef bool (*ScrollToFunc)(AtkComponen
+ // TODO(crbug.com/40866728): Enable this test.
+ IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
+ DISABLED_TestScrollToPoint) {
++ // There's a chance we may be compiled with a newer version of ATK and then
++ // run with an older one, so we need to do a runtime check for this method
++ // that is available in ATK 2.30 instead of linking directly.
++ ScrollToPointFunc scroll_to_point = reinterpret_cast<ScrollToPointFunc>(
++ dlsym(RTLD_DEFAULT, "atk_component_scroll_to_point"));
++ if (!scroll_to_point) {
++ LOG(WARNING)
++ << "Skipping AccessibilityAuraLinuxBrowserTest::TestScrollToPoint"
++ " because ATK version < 2.30 detected.";
++ return;
++ }
++
+ LoadSampleParagraphInScrollableDocument();
+ AtkText* atk_text = GetSampleParagraph();
+ ASSERT_TRUE(ATK_IS_COMPONENT(atk_text));
+@@ -896,7 +920,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ AccessibilityNotificationWaiter location_changed_waiter(
+ shell()->web_contents(), ui::kAXModeComplete,
+ ax::mojom::Event::kLocationChanged);
+- atk_component_scroll_to_point(atk_component, ATK_XY_PARENT, 0, 0);
++ scroll_to_point(atk_component, ATK_XY_PARENT, 0, 0);
+ ASSERT_TRUE(location_changed_waiter.WaitForNotification());
+
+ atk_component_get_extents(atk_component, &x, &y, nullptr, nullptr,
+@@ -905,20 +929,20 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ EXPECT_GT(prev_y, y);
+
+ constexpr int kScrollToY = 0;
+- atk_component_scroll_to_point(atk_component, ATK_XY_SCREEN, 0, kScrollToY);
++ scroll_to_point(atk_component, ATK_XY_SCREEN, 0, kScrollToY);
+ ASSERT_TRUE(location_changed_waiter.WaitForNotification());
+ atk_component_get_extents(atk_component, &x, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+ EXPECT_EQ(kScrollToY, y);
+
+ constexpr int kScrollToY_2 = 243;
+- atk_component_scroll_to_point(atk_component, ATK_XY_SCREEN, 0, kScrollToY_2);
++ scroll_to_point(atk_component, ATK_XY_SCREEN, 0, kScrollToY_2);
+ ASSERT_TRUE(location_changed_waiter.WaitForNotification());
+ atk_component_get_extents(atk_component, nullptr, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+ EXPECT_EQ(kScrollToY_2, y);
+
+- atk_component_scroll_to_point(atk_component, ATK_XY_SCREEN, 0, 129);
++ scroll_to_point(atk_component, ATK_XY_SCREEN, 0, 129);
+ ASSERT_TRUE(location_changed_waiter.WaitForNotification());
+ atk_component_get_extents(atk_component, nullptr, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+@@ -935,6 +959,17 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ // TODO(crbug.com/40866728): Enable this test.
+ IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
+ DISABLED_TestScrollTo) {
++ // There's a chance we may be compiled with a newer version of ATK and then
++ // run with an older one, so we need to do a runtime check for this method
++ // that is available in ATK 2.30 instead of linking directly.
++ ScrollToFunc scroll_to = reinterpret_cast<ScrollToFunc>(
++ dlsym(RTLD_DEFAULT, "atk_component_scroll_to"));
++ if (!scroll_to) {
++ LOG(WARNING) << "Skipping AccessibilityAuraLinuxBrowserTest::TestScrollTo"
++ " because ATK version < 2.30 detected.";
++ return;
++ }
++
+ LoadInitialAccessibilityTreeFromHtml(
+ R"HTML(<!DOCTYPE html>
+ <html>
+@@ -976,8 +1011,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ AccessibilityNotificationWaiter waiter(
+ shell()->web_contents(), ui::kAXModeComplete,
+ ax::mojom::Event::kScrollPositionChanged);
+- ASSERT_TRUE(
+- atk_component_scroll_to(ATK_COMPONENT(target), ATK_SCROLL_TOP_EDGE));
++ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target), ATK_SCROLL_TOP_EDGE));
+ ASSERT_TRUE(waiter.WaitForNotification());
+ int x, y;
+ atk_component_get_extents(ATK_COMPONENT(target), &x, &y, nullptr, nullptr,
+@@ -985,40 +1019,35 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ EXPECT_EQ(y, doc_y);
+ EXPECT_NE(x, doc_x);
+
+- ASSERT_TRUE(
+- atk_component_scroll_to(ATK_COMPONENT(target), ATK_SCROLL_TOP_LEFT));
++ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target), ATK_SCROLL_TOP_LEFT));
+ ASSERT_TRUE(waiter.WaitForNotification());
+ atk_component_get_extents(ATK_COMPONENT(target), &x, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+ EXPECT_EQ(y, doc_y);
+ EXPECT_EQ(x, doc_x);
+
+- ASSERT_TRUE(
+- atk_component_scroll_to(ATK_COMPONENT(target), ATK_SCROLL_BOTTOM_EDGE));
++ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target), ATK_SCROLL_BOTTOM_EDGE));
+ ASSERT_TRUE(waiter.WaitForNotification());
+ atk_component_get_extents(ATK_COMPONENT(target), &x, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+ EXPECT_NE(y, doc_y);
+ EXPECT_EQ(x, doc_x);
+
+- ASSERT_TRUE(
+- atk_component_scroll_to(ATK_COMPONENT(target), ATK_SCROLL_RIGHT_EDGE));
++ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target), ATK_SCROLL_RIGHT_EDGE));
+ ASSERT_TRUE(waiter.WaitForNotification());
+ atk_component_get_extents(ATK_COMPONENT(target), &x, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+ EXPECT_NE(y, doc_y);
+ EXPECT_NE(x, doc_x);
+
+- ASSERT_TRUE(
+- atk_component_scroll_to(ATK_COMPONENT(target2), ATK_SCROLL_LEFT_EDGE));
++ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target2), ATK_SCROLL_LEFT_EDGE));
+ ASSERT_TRUE(waiter.WaitForNotification());
+ atk_component_get_extents(ATK_COMPONENT(target2), &x, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+ EXPECT_NE(y, doc_y);
+ EXPECT_EQ(x, doc_x);
+
+- ASSERT_TRUE(
+- atk_component_scroll_to(ATK_COMPONENT(target2), ATK_SCROLL_TOP_LEFT));
++ ASSERT_TRUE(scroll_to(ATK_COMPONENT(target2), ATK_SCROLL_TOP_LEFT));
+ ASSERT_TRUE(waiter.WaitForNotification());
+ atk_component_get_extents(ATK_COMPONENT(target2), &x, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+@@ -1050,10 +1079,39 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ g_object_unref(target2);
+ g_object_unref(target3);
+ }
++#endif // defined(ATK_230)
++
++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 32, 0)
++typedef gboolean (*ScrollSubstringToFunc)(AtkText* text,
++ gint start_offset,
++ gint end_offset,
++ AtkScrollType type);
++ScrollSubstringToFunc g_scroll_substring_to = nullptr;
++
++NO_SANITIZE("cfi-icall")
++gboolean ScrollSubstringTo(AtkText* text,
++ gint start_offset,
++ gint end_offset,
++ AtkScrollType type) {
++ EXPECT_NE(g_scroll_substring_to, nullptr);
++ return g_scroll_substring_to(text, start_offset, end_offset, type);
++}
+
+ // TODO(crbug.com/40866728): Enable this test.
+ IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
+ DISABLED_TestScrollSubstringTo) {
++ // There's a chance we may be compiled with a newer version of ATK and then
++ // run with an older one, so we need to do a runtime check for this method
++ // that is available in ATK 2.32 instead of linking directly.
++ g_scroll_substring_to = reinterpret_cast<ScrollSubstringToFunc>(
++ dlsym(RTLD_DEFAULT, "atk_text_scroll_substring_to"));
++ if (!g_scroll_substring_to) {
++ LOG(WARNING) << "Skipping "
++ "AccessibilityAuraLinuxBrowserTest::TestSubstringScrollTo"
++ " because ATK version < 2.32 detected.";
++ return;
++ }
++
+ LoadInitialAccessibilityTreeFromHtml(
+ R"HTML(<!DOCTYPE html>
+ <html>
+@@ -1087,8 +1145,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ AccessibilityNotificationWaiter waiter(
+ shell()->web_contents(), ui::kAXModeComplete,
+ ax::mojom::Event::kScrollPositionChanged);
+- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2,
+- ATK_SCROLL_TOP_EDGE));
++ ASSERT_TRUE(ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_TOP_EDGE));
+ ASSERT_TRUE(waiter.WaitForNotification());
+ int x, y;
+ atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr,
+@@ -1096,40 +1153,37 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ EXPECT_EQ(y, doc_y);
+ EXPECT_NE(x, doc_x);
+
+- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2,
+- ATK_SCROLL_TOP_LEFT));
++ ASSERT_TRUE(ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_TOP_LEFT));
+ ASSERT_TRUE(waiter.WaitForNotification());
+ atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+ EXPECT_EQ(y, doc_y);
+ EXPECT_EQ(x, doc_x);
+
+- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2,
+- ATK_SCROLL_BOTTOM_EDGE));
++ ASSERT_TRUE(
++ ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_BOTTOM_EDGE));
+ ASSERT_TRUE(waiter.WaitForNotification());
+ atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+ EXPECT_NE(y, doc_y);
+ EXPECT_EQ(x, doc_x);
+
+- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2,
+- ATK_SCROLL_RIGHT_EDGE));
++ ASSERT_TRUE(
++ ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_RIGHT_EDGE));
+ ASSERT_TRUE(waiter.WaitForNotification());
+ atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+ EXPECT_NE(y, doc_y);
+ EXPECT_NE(x, doc_x);
+
+- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2,
+- ATK_SCROLL_LEFT_EDGE));
++ ASSERT_TRUE(ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_LEFT_EDGE));
+ ASSERT_TRUE(waiter.WaitForNotification());
+ atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+ EXPECT_NE(y, doc_y);
+ EXPECT_EQ(x, doc_x);
+
+- ASSERT_TRUE(atk_text_scroll_substring_to(ATK_TEXT(target1), 1, 2,
+- ATK_SCROLL_TOP_LEFT));
++ ASSERT_TRUE(ScrollSubstringTo(ATK_TEXT(target1), 1, 2, ATK_SCROLL_TOP_LEFT));
+ ASSERT_TRUE(waiter.WaitForNotification());
+ atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+@@ -1139,9 +1193,42 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ g_object_unref(target1);
+ }
+
++typedef gboolean (*ScrollSubstringToPointFunc)(AtkText* text,
++ gint start_offset,
++ gint end_offset,
++ AtkCoordType coord_type,
++ gint x,
++ gint y);
++ScrollSubstringToPointFunc g_scroll_substring_to_point = nullptr;
++
++NO_SANITIZE("cfi-icall")
++gboolean ScrollSubstringToPoint(AtkText* text,
++ gint start_offset,
++ gint end_offset,
++ AtkCoordType coord_type,
++ gint x,
++ gint y) {
++ EXPECT_NE(g_scroll_substring_to_point, nullptr);
++ return g_scroll_substring_to_point(text, start_offset, end_offset, coord_type,
++ x, y);
++}
++
+ // TODO(crbug.com/40866728): Enable this test.
+ IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
+ DISABLED_TestScrollSubstringToPoint) {
++ // There's a chance we may be compiled with a newer version of ATK and then
++ // run with an older one, so we need to do a runtime check for this method
++ // that is available in ATK 2.30 instead of linking directly.
++ g_scroll_substring_to_point = reinterpret_cast<ScrollSubstringToPointFunc>(
++ dlsym(RTLD_DEFAULT, "atk_text_scroll_substring_to_point"));
++ if (!g_scroll_substring_to_point) {
++ LOG(WARNING)
++ << "Skipping "
++ "AccessibilityAuraLinuxBrowserTest::TestScrollSubstringToPoint"
++ " because ATK version < 2.30 detected.";
++ return;
++ }
++
+ LoadSampleParagraphInScrollableDocument();
+ AtkText* atk_text = GetSampleParagraph();
+ ASSERT_TRUE(ATK_IS_COMPONENT(atk_text));
+@@ -1154,7 +1241,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ AccessibilityNotificationWaiter location_changed_waiter(
+ shell()->web_contents(), ui::kAXModeComplete,
+ ax::mojom::Event::kLocationChanged);
+- atk_text_scroll_substring_to_point(atk_text, 1, 2, ATK_XY_PARENT, 0, 0);
++ ScrollSubstringToPoint(atk_text, 1, 2, ATK_XY_PARENT, 0, 0);
+ ASSERT_TRUE(location_changed_waiter.WaitForNotification());
+
+ atk_text_get_character_extents(atk_text, 1, &x, &y, nullptr, nullptr,
+@@ -1163,22 +1250,20 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+ EXPECT_GT(prev_y, y);
+
+ constexpr int kScrollToY = 0;
+- atk_text_scroll_substring_to_point(atk_text, 1, 2, ATK_XY_SCREEN, 0,
+- kScrollToY);
++ ScrollSubstringToPoint(atk_text, 1, 2, ATK_XY_SCREEN, 0, kScrollToY);
+ ASSERT_TRUE(location_changed_waiter.WaitForNotification());
+ atk_text_get_character_extents(atk_text, 1, &x, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+ EXPECT_EQ(kScrollToY, y);
+
+ constexpr int kScrollToY_2 = 243;
+- atk_text_scroll_substring_to_point(atk_text, 1, 2, ATK_XY_SCREEN, 0,
+- kScrollToY_2);
++ ScrollSubstringToPoint(atk_text, 1, 2, ATK_XY_SCREEN, 0, kScrollToY_2);
+ ASSERT_TRUE(location_changed_waiter.WaitForNotification());
+ atk_text_get_character_extents(atk_text, 1, &x, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+ EXPECT_EQ(kScrollToY_2, y);
+
+- atk_text_scroll_substring_to_point(atk_text, 1, 2, ATK_XY_SCREEN, 0, 129);
++ ScrollSubstringToPoint(atk_text, 1, 2, ATK_XY_SCREEN, 0, 129);
+ ASSERT_TRUE(location_changed_waiter.WaitForNotification());
+ atk_text_get_character_extents(atk_text, 1, &x, &y, nullptr, nullptr,
+ ATK_XY_SCREEN);
+@@ -1194,6 +1279,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
+
+ g_object_unref(atk_text);
+ }
++#endif // defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 32, 0)
+
+ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+ // Flaky on crbug.com/1026149
+diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.cc.than chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.cc
+--- chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.cc.than 2025-02-12 02:31:02.000000000 +0100
++++ chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.cc 2025-02-17 17:13:30.972343990 +0100
+@@ -48,14 +48,33 @@
+ #include "ui/accessibility/platform/child_iterator.h"
+ #include "ui/gfx/geometry/rect_conversions.h"
+
+-// Function availability can be tested by checking whether its address is not
+-// nullptr.
+-#define WEAK_ATK_FN(x) extern "C" __attribute__((weak)) decltype(x) x
+-
+-// TODO(https://crbug.com/40549424): This may be removed when support for
+-// Ubuntu 18.04 is dropped.
+-WEAK_ATK_FN(atk_component_scroll_to_point);
+-WEAK_ATK_FN(atk_text_scroll_substring_to_point);
++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 10, 0)
++#define ATK_210
++#endif
++
++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 12, 0)
++#define ATK_212
++#endif
++
++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 16, 0)
++#define ATK_216
++#endif
++
++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 26, 0)
++#define ATK_226
++#endif
++
++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 30, 0)
++#define ATK_230
++#endif
++
++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 32, 0)
++#define ATK_232
++#endif
++
++#if defined(ATK_CHECK_VERSION) && ATK_CHECK_VERSION(2, 34, 0)
++#define ATK_234
++#endif
+
+ namespace ui {
+
+@@ -147,11 +166,29 @@ AtkObject* g_active_top_level_frame = nu
+
+ AtkObject* g_active_views_dialog = nullptr;
+
++#if defined(ATK_216)
+ constexpr AtkRole kStaticRole = ATK_ROLE_STATIC;
+ constexpr AtkRole kSubscriptRole = ATK_ROLE_SUBSCRIPT;
+ constexpr AtkRole kSuperscriptRole = ATK_ROLE_SUPERSCRIPT;
++#else
++constexpr AtkRole kStaticRole = ATK_ROLE_TEXT;
++constexpr AtkRole kSubscriptRole = ATK_ROLE_TEXT;
++constexpr AtkRole kSuperscriptRole = ATK_ROLE_TEXT;
++#endif
+
++#if defined(ATK_226)
+ constexpr AtkRole kAtkFootnoteRole = ATK_ROLE_FOOTNOTE;
++#else
++constexpr AtkRole kAtkFootnoteRole = ATK_ROLE_LIST_ITEM;
++#endif
++
++#if defined(ATK_234)
++constexpr AtkRole kAtkRoleContentDeletion = ATK_ROLE_CONTENT_DELETION;
++constexpr AtkRole kAtkRoleContentInsertion = ATK_ROLE_CONTENT_INSERTION;
++#else
++constexpr AtkRole kAtkRoleContentDeletion = ATK_ROLE_SECTION;
++constexpr AtkRole kAtkRoleContentInsertion = ATK_ROLE_SECTION;
++#endif
+
+ using GetTypeFunc = GType (*)();
+ using GetColumnHeaderCellsFunc = GPtrArray* (*)(AtkTableCell* cell);
+@@ -162,6 +199,11 @@ using GetRowColumnSpanFunc = bool (*)(At
+ gint* row_span,
+ gint* col_span);
+
++static GetTypeFunc g_atk_table_cell_get_type;
++static GetColumnHeaderCellsFunc g_atk_table_cell_get_column_header_cells;
++static GetRowHeaderCellsFunc g_atk_table_cell_get_row_header_cells;
++static GetRowColumnSpanFunc g_atk_table_cell_get_row_column_span;
++
+ // The ATK API often requires pointers to be used as out arguments, while
+ // allowing for those pointers to be null if the caller is not interested in
+ // the value. This function is a simpler helper to avoid continually checking
+@@ -171,35 +213,17 @@ void SetIntPointerValueIfNotNull(int* po
+ *pointer = value;
+ }
+
+-// TODO(https://crbug.com/40549424): This may be removed when support for
+-// Ubuntu 18.04 is dropped.
++#if defined(ATK_230)
+ bool SupportsAtkComponentScrollingInterface() {
+- return atk_component_scroll_to_point;
++ return dlsym(RTLD_DEFAULT, "atk_component_scroll_to_point");
+ }
++#endif
+
+-// TODO(https://crbug.com/40549424): This may be removed when support for
+-// Ubuntu 18.04 is dropped.
++#if defined(ATK_232)
+ bool SupportsAtkTextScrollingInterface() {
+- return atk_text_scroll_substring_to_point;
+-}
+-
+-// TODO(https://crbug.com/40549424): This may be removed when support for
+-// Ubuntu 18.04 is dropped.
+-AtkRole GetAtkRoleContentDeletion() {
+- base::Version atk_version(atk_get_version());
+- return atk_version.CompareTo(base::Version("2.34.0")) >= 0
+- ? ATK_ROLE_CONTENT_DELETION
+- : ATK_ROLE_SECTION;
+-}
+-
+-// TODO(https://crbug.com/40549424): This may be removed when support for
+-// Ubuntu 18.04 is dropped.
+-AtkRole GetAtkRoleContentInsertion() {
+- base::Version atk_version(atk_get_version());
+- return atk_version.CompareTo(base::Version("2.34.0")) >= 0
+- ? ATK_ROLE_CONTENT_INSERTION
+- : ATK_ROLE_SECTION;
++ return dlsym(RTLD_DEFAULT, "atk_text_scroll_substring_to_point");
+ }
++#endif
+
+ AtkObject* FindAtkObjectParentFrame(AtkObject* atk_object) {
+ AXPlatformNodeAuraLinux* node =
+@@ -298,10 +322,12 @@ AXCoordinateSystem AtkCoordTypeToAXCoord
+ return AXCoordinateSystem::kScreenDIPs;
+ case ATK_XY_WINDOW:
+ return AXCoordinateSystem::kRootFrame;
++#if defined(ATK_230)
+ case ATK_XY_PARENT:
+ // AXCoordinateSystem does not support parent coordinates.
+ NOTIMPLEMENTED();
+ return AXCoordinateSystem::kFrame;
++#endif
+ default:
+ return AXCoordinateSystem::kScreenDIPs;
+ }
+@@ -514,6 +540,7 @@ gboolean GrabFocus(AtkComponent* atk_com
+ return obj->GrabFocus();
+ }
+
++#if defined(ATK_230)
+ gboolean ScrollTo(AtkComponent* atk_component, AtkScrollType scroll_type) {
+ g_return_val_if_fail(ATK_IS_COMPONENT(atk_component), FALSE);
+
+@@ -540,6 +567,7 @@ gboolean ScrollToPoint(AtkComponent* atk
+ obj->ScrollToPoint(atk_coord_type, x, y);
+ return TRUE;
+ }
++#endif
+
+ void Init(AtkComponentIface* iface) {
+ iface->get_extents = GetExtents;
+@@ -547,10 +575,12 @@ void Init(AtkComponentIface* iface) {
+ iface->get_size = GetSize;
+ iface->ref_accessible_at_point = RefAccesibleAtPoint;
+ iface->grab_focus = GrabFocus;
++#if defined(ATK_230)
+ if (SupportsAtkComponentScrollingInterface()) {
+ iface->scroll_to = ScrollTo;
+ iface->scroll_to_point = ScrollToPoint;
+ }
++#endif
+ }
+
+ const GInterfaceInfo Info = {reinterpret_cast<GInterfaceInitFunc>(Init),
+@@ -1311,6 +1341,7 @@ gboolean AddSelection(AtkText* atk_text,
+ return SetSelection(atk_text, 0, start_offset, end_offset);
+ }
+
++#if defined(ATK_210)
+ char* GetStringAtOffset(AtkText* atk_text,
+ int offset,
+ AtkTextGranularity atk_granularity,
+@@ -1325,7 +1356,9 @@ char* GetStringAtOffset(AtkText* atk_tex
+ return GetTextWithBoundaryType(atk_text, offset, boundary, start_offset,
+ end_offset);
+ }
++#endif
+
++#if defined(ATK_230)
+ gfx::Rect GetUnclippedParentHypertextRangeBoundsRect(
+ AXPlatformNodeDelegate* ax_platform_node_delegate,
+ const int start_offset,
+@@ -1349,6 +1382,7 @@ gfx::Rect GetUnclippedParentHypertextRan
+ AXClippingBehavior::kClipped)
+ .OffsetFromOrigin();
+ }
++#endif
+
+ void GetCharacterExtents(AtkText* atk_text,
+ int offset,
+@@ -1364,10 +1398,12 @@ void GetCharacterExtents(AtkText* atk_te
+ AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(atk_text));
+ if (obj) {
+ switch (coordinate_type) {
++#if defined(ATK_230)
+ case ATK_XY_PARENT:
+ rect = GetUnclippedParentHypertextRangeBoundsRect(obj->GetDelegate(),
+ offset, offset + 1);
+ break;
++#endif
+ default:
+ rect = obj->GetDelegate()->GetHypertextRangeBoundsRect(
+ obj->UnicodeToUTF16OffsetInText(offset),
+@@ -1403,10 +1439,12 @@ void GetRangeExtents(AtkText* atk_text,
+ AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(atk_text));
+ if (obj) {
+ switch (coordinate_type) {
++#if defined(ATK_230)
+ case ATK_XY_PARENT:
+ rect = GetUnclippedParentHypertextRangeBoundsRect(
+ obj->GetDelegate(), start_offset, end_offset);
+ break;
++#endif
+ default:
+ rect = obj->GetDelegate()->GetHypertextRangeBoundsRect(
+ obj->UnicodeToUTF16OffsetInText(start_offset),
+@@ -1456,6 +1494,7 @@ AtkAttributeSet* GetDefaultAttributes(At
+ return ToAtkAttributeSet(obj->GetDefaultTextAttributes());
+ }
+
++#if defined(ATK_232)
+ gboolean ScrollSubstringTo(AtkText* atk_text,
+ gint start_offset,
+ gint end_offset,
+@@ -1486,6 +1525,7 @@ gboolean ScrollSubstringToPoint(AtkText*
+ return obj->ScrollSubstringToPoint(start_offset, end_offset, atk_coord_type,
+ x, y);
+ }
++#endif // ATK_232
+
+ void Init(AtkTextIface* iface) {
+ iface->get_text = GetText;
+@@ -1508,12 +1548,16 @@ void Init(AtkTextIface* iface) {
+ iface->get_run_attributes = GetRunAttributes;
+ iface->get_default_attributes = GetDefaultAttributes;
+
++#if defined(ATK_210)
+ iface->get_string_at_offset = GetStringAtOffset;
++#endif
+
++#if defined(ATK_232)
+ if (SupportsAtkTextScrollingInterface()) {
+ iface->scroll_substring_to = ScrollSubstringTo;
+ iface->scroll_substring_to_point = ScrollSubstringToPoint;
+ }
++#endif
+ }
+
+ const GInterfaceInfo Info = {reinterpret_cast<GInterfaceInitFunc>(Init),
+@@ -1916,11 +1960,15 @@ const GInterfaceInfo Info = {reinterpret
+
+ } // namespace atk_table
+
++// The ATK table cell interface was added in ATK 2.12.
++#if defined(ATK_212)
++
+ namespace atk_table_cell {
+
+ gint GetColumnSpan(AtkTableCell* cell) {
++ DCHECK(g_atk_table_cell_get_type);
+ g_return_val_if_fail(
+- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), 0);
++ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()), 0);
+
+ if (const AXPlatformNodeBase* obj =
+ AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
+@@ -1932,8 +1980,10 @@ gint GetColumnSpan(AtkTableCell* cell) {
+ }
+
+ GPtrArray* GetColumnHeaderCells(AtkTableCell* cell) {
++ DCHECK(g_atk_table_cell_get_type);
+ g_return_val_if_fail(
+- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), nullptr);
++ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()),
++ nullptr);
+
+ GPtrArray* array = g_ptr_array_new_with_free_func(g_object_unref);
+
+@@ -1967,8 +2017,10 @@ GPtrArray* GetColumnHeaderCells(AtkTable
+ }
+
+ gboolean GetCellPosition(AtkTableCell* cell, gint* row, gint* column) {
++ DCHECK(g_atk_table_cell_get_type);
+ g_return_val_if_fail(
+- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), FALSE);
++ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()),
++ FALSE);
+
+ if (auto* obj = AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
+ std::optional<int> row_index = obj->GetTableRow();
+@@ -1985,8 +2037,9 @@ gboolean GetCellPosition(AtkTableCell* c
+ }
+
+ gint GetRowSpan(AtkTableCell* cell) {
++ DCHECK(g_atk_table_cell_get_type);
+ g_return_val_if_fail(
+- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), 0);
++ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()), 0);
+
+ if (auto* obj = AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
+ // If the object is not a cell, we return 0.
+@@ -1997,8 +2050,10 @@ gint GetRowSpan(AtkTableCell* cell) {
+ }
+
+ GPtrArray* GetRowHeaderCells(AtkTableCell* cell) {
++ DCHECK(g_atk_table_cell_get_type);
+ g_return_val_if_fail(
+- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), nullptr);
++ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()),
++ nullptr);
+
+ GPtrArray* array = g_ptr_array_new_with_free_func(g_object_unref);
+
+@@ -2032,8 +2087,10 @@ GPtrArray* GetRowHeaderCells(AtkTableCel
+ }
+
+ AtkObject* GetTable(AtkTableCell* cell) {
++ DCHECK(g_atk_table_cell_get_type);
+ g_return_val_if_fail(
+- G_TYPE_CHECK_INSTANCE_TYPE((cell), atk_table_cell_get_type()), nullptr);
++ G_TYPE_CHECK_INSTANCE_TYPE((cell), AtkTableCellInterface::GetType()),
++ nullptr);
+
+ if (auto* obj = AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
+ if (auto* table = obj->GetTable())
+@@ -2059,6 +2116,8 @@ const GInterfaceInfo Info = {reinterpret
+
+ } // namespace atk_table_cell
+
++#endif // ATK_212
++
+ namespace atk_object {
+
+ gpointer kAXPlatformNodeAuraLinuxParentClass = nullptr;
+@@ -2325,6 +2384,50 @@ void Detach(AXPlatformNodeAuraLinuxObjec
+
+ } // namespace
+
++// static
++NO_SANITIZE("cfi-icall")
++GType AtkTableCellInterface::GetType() {
++ return g_atk_table_cell_get_type();
++}
++
++// static
++NO_SANITIZE("cfi-icall")
++GPtrArray* AtkTableCellInterface::GetColumnHeaderCells(AtkTableCell* cell) {
++ return g_atk_table_cell_get_column_header_cells(cell);
++}
++
++// static
++NO_SANITIZE("cfi-icall")
++GPtrArray* AtkTableCellInterface::GetRowHeaderCells(AtkTableCell* cell) {
++ return g_atk_table_cell_get_row_header_cells(cell);
++}
++
++// static
++NO_SANITIZE("cfi-icall")
++bool AtkTableCellInterface::GetRowColumnSpan(AtkTableCell* cell,
++ gint* row,
++ gint* column,
++ gint* row_span,
++ gint* col_span) {
++ return g_atk_table_cell_get_row_column_span(cell, row, column, row_span,
++ col_span);
++}
++
++// static
++bool AtkTableCellInterface::Exists() {
++ g_atk_table_cell_get_type = reinterpret_cast<GetTypeFunc>(
++ dlsym(RTLD_DEFAULT, "atk_table_cell_get_type"));
++ g_atk_table_cell_get_column_header_cells =
++ reinterpret_cast<GetColumnHeaderCellsFunc>(
++ dlsym(RTLD_DEFAULT, "atk_table_cell_get_column_header_cells"));
++ g_atk_table_cell_get_row_header_cells =
++ reinterpret_cast<GetRowHeaderCellsFunc>(
++ dlsym(RTLD_DEFAULT, "atk_table_cell_get_row_header_cells"));
++ g_atk_table_cell_get_row_column_span = reinterpret_cast<GetRowColumnSpanFunc>(
++ dlsym(RTLD_DEFAULT, "atk_table_cell_get_row_column_span"));
++ return *g_atk_table_cell_get_type;
++}
++
+ void AXPlatformNodeAuraLinux::EnsureGTypeInit() {
+ #if !GLIB_CHECK_VERSION(2, 36, 0)
+ static bool first_time = true;
+@@ -2432,8 +2535,11 @@ GType AXPlatformNodeAuraLinux::GetAccess
+ g_type_add_interface_static(type, ATK_TYPE_TABLE, &atk_table::Info);
+
+ if (interface_mask_.Implements(ImplementedAtkInterfaces::Value::kTableCell)) {
+- g_type_add_interface_static(type, atk_table_cell_get_type(),
+- &atk_table_cell::Info);
++ // Run-time check to ensure AtkTableCell is supported (requires ATK 2.12).
++ if (AtkTableCellInterface::Exists()) {
++ g_type_add_interface_static(type, AtkTableCellInterface::GetType(),
++ &atk_table_cell::Info);
++ }
+ }
+
+ return type;
+@@ -2668,9 +2774,9 @@ AtkRole AXPlatformNodeAuraLinux::GetAtkR
+ case ax::mojom::Role::kComplementary:
+ return ATK_ROLE_LANDMARK;
+ case ax::mojom::Role::kContentDeletion:
+- return GetAtkRoleContentDeletion();
++ return kAtkRoleContentDeletion;
+ case ax::mojom::Role::kContentInsertion:
+- return GetAtkRoleContentInsertion();
++ return kAtkRoleContentInsertion;
+ case ax::mojom::Role::kContentInfo:
+ case ax::mojom::Role::kFooter:
+ return ATK_ROLE_LANDMARK;
+@@ -3106,12 +3212,14 @@ void AXPlatformNodeAuraLinux::GetAtkStat
+ static_cast<int32_t>(ax::mojom::AriaCurrentState::kFalse)) {
+ atk_state_set_add_state(atk_state_set, ATK_STATE_ACTIVE);
+ }
++#if defined(ATK_216)
+ // Runtime checks in case we were compiled with a newer version of ATK.
+ if (IsPlatformCheckable() && PlatformSupportsState(ATK_STATE_CHECKABLE))
+ atk_state_set_add_state(atk_state_set, ATK_STATE_CHECKABLE);
+ if (HasIntAttribute(ax::mojom::IntAttribute::kHasPopup) &&
+ PlatformSupportsState(ATK_STATE_HAS_POPUP))
+ atk_state_set_add_state(atk_state_set, ATK_STATE_HAS_POPUP);
++#endif
+ if (GetBoolAttribute(ax::mojom::BoolAttribute::kBusy))
+ atk_state_set_add_state(atk_state_set, ATK_STATE_BUSY);
+ if (GetBoolAttribute(ax::mojom::BoolAttribute::kModal))
+@@ -3150,9 +3258,11 @@ void AXPlatformNodeAuraLinux::GetAtkStat
+ if (GetData().GetRestriction() != ax::mojom::Restriction::kDisabled) {
+ if (GetDelegate()->IsReadOnlySupported() &&
+ GetDelegate()->IsReadOnlyOrDisabled()) {
++#if defined(ATK_216)
+ // Runtime check in case we were compiled with a newer version of ATK.
+ if (PlatformSupportsState(ATK_STATE_READ_ONLY))
+ atk_state_set_add_state(atk_state_set, ATK_STATE_READ_ONLY);
++#endif
+ } else {
+ atk_state_set_add_state(atk_state_set, ATK_STATE_ENABLED);
+ atk_state_set_add_state(atk_state_set, ATK_STATE_SENSITIVE);
+@@ -3186,12 +3296,16 @@ struct AtkIntListRelation {
+ static AtkIntListRelation kIntListRelations[] = {
+ {ax::mojom::IntListAttribute::kControlsIds, ATK_RELATION_CONTROLLER_FOR,
+ ATK_RELATION_CONTROLLED_BY},
++#if defined(ATK_226)
+ {ax::mojom::IntListAttribute::kDetailsIds, ATK_RELATION_DETAILS,
+ ATK_RELATION_DETAILS_FOR},
++#endif
+ {ax::mojom::IntListAttribute::kDescribedbyIds, ATK_RELATION_DESCRIBED_BY,
+ ATK_RELATION_DESCRIPTION_FOR},
++#if defined(ATK_226)
+ {ax::mojom::IntListAttribute::kErrormessageIds, ATK_RELATION_ERROR_MESSAGE,
+ ATK_RELATION_ERROR_FOR},
++#endif
+ {ax::mojom::IntListAttribute::kFlowtoIds, ATK_RELATION_FLOWS_TO,
+ ATK_RELATION_FLOWS_FROM},
+ {ax::mojom::IntListAttribute::kLabelledbyIds, ATK_RELATION_LABELLED_BY,
+@@ -3982,6 +4096,7 @@ void AXPlatformNodeAuraLinux::OnReadonly
+ if (!obj)
+ return;
+
++#if defined(ATK_216)
+ // Runtime check in case we were compiled with a newer version of ATK.
+ if (!PlatformSupportsState(ATK_STATE_READ_ONLY))
+ return;
+@@ -3989,6 +4104,7 @@ void AXPlatformNodeAuraLinux::OnReadonly
+ atk_object_notify_state_change(
+ obj, ATK_STATE_READ_ONLY,
+ GetData().GetRestriction() == ax::mojom::Restriction::kReadOnly);
++#endif
+ }
+
+ void AXPlatformNodeAuraLinux::OnInvalidStatusChanged() {
+@@ -4315,11 +4431,13 @@ gfx::Rect AXPlatformNodeAuraLinux::GetEx
+ extents.Offset(window_origin);
+ break;
+ }
++#if defined(ATK_230)
+ case ATK_XY_PARENT: {
+ gfx::Vector2d parent_origin = -GetParentOriginInScreenCoordinates();
+ extents.Offset(parent_origin);
+ break;
+ }
++#endif
+ }
+
+ return extents;
+@@ -4761,6 +4879,7 @@ bool AXPlatformNodeAuraLinux::IsInLiveRe
+ return HasStringAttribute(ax::mojom::StringAttribute::kContainerLiveStatus);
+ }
+
++#if defined(ATK_230)
+ void AXPlatformNodeAuraLinux::ScrollToPoint(AtkCoordType atk_coord_type,
+ int x,
+ int y) {
+@@ -4833,7 +4952,9 @@ void AXPlatformNodeAuraLinux::ScrollNode
+ rect -= rect.OffsetFromOrigin();
+ ScrollNodeRectIntoView(rect, atk_scroll_type);
+ }
++#endif // defined(ATK_230)
+
++#if defined(ATK_232)
+ std::optional<gfx::Rect>
+ AXPlatformNodeAuraLinux::GetUnclippedHypertextRangeBoundsRect(int start_offset,
+ int end_offset) {
+@@ -4892,6 +5013,7 @@ bool AXPlatformNodeAuraLinux::ScrollSubs
+
+ return true;
+ }
++#endif // defined(ATK_232)
+
+ void AXPlatformNodeAuraLinux::ComputeStylesIfNeeded() {
+ if (!offset_to_text_attributes_.empty())
+@@ -5074,8 +5196,10 @@ gfx::Point AXPlatformNodeAuraLinux::Conv
+ switch (atk_coord_type) {
+ case ATK_XY_WINDOW:
+ return point + GetParentFrameOriginInScreenCoordinates();
++#if defined(ATK_230)
+ case ATK_XY_PARENT:
+ return point + GetParentOriginInScreenCoordinates();
++#endif
+ case ATK_XY_SCREEN:
+ default:
+ return point;
+diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.h.than chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.h
+--- chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.h.than 2025-02-12 02:31:02.000000000 +0100
++++ chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.h 2025-02-17 17:13:30.973344015 +0100
+@@ -52,6 +52,31 @@ struct FindInPageResultInfo {
+ }
+ };
+
++// AtkTableCell was introduced in ATK 2.12. Ubuntu Trusty has ATK 2.10.
++// Compile-time checks are in place for ATK versions that are older than 2.12.
++// However, we also need runtime checks in case the version we are building
++// against is newer than the runtime version. To prevent a runtime error, we
++// check that we have a version of ATK that supports AtkTableCell. If we do,
++// we dynamically load the symbol; if we don't, the interface is absent from
++// the accessible object and its methods will not be exposed or callable.
++// The definitions below ensure we have no missing symbols. Note that in
++// environments where we have ATK > 2.12, the definitions of AtkTableCell and
++// AtkTableCellIface below are overridden by the runtime version.
++// TODO(accessibility) Remove AtkTableCellInterface when 2.12 is the minimum
++// supported version.
++struct COMPONENT_EXPORT(AX_PLATFORM) AtkTableCellInterface {
++ typedef struct _AtkTableCell AtkTableCell;
++ static GType GetType();
++ static GPtrArray* GetColumnHeaderCells(AtkTableCell* cell);
++ static GPtrArray* GetRowHeaderCells(AtkTableCell* cell);
++ static bool GetRowColumnSpan(AtkTableCell* cell,
++ gint* row,
++ gint* column,
++ gint* row_span,
++ gint* col_span);
++ static bool Exists();
++};
++
+ // This class with an enum is used to generate a bitmask which tracks the ATK
+ // interfaces that an AXPlatformNodeAuraLinux's ATKObject implements.
+ class ImplementedAtkInterfaces {
+diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc.than chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc
+--- chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc.than 2025-02-12 02:31:02.000000000 +0100
++++ chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc 2025-02-17 17:13:30.973344015 +0100
+@@ -11,6 +11,7 @@
+
+ #include <atk/atk.h>
+
++#include <dlfcn.h>
+ #include <array>
+ #include <utility>
+ #include <vector>
+@@ -887,6 +888,17 @@ typedef bool (*ScrollToPointFunc)(AtkCom
+ typedef bool (*ScrollToFunc)(AtkComponent* component, AtkScrollType type);
+
+ TEST_F(AXPlatformNodeAuraLinuxTest, AtkComponentScrollToPoint) {
++ // There's a chance we may be compiled with a newer version of ATK and then
++ // run with an older one, so we need to do a runtime check for this method
++ // that is available in ATK 2.30 instead of linking directly.
++ ScrollToPointFunc scroll_to_point = reinterpret_cast<ScrollToPointFunc>(
++ dlsym(RTLD_DEFAULT, "atk_component_scroll_to_point"));
++ if (!scroll_to_point) {
++ LOG(WARNING) << "Skipping AtkComponentScrollToPoint"
++ " because ATK version < 2.30 detected.";
++ return;
++ }
++
+ AXNodeData root;
+ root.id = 1;
+ root.role = ax::mojom::Role::kRootWebArea;
+@@ -914,8 +926,7 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC
+ EXPECT_EQ(10, width);
+ EXPECT_EQ(10, height);
+
+- atk_component_scroll_to_point(ATK_COMPONENT(child_obj), ATK_XY_SCREEN, 600,
+- 650);
++ scroll_to_point(ATK_COMPONENT(child_obj), ATK_XY_SCREEN, 600, 650);
+ atk_component_get_extents(ATK_COMPONENT(child_obj), &x_left, &y_top, &width,
+ &height, ATK_XY_SCREEN);
+ EXPECT_EQ(610, x_left);
+@@ -923,8 +934,7 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC
+ EXPECT_EQ(10, width);
+ EXPECT_EQ(10, height);
+
+- atk_component_scroll_to_point(ATK_COMPONENT(child_obj), ATK_XY_PARENT, 10,
+- 10);
++ scroll_to_point(ATK_COMPONENT(child_obj), ATK_XY_PARENT, 10, 10);
+ atk_component_get_extents(ATK_COMPONENT(child_obj), &x_left, &y_top, &width,
+ &height, ATK_XY_SCREEN);
+ // The test wrapper scrolls every element when scrolling, so this should be
+@@ -941,6 +951,17 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC
+ }
+
+ TEST_F(AXPlatformNodeAuraLinuxTest, AtkComponentScrollTo) {
++ // There's a chance we may be compiled with a newer version of ATK and then
++ // run with an older one, so we need to do a runtime check for this method
++ // that is available in ATK 2.30 instead of linking directly.
++ ScrollToFunc scroll_to = reinterpret_cast<ScrollToFunc>(
++ dlsym(RTLD_DEFAULT, "atk_component_scroll_to"));
++ if (!scroll_to) {
++ LOG(WARNING) << "Skipping AtkComponentScrollTo"
++ " because ATK version < 2.30 detected.";
++ return;
++ }
++
+ AXNodeData root;
+ root.id = 1;
+ root.role = ax::mojom::Role::kRootWebArea;
+@@ -968,7 +989,7 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC
+ EXPECT_EQ(10, width);
+ EXPECT_EQ(10, height);
+
+- atk_component_scroll_to(ATK_COMPONENT(child_obj), ATK_SCROLL_ANYWHERE);
++ scroll_to(ATK_COMPONENT(child_obj), ATK_SCROLL_ANYWHERE);
+ atk_component_get_extents(ATK_COMPONENT(child_obj), &x_left, &y_top, &width,
+ &height, ATK_XY_SCREEN);
+ EXPECT_EQ(0, x_left);
+diff -up chromium-134.0.6998.15/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc.than chromium-134.0.6998.15/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc
+--- chromium-134.0.6998.15/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc.than 2025-02-12 02:31:02.000000000 +0100
++++ chromium-134.0.6998.15/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc 2025-02-17 17:13:30.974344040 +0100
+@@ -474,18 +474,34 @@ void AXTreeFormatterAuraLinux::AddTableC
+ int row = 0, col = 0, row_span = 0, col_span = 0;
+ int n_row_headers = 0, n_column_headers = 0;
+
+- AtkTableCell* cell = G_TYPE_CHECK_INSTANCE_CAST(
+- (atk_object), atk_table_cell_get_type(), AtkTableCell);
++ // Properties obtained via AtkTableCell, if possible. If we do not have at
++ // least ATK 2.12, use the same logic in our AtkTableCell implementation so
++ // that tests can still be run.
++ if (AtkTableCellInterface::Exists()) {
++ AtkTableCell* cell = G_TYPE_CHECK_INSTANCE_CAST(
++ (atk_object), AtkTableCellInterface::GetType(), AtkTableCell);
+
+- atk_table_cell_get_row_column_span(cell, &row, &col, &row_span, &col_span);
++ AtkTableCellInterface::GetRowColumnSpan(cell, &row, &col, &row_span,
++ &col_span);
+
+- GPtrArray* column_headers = atk_table_cell_get_column_header_cells(cell);
+- n_column_headers = column_headers->len;
+- g_ptr_array_unref(column_headers);
++ GPtrArray* column_headers =
++ AtkTableCellInterface::GetColumnHeaderCells(cell);
++ n_column_headers = column_headers->len;
++ g_ptr_array_unref(column_headers);
+
+- GPtrArray* row_headers = atk_table_cell_get_row_header_cells(cell);
+- n_row_headers = row_headers->len;
+- g_ptr_array_unref(row_headers);
++ GPtrArray* row_headers = AtkTableCellInterface::GetRowHeaderCells(cell);
++ n_row_headers = row_headers->len;
++ g_ptr_array_unref(row_headers);
++ } else {
++ row = node->GetTableRow().value_or(-1);
++ col = node->GetTableColumn().value_or(-1);
++ row_span = node->GetTableRowSpan().value_or(0);
++ col_span = node->GetTableColumnSpan().value_or(0);
++ if (role == ATK_ROLE_TABLE_CELL) {
++ n_column_headers = node->GetDelegate()->GetColHeaderNodeIds(col).size();
++ n_row_headers = node->GetDelegate()->GetRowHeaderNodeIds(row).size();
++ }
++ }
+
+ std::vector<std::string> cell_info;
+ cell_info.push_back(base::StringPrintf("row=%i", row));
diff --git a/chromium-134-rust-libadler2.patch b/chromium-134-rust-libadler2.patch
new file mode 100644
index 0000000..cada806
--- /dev/null
+++ b/chromium-134-rust-libadler2.patch
@@ -0,0 +1,14 @@
+Fix warning: libadler2 not found
+
+diff -up chromium-134.0.6998.23/build/rust/std/BUILD.gn.than chromium-134.0.6998.23/build/rust/std/BUILD.gn
+--- chromium-134.0.6998.23/build/rust/std/BUILD.gn.than 2025-02-24 09:47:57.560506410 +0100
++++ chromium-134.0.6998.23/build/rust/std/BUILD.gn 2025-02-24 09:48:02.335676712 +0100
+@@ -89,7 +89,7 @@ if (toolchain_has_rust) {
+ # These are no longer present in the Windows toolchain.
+ stdlib_files += [
+ "addr2line",
+- "adler2",
++ "adler",
+ "gimli",
+ "libc",
+ "memchr",
diff --git a/chromium-134-type-mismatch-error.patch b/chromium-134-type-mismatch-error.patch
new file mode 100644
index 0000000..19d263c
--- /dev/null
+++ b/chromium-134-type-mismatch-error.patch
@@ -0,0 +1,13 @@
+diff -up chromium-134.0.6998.23/base/containers/to_value_list.h.me chromium-134.0.6998.23/base/containers/to_value_list.h
+--- chromium-134.0.6998.23/base/containers/to_value_list.h.me 2025-02-23 22:39:33.369668072 +0100
++++ chromium-134.0.6998.23/base/containers/to_value_list.h 2025-02-23 22:42:42.653990901 +0100
+@@ -36,8 +36,7 @@ Value::List ToValueList(Range&& range, P
+ auto container = Value::List::with_capacity(std::ranges::size(range));
+ std::ranges::for_each(
+ std::forward<Range>(range),
+- [&]<typename T>(T&& value) { container.Append(std::forward<T>(value)); },
+- std::move(proj));
++ [&](auto&& value) { container.Append(std::invoke(proj, std::forward<decltype(*std::ranges::begin(range))>(value))); });
+ return container;
+ }
+
diff --git a/chromium.spec b/chromium.spec
index 8e2a531..35d216a 100644
--- a/chromium.spec
+++ b/chromium.spec
@@ -152,14 +152,14 @@
%if %{enable_qt}
%if 0%{?rhel} > 9 || 0%{?fedora} > 39
%global use_qt6 1
-%global use_qt 1
+%global use_qt5 1
%else
%global use_qt6 0
-%global use_qt 1
+%global use_qt5 1
%endif
%else
%global use_qt6 0
-%global use_qt 0
+%global use_qt5 0
%endif
# bundle re2, jsoncpp, woff2 - build errors with use_custom_libcxx=true
@@ -261,7 +261,7 @@
%endif
Name: chromium
-Version: 133.0.6943.141
+Version: 134.0.6998.35
Release: 1%{?dist}
Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
Url: http://www.chromium.org/Home
@@ -321,7 +321,7 @@ Patch305: chromium-124-el8-arm64-memory_tagging.patch
Patch306: chromium-127-el8-ifunc-header.patch
# workaround for build error due to old atk version on el8
-Patch307: chromium-133-el8-atk-compiler-error.patch
+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
Patch309: chromium-132-el8-unsupport-rustc-flags.patch
@@ -330,12 +330,16 @@ Patch311: chromium-133-clang18-template.patch
# enable fstack-protector-strong
Patch312: chromium-123-fstack-protector-strong.patch
+
# build error stdarch_arm_crc32
Patch313: chromium-133-rust-crc32fast.patch
# warning: unknown warning option '-Wno-nontrivial-memcall'
Patch314: chromium-134-clang-unknown-option.patch
+# build error: libadler2 not found
+Patch315: chromium-134-rust-libadler2.patch
+
# add -ftrivial-auto-var-init=zero and -fwrapv
Patch316: chromium-122-clang-build-flags.patch
@@ -343,6 +347,7 @@ Patch316: chromium-122-clang-build-flags.patch
# https://bugs.chromium.org/p/chromium/issues/detail?id=1145581#c60
# Disable BTI until this is fixed upstream.
Patch352: chromium-117-workaround_for_crash_on_BTI_capable_system.patch
+
# workaround for build error on aarch64
Patch353: chromium-127-aarch64-duplicate-case-value.patch
@@ -355,6 +360,9 @@ 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
+
# set clang_lib path
Patch358: chromium-127-rust-clanglib.patch
@@ -526,7 +534,7 @@ BuildRequires: glib2-devel
BuildRequires: glibc-devel
BuildRequires: gperf
-%if %{use_qt}
+%if %{use_qt5}
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Widgets)
%endif
@@ -1031,8 +1039,8 @@ Qt6 UI for chromium.
%patch -P313 -p1 -b .rust-crc32fast
%endif
%endif
-
%patch -P314 -p1 -b .clang-unknown-option
+%patch -P315 -p1 -b .rust-libadler2
%patch -P316 -p1 -b .clang-build-flags
%if %{disable_bti}
@@ -1053,6 +1061,8 @@ Qt6 UI for chromium.
%patch -P356 -p1 -b .pipewire-cast
%endif
+%patch -P357 -p1 -b .type-mismatch-error
+
%patch -P358 -p1 -b .rust-clang_lib
%ifarch ppc64le
@@ -1313,10 +1323,10 @@ CHROMIUM_BROWSER_GN_DEFINES+=' rtc_use_h264=false'
%endif
CHROMIUM_BROWSER_GN_DEFINES+=' use_kerberos=true'
-%if %{use_qt}
-CHROMIUM_BROWSER_GN_DEFINES+=" use_qt=true moc_qt5_path=\"$(%{_qt5_qmake} -query QT_HOST_BINS)\""
+%if %{use_qt5}
+CHROMIUM_BROWSER_GN_DEFINES+=" use_qt5=true moc_qt5_path=\"$(%{_qt5_qmake} -query QT_HOST_BINS)\""
%else
-CHROMIUM_BROWSER_GN_DEFINES+=' use_qt=false'
+CHROMIUM_BROWSER_GN_DEFINES+=' use_qt5=false'
%endif
%if %{use_qt6}
@@ -1378,7 +1388,7 @@ CHROMIUM_HEADLESS_GN_DEFINES+=' v8_use_external_startup_data=false enable_print_
CHROMIUM_HEADLESS_GN_DEFINES+=' use_alsa=false use_bluez=false use_cups=false use_dbus=false use_gio=false use_kerberos=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' use_libpci=false use_pulseaudio=false use_udev=false rtc_use_pipewire=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' v8_enable_lazy_source_positions=false use_glib=false use_gtk=false use_pangocairo=false'
-CHROMIUM_HEADLESS_GN_DEFINES+=' use_qt=false use_qt6=false is_component_build=false enable_ffmpeg_video_decoders=false media_use_ffmpeg=false'
+CHROMIUM_HEADLESS_GN_DEFINES+=' use_qt5=false use_qt6=false is_component_build=false enable_ffmpeg_video_decoders=false media_use_ffmpeg=false'
CHROMIUM_HEADLESS_GN_DEFINES+=' media_use_libvpx=false proprietary_codecs=false'
export CHROMIUM_HEADLESS_GN_DEFINES
@@ -1556,7 +1566,7 @@ pushd %{chromebuilddir}
# This is ANGLE, not to be confused with the similarly named files under swiftshader/
cp -a libEGL.so libGLESv2.so %{buildroot}%{chromium_path}
- %if %{use_qt}
+ %if %{use_qt5}
cp -a libqt5_shim.so %{buildroot}%{chromium_path}
%endif
@@ -1649,7 +1659,7 @@ fi
%{_datadir}/appdata/*.appdata.xml
%{_datadir}/gnome-control-center/default-apps/chromium-browser.xml
-%if %{use_qt}
+%if %{use_qt5}
%files qt5-ui
%{chromium_path}/libqt5_shim.so
%endif
@@ -1752,6 +1762,18 @@ fi
%endif
%changelog
+* Wed Mar 05 2025 Than Ngo <than@redhat.com> - 134.0.6998.35 -1
+- Update to 134.0.6998.35
+ * CVE-2025-1914: Out of bounds read in V8
+ * CVE-2025-1915: Improper Limitation of a Pathname to a Restricted Directory in DevTools
+ * CVE-2025-1916: Use after free in Profiles
+ * CVE-2025-1917: Inappropriate Implementation in Browser UI
+ * CVE-2025-1918: Out of bounds read in PDFium
+ * CVE-2025-1919: Out of bounds read in Media
+ * CVE-2025-1921: Inappropriate Implementation in Media Stream
+ * CVE-2025-1922: Inappropriate Implementation in Selection
+ * CVE-2025-1923: Inappropriate Implementation in Permission Prompts
+
* Wed Feb 26 2025 Than Ngo <than@redhat.com> - 133.0.6943.141-1
- Update to 133.0.6943.141
diff --git a/skia-vsx-instructions.patch b/skia-vsx-instructions.patch
index d78d6cd..faac39f 100644
--- a/skia-vsx-instructions.patch
+++ b/skia-vsx-instructions.patch
@@ -1,7 +1,7 @@
-Index: chromium-132.0.6834.83/third_party/skia/BUILD.gn
+Index: chromium-134.0.6998.35/third_party/skia/BUILD.gn
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/BUILD.gn
-+++ chromium-132.0.6834.83/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
@@ -193,6 +193,12 @@ opts("lasx") {
cflags = [ "-mlasx" ]
}
@@ -15,7 +15,7 @@ Index: chromium-132.0.6834.83/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) {
-@@ -1601,6 +1607,7 @@ skia_component("skia") {
+@@ -1642,6 +1648,7 @@ skia_component("skia") {
":skx",
":typeface_fontations",
":vello",
@@ -23,7 +23,7 @@ Index: chromium-132.0.6834.83/third_party/skia/BUILD.gn
":webp_decode",
":wuffs",
":xml",
-@@ -1772,7 +1779,10 @@ skia_static_library("pathkit") {
+@@ -1813,7 +1820,10 @@ skia_static_library("pathkit") {
public_configs = [ ":skia_public" ]
configs = skia_library_configs
@@ -35,11 +35,11 @@ Index: chromium-132.0.6834.83/third_party/skia/BUILD.gn
sources = []
sources += skia_pathops_sources
-Index: chromium-132.0.6834.83/third_party/skia/gn/skia/BUILD.gn
+Index: chromium-134.0.6998.35/third_party/skia/gn/skia/BUILD.gn
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/gn/skia/BUILD.gn
-+++ chromium-132.0.6834.83/third_party/skia/gn/skia/BUILD.gn
-@@ -167,6 +167,8 @@ config("default") {
+--- 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") {
"-mfpmath=sse",
]
ldflags += [ "-m32" ]
@@ -48,10 +48,10 @@ Index: chromium-132.0.6834.83/third_party/skia/gn/skia/BUILD.gn
} else if (current_cpu == "loong64") {
cflags += [
"-mlsx",
-Index: chromium-132.0.6834.83/third_party/skia/include/core/SkTypes.h
+Index: chromium-134.0.6998.35/third_party/skia/include/core/SkTypes.h
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/include/core/SkTypes.h
-+++ chromium-132.0.6834.83/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
*/
static constexpr uint32_t SK_InvalidUniqueID = 0;
@@ -96,10 +96,10 @@ Index: chromium-132.0.6834.83/third_party/skia/include/core/SkTypes.h
+#endif
+
#endif
-Index: chromium-132.0.6834.83/third_party/skia/src/base/SkSpinlock.cpp
+Index: chromium-134.0.6998.35/third_party/skia/src/base/SkSpinlock.cpp
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/src/base/SkSpinlock.cpp
-+++ chromium-132.0.6834.83/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
@@ -33,7 +33,8 @@
#endif
@@ -110,10 +110,10 @@ Index: chromium-132.0.6834.83/third_party/skia/src/base/SkSpinlock.cpp
#include <emmintrin.h>
static void do_pause() { _mm_pause(); }
#else
-Index: chromium-132.0.6834.83/third_party/skia/src/opts/SkBitmapProcState_opts.h
+Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkBitmapProcState_opts.h
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h
-+++ chromium-132.0.6834.83/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
@@ -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-132.0.6834.83/third_party/skia/src/opts/SkBitmapProcState_opts.h
#include <immintrin.h>
#elif defined(SK_ARM_HAS_NEON)
#include <arm_neon.h>
-Index: chromium-132.0.6834.83/third_party/skia/src/opts/SkBlitRow_opts.h
+Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkBlitRow_opts.h
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/src/opts/SkBlitRow_opts.h
-+++ chromium-132.0.6834.83/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
@@ -69,7 +69,7 @@
#endif
@@ -142,10 +142,10 @@ Index: chromium-132.0.6834.83/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-132.0.6834.83/third_party/skia/src/opts/SkRasterPipeline_opts.h
+Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkRasterPipeline_opts.h
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h
-+++ chromium-132.0.6834.83/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
@@ -1,5 +1,6 @@
/*
* Copyright 2018 Google Inc.
@@ -171,7 +171,7 @@ Index: chromium-132.0.6834.83/third_party/skia/src/opts/SkRasterPipeline_opts.h
#elif defined(SKRP_CPU_LASX)
#include <lasxintrin.h>
#include <lsxintrin.h>
-@@ -195,6 +200,184 @@ namespace SK_OPTS_NS {
+@@ -194,6 +199,184 @@ namespace SK_OPTS_NS {
ptr[3] = a;
}
@@ -356,7 +356,7 @@ Index: chromium-132.0.6834.83/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 >;
-@@ -1401,6 +1584,15 @@ SI F from_half(U16 h) {
+@@ -1383,6 +1566,15 @@ SI F from_half(U16 h) {
#elif defined(SKRP_CPU_HSW)
return _mm256_cvtph_ps((__m128i)h);
@@ -372,7 +372,7 @@ Index: chromium-132.0.6834.83/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),
-@@ -1424,6 +1616,16 @@ SI U16 to_half(F f) {
+@@ -1406,6 +1598,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-132.0.6834.83/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),
-@@ -1499,7 +1701,7 @@ static constexpr size_t N = sizeof(F) /
+@@ -1481,7 +1683,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-132.0.6834.83/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
-@@ -5481,6 +5683,10 @@ SI F sqrt_(F x) {
+@@ -5470,6 +5672,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-132.0.6834.83/third_party/skia/src/opts/SkRasterPipeline_opts.h
#elif defined(SKRP_CPU_LASX)
__m256 lo,hi;
split(x, &lo,&hi);
-@@ -5512,6 +5718,10 @@ SI F floor_(F x) {
+@@ -5501,6 +5707,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-132.0.6834.83/third_party/skia/src/opts/SkRasterPipeline_opts.h
#elif defined(SKRP_CPU_LASX)
__m256 lo,hi;
split(x, &lo,&hi);
-@@ -5531,6 +5741,7 @@ SI F floor_(F x) {
+@@ -5520,6 +5730,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-132.0.6834.83/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);
-@@ -5542,6 +5753,22 @@ SI I16 scaled_mult(I16 a, I16 b) {
+@@ -5531,6 +5742,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-132.0.6834.83/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);
-@@ -5569,7 +5796,26 @@ SI U16 constrained_add(I16 a, U16 b) {
+@@ -5558,7 +5785,26 @@ SI U16 constrained_add(I16 a, U16 b) {
SkASSERT(-ib <= ia && ia <= 65535 - ib);
}
#endif
@@ -478,7 +478,7 @@ Index: chromium-132.0.6834.83/third_party/skia/src/opts/SkRasterPipeline_opts.h
}
SI F fract(F x) { return x - floor_(x); }
-@@ -6582,8 +6828,14 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
+@@ -6571,8 +6817,14 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
// 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-132.0.6834.83/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
-@@ -6595,7 +6847,12 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
+@@ -6584,7 +6836,12 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
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-132.0.6834.83/third_party/skia/src/opts/SkRasterPipeline_opts.h
};
const uint32_t* ptr;
-@@ -6629,9 +6886,15 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
+@@ -6618,9 +6875,15 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
I16 width = (I16)bottom - (I16)top;
U16 middle = bottom + top;
// Add + 0x80 for rounding.
@@ -523,10 +523,10 @@ Index: chromium-132.0.6834.83/third_party/skia/src/opts/SkRasterPipeline_opts.h
};
r = lerpY(topR, bottomR);
-Index: chromium-132.0.6834.83/third_party/skia/src/base/SkVx.h
+Index: chromium-134.0.6998.35/third_party/skia/src/base/SkVx.h
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/src/base/SkVx.h
-+++ chromium-132.0.6834.83/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
@@ -41,7 +41,12 @@
#endif
@@ -541,10 +541,10 @@ Index: chromium-132.0.6834.83/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-132.0.6834.83/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
+Index: chromium-134.0.6998.35/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
-+++ chromium-132.0.6834.83/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
@@ -9,7 +9,7 @@
#include "src/core/SkBlitMask.h"
#include "src/core/SkOptsTargets.h"
@@ -554,10 +554,10 @@ Index: chromium-132.0.6834.83/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-132.0.6834.83/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
+Index: chromium-134.0.6998.35/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
-+++ chromium-132.0.6834.83/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
@@ -10,7 +10,7 @@
#include "src/core/SkOptsTargets.h"
#include "src/core/SkSwizzlePriv.h"
@@ -567,10 +567,10 @@ Index: chromium-132.0.6834.83/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-132.0.6834.83/third_party/skia/src/core/SkBlitMask_opts.cpp
+Index: chromium-134.0.6998.35/third_party/skia/src/core/SkBlitMask_opts.cpp
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/src/core/SkBlitMask_opts.cpp
-+++ chromium-132.0.6834.83/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
@@ -25,7 +25,7 @@ namespace SkOpts {
static bool init() {
#if defined(SK_ENABLE_OPTIMIZE_SIZE)
@@ -580,10 +580,10 @@ Index: chromium-132.0.6834.83/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-132.0.6834.83/third_party/skia/src/core/SkBitmapProcState_opts.cpp
+Index: chromium-134.0.6998.35/third_party/skia/src/core/SkBitmapProcState_opts.cpp
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp
-+++ chromium-132.0.6834.83/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
@@ -27,7 +27,7 @@ namespace SkOpts {
static bool init() {
#if defined(SK_ENABLE_OPTIMIZE_SIZE)
@@ -593,10 +593,10 @@ Index: chromium-132.0.6834.83/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-132.0.6834.83/third_party/skia/src/core/SkCpu.h
+Index: chromium-134.0.6998.35/third_party/skia/src/core/SkCpu.h
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/src/core/SkCpu.h
-+++ chromium-132.0.6834.83/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
@@ -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-132.0.6834.83/third_party/skia/src/core/SkCpu.h
#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1
features |= SSE1;
#endif
-Index: chromium-132.0.6834.83/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
+Index: chromium-134.0.6998.35/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
-+++ chromium-132.0.6834.83/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
@@ -8,7 +8,7 @@
#include "include/private/base/SkFeatures.h"
#include "src/core/SkOptsTargets.h"
@@ -619,10 +619,10 @@ Index: chromium-132.0.6834.83/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-132.0.6834.83/third_party/skia/include/private/base/SkFeatures.h
+Index: chromium-134.0.6998.35/third_party/skia/include/private/base/SkFeatures.h
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/include/private/base/SkFeatures.h
-+++ chromium-132.0.6834.83/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
@@ -63,6 +63,8 @@
#if defined(__i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64)
@@ -632,10 +632,10 @@ Index: chromium-132.0.6834.83/third_party/skia/include/private/base/SkFeatures.h
#endif
#if defined(__loongarch__) || defined (__loongarch64)
-Index: chromium-132.0.6834.83/third_party/skia/src/opts/SkSwizzler_opts.inc
+Index: chromium-134.0.6998.35/third_party/skia/src/opts/SkSwizzler_opts.inc
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/src/opts/SkSwizzler_opts.inc
-+++ chromium-132.0.6834.83/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
@@ -14,7 +14,10 @@
#include <cmath>
#include <utility>
@@ -682,11 +682,11 @@ Index: chromium-132.0.6834.83/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-132.0.6834.83/third_party/skia/src/core/SkBlitter_ARGB32.cpp
+Index: chromium-134.0.6998.35/third_party/skia/src/core/SkBlitter_ARGB32.cpp
===================================================================
---- chromium-132.0.6834.83.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp
-+++ chromium-132.0.6834.83/third_party/skia/src/core/SkBlitter_ARGB32.cpp
-@@ -126,6 +126,16 @@ static inline SkPMColor blend_lcd16_opaq
+--- 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
+@@ -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 ca2a4a0..797f403 100644
--- a/sources
+++ b/sources
@@ -2,4 +2,4 @@ SHA512 (node-v20.6.1-linux-arm64.tar.xz) = adfcaf2c22614797fd69fb46d94c1cbf64dea
SHA512 (node-v20.6.1-linux-x64.tar.xz) = 7e15c05041a9a50f0046266aadb2e092a5aefbec19be1c7c809471add520cb57c7df3c47d88b1888b29bf2979dca3c92adddfd965370fa2a9da4ea02186464fd
SHA512 (linux-arm64-0.19.2.tgz) = 8a0d8fec6786fffcd6954d00820037a55d61e60762c74300df0801f8db27057562c221a063bedfb8df56af9ba80abb366336987e881782c5996e6f871abd3dc6
SHA512 (linux-x64-0.19.2.tgz) = a31cc74c4bfa54f9b75d735a1cfc944d3b5efb7c06bfba9542da9a642ae0b2d235ea00ae84d3ad0572c406405110fe7b61377af0fd15803806ef78d20fc6f05d
-SHA512 (chromium-133.0.6943.141-clean.tar.xz) = 3e9a04b9168db93a523d538bdff0b9f35dc697b0006dd0e74e897f5f2df5a9e461e9c6067fadbb6ec907ee31edcf80f3f95ef19750bf12961b3f20436f91fe46
+SHA512 (chromium-134.0.6998.35-clean.tar.xz) = 8491cc3362faad817f2175d0d5f1d4c78a27186c6dbfde681682ca9a0da45487837fa7bc259c37edbfa7863ee95ca55351e1d36d3fe4cfefef5e246f55688976
^ 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 134.0.6998.35 Than Ngo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox