Compare commits

..

No commits in common. "rawhide" and "f39" have entirely different histories.

118 changed files with 8623 additions and 127616 deletions

5
.gitignore vendored
View file

@ -38,8 +38,3 @@
/v0.69.4.tar.gz
/bindgen-cli-aarch64.tar.xz
/bindgen-cli-x86_64.tar.xz
/linux-ppc64-0.19.2.tgz
/node-v22.14.0-linux-arm64.tar.xz
/node-v22.14.0-linux-ppc64le.tar.xz
/node-v22.14.0-linux-x64.tar.xz
/node-v22.14.0-stripped.tar.gz

View file

@ -1,7 +1,7 @@
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/abi_self_test.cc
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/abi_self_test.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/abi_self_test.cc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/abi_self_test.cc
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/abi_self_test.cc
+++ chromium-130.0.6723.44/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-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/crypto/cpu_ppc64le.cc
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/cpu_ppc64le.c
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/cpu_ppc64le.cc
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/cpu_ppc64le.c
@@ -0,0 +1,38 @@
+/* Copyright (c) 2016, Google Inc.
+ *
@ -335,11 +335,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/cpu_ppc64le.cc
+}
+
+#endif // OPENSSL_PPC64LE
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/crypto.cc
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/crypto.c
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/crypto.cc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/crypto.cc
@@ -67,6 +67,10 @@ uint32_t OPENSSL_get_ia32cap(int idx) {
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/crypto.c
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/crypto.c
@@ -66,6 +66,10 @@ uint32_t OPENSSL_get_ia32cap(int idx) {
return OPENSSL_ia32cap_P[idx];
}
@ -347,13 +347,13 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/crypto.cc
+
+HIDDEN unsigned long OPENSSL_ppc64le_hwcap2 = 0;
+
#elif (defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)) && \
!defined(OPENSSL_STATIC_ARMCAP)
HIDDEN uint32_t OPENSSL_armcap_P = 0;
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
#include <openssl/arm_arch.h>
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
+++ chromium-130.0.6723.44/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,12 +4164,12 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/as
+}
+
+close STDOUT or die "error closing STDOUT: $!";
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
@@ -81,6 +81,12 @@ inline int vpaes_capable(void) { return
inline int vpaes_capable(void) { return CRYPTO_is_NEON_capable(); }
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
@@ -61,6 +61,12 @@ OPENSSL_INLINE int vpaes_capable(void) {
OPENSSL_INLINE int vpaes_capable(void) { return CRYPTO_is_NEON_capable(); }
#endif
+#elif defined(OPENSSL_PPC64LE)
@ -4181,37 +4181,23 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/in
#endif
#endif // !NO_ASM
@@ -501,6 +507,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-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/bcm.c
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
@@ -105,6 +105,7 @@
#include "self_check/fips.cc.inc"
#include "self_check/self_check.cc.inc"
#include "service_indicator/service_indicator.cc.inc"
+#include "sha/sha1-altivec.cc.inc"
#include "sha/sha1.cc.inc"
#include "sha/sha256.cc.inc"
#include "sha/sha512.cc.inc"
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.c
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/bcm.c
@@ -101,6 +101,7 @@
#include "self_check/fips.c.inc"
#include "self_check/self_check.c.inc"
#include "service_indicator/service_indicator.c.inc"
+#include "sha/sha1-altivec.c.inc"
#include "sha/sha1.c.inc"
#include "sha/sha256.c.inc"
#include "sha/sha512.c.inc"
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c.inc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
@@ -330,6 +330,23 @@ int bn_expand(BIGNUM *bn, size_t bits) {
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c.inc
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c.inc
@@ -384,6 +384,23 @@ int bn_expand(BIGNUM *bn, size_t bits) {
}
int bn_resize_words(BIGNUM *bn, size_t words) {
@ -4235,11 +4221,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bn/bn.
if ((size_t)bn->width <= words) {
if (!bn_wexpand(bn, words)) {
return 0;
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c.inc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
@@ -1234,6 +1234,8 @@ int EVP_has_aes_hardware(void) {
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c.inc
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c.inc
@@ -1456,6 +1456,8 @@ int EVP_has_aes_hardware(void) {
return hwaes_capable() && crypto_gcm_clmul_enabled();
#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
return hwaes_capable() && CRYPTO_is_ARMv8_PMULL_capable();
@ -4248,10 +4234,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/cipher
#else
return 0;
#endif
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
@@ -0,0 +1,671 @@
+#! /usr/bin/env perl
+# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
@ -4924,11 +4910,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/as
+}
+
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c.inc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
@@ -233,6 +233,13 @@ void CRYPTO_ghash_init(gmult_func *out_m
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c.inc
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c.inc
@@ -228,6 +228,13 @@ void CRYPTO_ghash_init(gmult_func *out_m
*out_hash = gcm_ghash_neon;
return;
}
@ -4942,11 +4928,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gc
#endif
gcm_init_nohw(out_table, H);
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
@@ -169,5 +169,15 @@ TEST(GCMTest, ABI) {
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
@@ -209,5 +209,15 @@ TEST(GCMTest, ABI) {
}
}
#endif
@ -4962,10 +4948,28 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gc
+#endif // GHASH_ASM_PPC64LE
}
#endif // SUPPORTS_ABI_TEST && !OPENSSL_NO_ASM
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
@@ -325,6 +325,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-130.0.6723.44/third_party/boringssl/src/crypto/rand_extra/getrandom_fillin.h
===================================================================
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/rand_extra/getrandom_fillin.h
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/rand_extra/getrandom_fillin.h
@@ -30,6 +30,8 @@
#define EXPECTED_NR_getrandom 278
#elif defined(OPENSSL_ARM)
@ -4975,11 +4979,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/rand/getrandom_fi
#elif defined(OPENSSL_RISCV64)
#define EXPECTED_NR_getrandom 278
#endif
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c.inc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
@@ -425,6 +425,11 @@ bcm_infallible BCM_rand_bytes_with_addit
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c.inc
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c.inc
@@ -427,6 +427,11 @@ bcm_infallible BCM_rand_bytes_with_addit
// Take a read lock around accesses to |state->drbg|. This is needed to
// avoid returning bad entropy if we race with
// |rand_thread_state_clear_all|.
@ -4990,11 +4994,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/rand/r
+ // kernel, syscalls made with |syscall| did not abort the transaction.
CRYPTO_MUTEX_lock_read(&state->clear_drbg_lock);
#endif
if (!CTR_DRBG_reseed_ex(&state->drbg, seed, sizeof(seed),
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
if (!CTR_DRBG_reseed(&state->drbg, seed, reseed_additional_data,
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
@@ -23,6 +23,16 @@
extern "C" {
#endif
@ -5012,16 +5016,16 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c.inc
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
@@ -0,0 +1,369 @@
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.ccom)
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c.inc
@@ -0,0 +1,361 @@
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
+ *
+ * This package is an SSL implementation written
+ * by Eric Young (eay@cryptsoft.ccom).
+ * by Eric Young (eay@cryptsoft.com).
+ * The implementation was written so as to conform with Netscapes SSL.
+ *
+ * This library is free for commercial and non-commercial use as long as
@ -5029,7 +5033,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sh
+ * apply to all code found in this distribution, be it the RC4, RSA,
+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
+ * included with this distribution is covered by the same copyright terms
+ * except that the holder is Tim Hudson (tjh@cryptsoft.ccom).
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
+ *
+ * Copyright remains Eric Young's, and as such any Copyright notices in
+ * the code are not to be removed.
@ -5049,12 +5053,12 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sh
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * "This product includes cryptographic software written by
+ * Eric Young (eay@cryptsoft.ccom)"
+ * Eric Young (eay@cryptsoft.com)"
+ * The word 'cryptographic' can be left out if the rouines from the library
+ * being used are not cryptographic related :-).
+ * 4. If you include any Windows specific code (or a derivative thereof) from
+ * the apps directory (application code) you must include an acknowledgement:
+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.ccom)"
+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
@ -5076,7 +5080,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sh
+// Altivec-optimized SHA1 in C. This is tested on ppc64le only.
+//
+// References:
+// https://software.intel.ccom/en-us/articles/improving-the-performance-of-the-secure-hash-algorithm-1
+// https://software.intel.com/en-us/articles/improving-the-performance-of-the-secure-hash-algorithm-1
+// http://arctic.org/~dean/crypto/sha1.html
+//
+// This code used the generic SHA-1 from OpenSSL as a basis and AltiVec
@ -5086,10 +5090,6 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sh
+
+#if defined(OPENSSL_PPC64LE)
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+#include <altivec.h>
+
+void sha1_block_data_order_ppc64(uint32_t *state, const uint8_t *data, size_t num);
@ -5175,7 +5175,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sh
+ return w;
+}
+
+// As pointed out by Wei Dai <weidai@eskimo.ccom>, F() below can be simplified
+// As pointed out by Wei Dai <weidai@eskimo.com>, F() below can be simplified
+// to the code in F_00_19. Wei attributes these optimisations to Peter
+// Gutmann's SHS code, and he attributes it to Rich Schroeppel. #define
+// F(x,y,z) (((x) & (y)) | ((~(x)) & (z))) I've just become aware of another
@ -5368,10 +5368,6 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sh
+ }
+}
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif // OPENSSL_PPC64LE
+
+#undef K_00_19
@ -5386,11 +5382,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sh
+#undef BODY_20_39
+#undef BODY_40_59
+#undef BODY_60_79
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/internal.h
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/internal.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/internal.h
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/internal.h
@@ -66,8 +66,9 @@ extern "C" {
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/internal.h
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/internal.h
@@ -183,8 +183,9 @@ extern "C" {
#if !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_STATIC_ARMCAP) && \
(defined(OPENSSL_X86) || defined(OPENSSL_X86_64) || \
defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64))
@ -5402,9 +5398,9 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/internal.h
#define NEED_CPUID
// OPENSSL_cpuid_setup initializes the platform-specific feature cache. This
@@ -1420,6 +1421,16 @@ inline int CRYPTO_is_ARMv8_SHA512_capabl
#endif // OPENSSL_ARM || OPENSSL_AARCH64
@@ -1723,6 +1724,16 @@ OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA51
#endif // OPENSSL_ARM || OPENSSL_AARCH64
+#if defined(OPENSSL_PPC64LE)
+
@ -5419,10 +5415,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/internal.h
#if defined(BORINGSSL_DISPATCH_TEST)
// Runtime CPU dispatch testing support
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
+++ chromium-130.0.6723.44/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.
@ -5505,7 +5501,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/perlasm/ppc-xlate
+ $ret;
+};
+my $text = sub {
+ my $ret = ($flavour =~ /aix/) ? ".ccsect\t.text[PR],7" : ".text";
+ my $ret = ($flavour =~ /aix/) ? ".csect\t.text[PR],7" : ".text";
+ $ret = ".abiversion 2\n".$ret if ($flavour =~ /linux.*64le/);
+ $ret;
+};
@ -5738,16 +5734,16 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/perlasm/ppc-xlate
+print <<___;
+#endif // !OPENSSL_NO_ASM && __powerpc64__ && __ELF__
+#if defined(__ELF__)
+// See https://www.airs.ccom/blog/archives/518.
+// See https://www.airs.com/blog/archives/518.
+.section .note.GNU-stack,"",\%progbits
+#endif
+___
+
+close STDOUT or die "error closing STDOUT: $!";
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/abi_test.h
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/test/abi_test.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/test/abi_test.h
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/abi_test.h
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/test/abi_test.h
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/test/abi_test.h
@@ -179,7 +179,78 @@ struct alignas(16) Reg128 {
CALLER_STATE_REGISTER(uint64_t, x28) \
CALLER_STATE_REGISTER(uint64_t, x29)
@ -5854,10 +5850,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/abi_test.h
static_assert(sizeof...(args) <= 8,
"too many arguments for abi_test_trampoline");
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
@@ -0,0 +1,262 @@
+#!/usr/bin/env perl
+# Copyright (c) 2019, Google Inc.
@ -6121,10 +6117,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/asm/trampoli
+
+print $code;
+close STDOUT or die "error closing STDOUT: $!";
Index: chromium-144.0.7559.59/third_party/boringssl/src/include/openssl/target.h
Index: chromium-130.0.6723.44/third_party/boringssl/src/include/openssl/target.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/include/openssl/target.h
+++ chromium-144.0.7559.59/third_party/boringssl/src/include/openssl/target.h
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/include/openssl/target.h
+++ chromium-130.0.6723.44/third_party/boringssl/src/include/openssl/target.h
@@ -34,6 +34,9 @@
#elif defined(__ARMEL__) || defined(_M_ARM)
#define OPENSSL_32_BIT
@ -6135,11 +6131,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/include/openssl/target.h
#elif defined(__MIPSEL__) && !defined(__LP64__)
#define OPENSSL_32_BIT
#define OPENSSL_MIPS
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
@@ -31,6 +31,8 @@ int main(int argc, char **argv) {
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
@@ -37,6 +37,8 @@ int main(int argc, char **argv) {
puts("ARM (32-bit)");
#elif defined(OPENSSL_AARCH64)
puts("aarch64 (64-bit)");
@ -6148,11 +6144,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/acvp/modu
#else
#error "FIPS build not supported on this architecture"
#endif
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.go
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/delocate.go
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.go
@@ -56,7 +56,8 @@ type stringWriter interface {
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/delocate.go
@@ -54,7 +54,8 @@ type stringWriter interface {
type processorType int
const (
@ -6162,7 +6158,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
aarch64
)
@@ -69,6 +70,8 @@ type delocation struct {
@@ -67,6 +68,8 @@ type delocation struct {
// symbols is the set of symbols defined in the module.
symbols map[string]struct{}
@ -6171,7 +6167,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
// redirectors maps from out-call symbol name to the name of a
// redirector function for that symbol. E.g. “memcpy” ->
// “bcm_redirector_memcpy”.
@@ -77,6 +80,9 @@ type delocation struct {
@@ -75,6 +78,9 @@ type delocation struct {
// should be used to reference it. E.g. “P384_data_storage” ->
// “P384_data_storage”.
bssAccessorsNeeded map[string]string
@ -6181,7 +6177,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
// gotExternalsNeeded is a set of symbol names for which we need
// “delta” symbols: symbols that contain the offset from their location
// to the memory in question.
@@ -155,6 +161,8 @@ func (d *delocation) processInput(input
@@ -151,6 +157,8 @@ func (d *delocation) processInput(input
switch d.processor {
case x86_64:
statement, err = d.processIntelInstruction(statement, node.up)
@ -6190,7 +6186,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
case aarch64:
statement, err = d.processAarch64Instruction(statement, node.up)
default:
@@ -255,7 +263,7 @@ func (d *delocation) processDirective(st
@@ -247,7 +255,7 @@ func (d *delocation) processDirective(st
d.writeNode(statement)
break
@ -6199,7 +6195,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
d.writeNode(statement)
break
@@ -344,6 +352,10 @@ func (d *delocation) processLabelContain
@@ -336,6 +344,10 @@ func (d *delocation) processLabelContain
d.output.WriteString("\t" + name + "\t" + strings.Join(args, ", ") + "\n")
}
@ -6210,7 +6206,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
return statement, nil
}
@@ -703,6 +715,191 @@ func (d *delocation) processAarch64Instr
@@ -659,6 +671,191 @@ func (d *delocation) processAarch64Instr
return statement, nil
}
@ -6310,13 +6306,13 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
+func (d *delocation) isPPC64LEAPair(statement *node32) (target, source, relative string, ok bool) {
+ instruction := skipWS(statement.up).up
+ assertNodeType(instruction, ruleInstructionName)
+ name1 := d.ccontents(instruction)
+ name1 := d.contents(instruction)
+ args1 := instructionArgs(instruction.next)
+
+ statement = statement.next
+ instruction = skipWS(statement.up).up
+ assertNodeType(instruction, ruleInstructionName)
+ name2 := d.ccontents(instruction)
+ name2 := d.contents(instruction)
+ args2 := instructionArgs(instruction.next)
+
+ if name1 != "addis" ||
@ -6326,16 +6322,16 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
+ return "", "", "", false
+ }
+
+ target = d.ccontents(args1[0])
+ relative = d.ccontents(args1[1])
+ source1 := d.ccontents(args1[2])
+ source2 := d.ccontents(args2[2])
+ target = d.contents(args1[0])
+ relative = d.contents(args1[1])
+ source1 := d.contents(args1[2])
+ source2 := d.contents(args2[2])
+
+ if !strings.HasSuffix(source1, "@ha") ||
+ !strings.HasSuffix(source2, "@l") ||
+ source1[:len(source1)-3] != source2[:len(source2)-2] ||
+ d.ccontents(args2[0]) != target ||
+ d.ccontents(args2[1]) != target {
+ d.contents(args2[0]) != target ||
+ d.contents(args2[1]) != target {
+ return "", "", "", false
+ }
+
@ -6402,13 +6398,13 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
func (d *delocation) gatherOffsets(symRef *node32, offsets string) (*node32, string) {
for symRef != nil && symRef.pegRule == ruleOffset {
offset := d.contents(symRef)
@@ -757,6 +954,215 @@ func (d *delocation) parseMemRef(memRef
@@ -713,6 +910,215 @@ func (d *delocation) parseMemRef(memRef
return
}
+func (d *delocation) processPPCInstruction(statement, instruction *node32) (*node32, error) {
+ assertNodeType(instruction, ruleInstructionName)
+ instructionName := d.ccontents(instruction)
+ instructionName := d.contents(instruction)
+ isBranch := instructionName[0] == 'b'
+
+ argNodes := instructionArgs(instruction.next)
@ -6429,7 +6425,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
+
+ switch arg.pegRule {
+ case ruleRegisterOrConstant, ruleLocalLabelRef:
+ args = append(args, d.ccontents(fullArg))
+ args = append(args, d.contents(fullArg))
+
+ case ruleTOCRefLow:
+ return nil, errors.New("Found low TOC reference outside preamble pattern")
@ -6587,7 +6583,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
+ }
+
+ for ; memRef != nil; memRef = memRef.next {
+ argStr += d.ccontents(memRef)
+ argStr += d.contents(memRef)
+ }
+
+ args = append(args, argStr)
@ -6618,7 +6614,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
/* Intel */
type instructionType int
@@ -1370,6 +1776,8 @@ func writeAarch64Function(w stringWriter
@@ -1345,6 +1751,8 @@ func writeAarch64Function(w stringWriter
func transform(w stringWriter, inputs []inputFile) error {
// symbols contains all defined symbols.
symbols := make(map[string]struct{})
@ -6627,13 +6623,13 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
// fileNumbers is the set of IDs seen in .file directives.
fileNumbers := make(map[int]struct{})
// maxObservedFileNumber contains the largest seen file number in a
@@ -1402,6 +1810,25 @@ func transform(w stringWriter, inputs []
}, ruleStatement, ruleSymbolDefiningDirective, ruleSymbolDefiningDirectiveName)
@@ -1368,6 +1776,25 @@ func transform(w stringWriter, inputs []
}, ruleStatement, ruleLabel, ruleSymbolName)
forEachPath(input.ast.up, func(node *node32) {
+ node = node.up
+ assertNodeType(node, ruleLabelContainingDirectiveName)
+ directive := input.ccontents[node.begin:node.end]
+ directive := input.contents[node.begin:node.end]
+ if directive != ".localentry" {
+ return
+ }
@ -6642,7 +6638,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
+ assertNodeType(node, ruleSymbolArgs)
+ node = node.up
+ assertNodeType(node, ruleSymbolArg)
+ symbol := input.ccontents[node.begin:node.end]
+ symbol := input.contents[node.begin:node.end]
+ if _, ok := localEntrySymbols[symbol]; ok {
+ panic(fmt.Sprintf("Duplicate .localentry directive found: %q in %q", symbol, input.path))
+ }
@ -6653,7 +6649,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
assertNodeType(node, ruleLocationDirective)
directive := input.contents[node.begin:node.end]
if !strings.HasPrefix(directive, ".file") {
@@ -1449,11 +1876,13 @@ func transform(w stringWriter, inputs []
@@ -1415,11 +1842,13 @@ func transform(w stringWriter, inputs []
d := &delocation{
symbols: symbols,
@ -6667,7 +6663,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
gotExternalsNeeded: make(map[string]struct{}),
gotOffsetsNeeded: make(map[string]struct{}),
gotOffOffsetsNeeded: make(map[string]struct{}),
@@ -1488,6 +1917,22 @@ func transform(w stringWriter, inputs []
@@ -1454,6 +1883,22 @@ func transform(w stringWriter, inputs []
for _, name := range redirectorNames {
redirector := d.redirectors[name]
switch d.processor {
@ -6690,7 +6686,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
case aarch64:
writeAarch64Function(w, redirector, func(w stringWriter) {
w.WriteString("\tb " + name + "\n")
@@ -1512,6 +1957,13 @@ func transform(w stringWriter, inputs []
@@ -1478,6 +1923,13 @@ func transform(w stringWriter, inputs []
target := d.bssAccessorsNeeded[name]
switch d.processor {
@ -6704,7 +6700,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
case x86_64:
w.WriteString(".type " + funcName + ", @function\n")
w.WriteString(funcName + ":\n")
@@ -1527,6 +1979,26 @@ func transform(w stringWriter, inputs []
@@ -1493,6 +1945,26 @@ func transform(w stringWriter, inputs []
}
switch d.processor {
@ -6731,7 +6727,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
case aarch64:
externalNames := sortedSet(d.gotExternalsNeeded)
for _, symbol := range externalNames {
@@ -1818,6 +2290,10 @@ func localTargetName(name string) string
@@ -1803,6 +2275,10 @@ func localTargetName(name string) string
return ".L" + name + "_local_target"
}
@ -6741,8 +6737,8 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
+
func isSynthesized(symbol string) bool {
return strings.HasSuffix(symbol, "_bss_get") ||
strings.HasPrefix(symbol, "BORINGSSL_bcm_text_")
@@ -1872,6 +2348,8 @@ func detectProcessor(input inputFile) pr
symbol == "OPENSSL_ia32cap_get" ||
@@ -1858,6 +2334,8 @@ func detectProcessor(input inputFile) pr
switch instructionName {
case "movq", "call", "leaq":
return x86_64
@ -6751,27 +6747,23 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
case "str", "bl", "ldr", "st1":
return aarch64
}
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
@@ -12,9 +12,9 @@
# See the License for the specific language governing permissions and
# limitations under the License.
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
@@ -12,7 +12,7 @@
# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
-# 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
-# rebuilding delocate.peg.go from this file.
+# This is a rough parser for x86-64, ppc64el, and aarch64 assembly designed
+# to work with https://github.com/pointlander/peg. delocate.go has a
+# go:generate line for rebuilding delocate.peg.go from this file.
+# This is a rough parser for x86-64 and ppc64le assembly designed to work with
# https://github.com/pointlander/peg. delocate.go has a go:generate line for
# rebuilding delocate.peg.go from this file.
# To regenerate delocate.peg.go:
#
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
@@ -39,6 +39,11 @@ func (test *delocateTest) Path(file stri
var delocateTests = []delocateTest{
@ -6784,10 +6776,10 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
@@ -0,0 +1,9 @@
+ .text
+foo:
@ -6798,13 +6790,13 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
+ .localentry foo,.-foo
+.LVL0:
+ bl
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
@@ -0,0 +1,62 @@
+.text
+.file 1 "inserted_by_delocate.cc"
+.file 1 "inserted_by_delocate.c"
+.loc 1 1 0
+BORINGSSL_bcm_text_start:
+ .text
@ -6865,22 +6857,22 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
+++ chromium-130.0.6723.44/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-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
@@ -0,0 +1,72 @@
+.text
+.file 1 "inserted_by_delocate.cc"
+.file 1 "inserted_by_delocate.c"
+.loc 1 1 0
+BORINGSSL_bcm_text_start:
+ .text
@ -6951,12 +6943,12 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
@@ -0,0 +1,161 @@
+ .file "foo.cc"
+ .file "foo.c"
+ .abiversion 2
+ .section ".toc","aw"
+ .section ".text"
@ -7117,16 +7109,16 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
@@ -0,0 +1,552 @@
+.text
+.file 1 "inserted_by_delocate.cc"
+.file 1 "inserted_by_delocate.c"
+.loc 1 1 0
+BORINGSSL_bcm_text_start:
+ .file "foo.cc"
+ .file "foo.c"
+ .abiversion 2
+ .section ".toc","aw"
+# WAS .section ".text"
@ -7674,12 +7666,12 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
@@ -0,0 +1,226 @@
+ .file "foo.cc"
+ .file "foo.c"
+ .abiversion 2
+ .section ".toc","aw"
+ .section ".text"
@ -7905,16 +7897,16 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
@@ -0,0 +1,677 @@
+.text
+.file 1 "inserted_by_delocate.cc"
+.file 1 "inserted_by_delocate.c"
+.loc 1 1 0
+BORINGSSL_bcm_text_start:
+ .file "foo.cc"
+ .file "foo.c"
+ .abiversion 2
+ .section ".toc","aw"
+# WAS .section ".text"
@ -8587,10 +8579,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
@@ -0,0 +1,23 @@
+ .text
+foo:
@ -8615,13 +8607,13 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
@@ -0,0 +1,178 @@
+.text
+.file 1 "inserted_by_delocate.cc"
+.file 1 "inserted_by_delocate.c"
+.loc 1 1 0
+BORINGSSL_bcm_text_start:
+ .text
@ -8798,11 +8790,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c.inc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
@@ -377,6 +377,10 @@ static void sha1_block_data_order(uint32
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c.inc
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c.inc
@@ -408,6 +408,10 @@ static void sha1_block_data_order(uint32
return;
}
#endif
@ -8813,30 +8805,30 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sh
sha1_block_data_order_nohw(state, data, num);
}
Index: chromium-144.0.7559.59/third_party/boringssl/src/build.json
Index: chromium-130.0.6723.44/third_party/boringssl/src/build.json
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/build.json
+++ chromium-144.0.7559.59/third_party/boringssl/src/build.json
@@ -130,6 +130,10 @@
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/build.json
+++ chromium-130.0.6723.44/third_party/boringssl/src/build.json
@@ -118,6 +118,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/aes/asm/ghashp8-ppc.pl"}
+ {"src": "crypto/fipsmodule/modes/asm/ghashp8-ppc.pl"}
+ ],
"perlasm_x86": [
{"src": "crypto/fipsmodule/aes/asm/aesni-x86.pl"},
{"src": "crypto/fipsmodule/bn/asm/bn-586.pl"},
@@ -239,6 +243,7 @@
"crypto/cpu_arm_freebsd.cc",
"crypto/cpu_arm_linux.cc",
"crypto/cpu_intel.cc",
+ "crypto/cpu_ppc64le.cc",
"crypto/crypto.cc",
"crypto/curve25519/curve25519.cc",
"crypto/curve25519/curve25519_64_adx.cc",
@@ -805,6 +810,9 @@
@@ -219,6 +223,7 @@
"crypto/cpu_arm_freebsd.c",
"crypto/cpu_arm_linux.c",
"crypto/cpu_intel.c",
+ "crypto/cpu_ppc64le.c",
"crypto/crypto.c",
"crypto/curve25519/curve25519.c",
"crypto/curve25519/curve25519_64_adx.c",
@@ -799,6 +804,9 @@
"perlasm_arm": [
{"src": "crypto/test/asm/trampoline-armv4.pl"}
],
@ -8846,10 +8838,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/build.json
"perlasm_x86": [
{"src": "crypto/test/asm/trampoline-x86.pl"}
],
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/pregenerate/build.go
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/pregenerate/build.go
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/pregenerate/build.go
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/pregenerate/build.go
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/util/pregenerate/build.go
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/pregenerate/build.go
@@ -38,6 +38,7 @@ type InputTarget struct {
// architecture.
PerlasmAarch64 []PerlasmSource `json:"perlasm_aarch64,omitempty"`
@ -8868,10 +8860,10 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/README.ppc64le
Index: chromium-130.0.6723.44/third_party/boringssl/README.ppc64le
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/boringssl/README.ppc64le
+++ chromium-130.0.6723.44/third_party/boringssl/README.ppc64le
@@ -0,0 +1,8 @@
+==============================================================
+To recreate boringssl pregenerated files patch for ppc64le:
@ -8881,11 +8873,11 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/gen/sources.gni
Index: chromium-130.0.6723.44/third_party/boringssl/src/gen/sources.gni
===================================================================
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/gen/sources.gni
+++ chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.gni
@@ -123,6 +123,7 @@ bcm_sources_asm = [
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/gen/sources.gni
+++ chromium-130.0.6723.44/third_party/boringssl/src/gen/sources.gni
@@ -107,6 +107,7 @@ bcm_sources_asm = [
"gen/bcm/aesv8-gcm-armv8-apple.S",
"gen/bcm/aesv8-gcm-armv8-linux.S",
"gen/bcm/aesv8-gcm-armv8-win.S",
@ -8893,7 +8885,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.gni
"gen/bcm/armv4-mont-linux.S",
"gen/bcm/armv8-mont-apple.S",
"gen/bcm/armv8-mont-linux.S",
@@ -139,6 +140,7 @@ bcm_sources_asm = [
@@ -123,6 +124,7 @@ bcm_sources_asm = [
"gen/bcm/ghash-neon-armv8-apple.S",
"gen/bcm/ghash-neon-armv8-linux.S",
"gen/bcm/ghash-neon-armv8-win.S",
@ -8901,11 +8893,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.gni
"gen/bcm/ghash-ssse3-x86-apple.S",
"gen/bcm/ghash-ssse3-x86-linux.S",
"gen/bcm/ghash-ssse3-x86_64-apple.S",
@@ -338,6 +340,7 @@ crypto_sources = [
"crypto/cpu_arm_freebsd.cc",
"crypto/cpu_arm_linux.cc",
"crypto/cpu_intel.cc",
+ "crypto/cpu_ppc64le.cc",
"crypto/crypto.cc",
"crypto/curve25519/curve25519.cc",
"crypto/curve25519/curve25519_64_adx.cc",
@@ -314,6 +316,7 @@ crypto_sources = [
"crypto/cpu_arm_freebsd.c",
"crypto/cpu_arm_linux.c",
"crypto/cpu_intel.c",
+ "crypto/cpu_ppc64le.c",
"crypto/crypto.c",
"crypto/curve25519/curve25519.c",
"crypto/curve25519/curve25519_64_adx.c",

View file

@ -8,11 +8,11 @@ Subject: [PATCH] Add ppc64 target to libaom
third_party/libaom/cmake_update.sh | 3 +++
2 files changed, 15 insertions(+)
Index: chromium-144.0.7559.59/third_party/libaom/BUILD.gn
Index: chromium-128.0.6613.113/third_party/libaom/BUILD.gn
===================================================================
--- chromium-144.0.7559.59.orig/third_party/libaom/BUILD.gn
+++ chromium-144.0.7559.59/third_party/libaom/BUILD.gn
@@ -299,6 +299,18 @@ if (current_cpu == "arm64" || current_cp
--- chromium-128.0.6613.113.orig/third_party/libaom/BUILD.gn
+++ chromium-128.0.6613.113/third_party/libaom/BUILD.gn
@@ -275,6 +275,18 @@ if (current_cpu == "arm64") {
}
}
@ -31,7 +31,7 @@ Index: chromium-144.0.7559.59/third_party/libaom/BUILD.gn
static_library("libaom") {
check_includes = false
if (!is_debug && is_win) {
@@ -368,6 +380,9 @@ static_library("libaom") {
@@ -338,6 +350,9 @@ static_library("libaom") {
# This is needed by all arm boards due to aom_arm_cpu_caps()
sources += [ "source/libaom/aom_ports/aarch32_cpudetect.c" ]
}
@ -41,17 +41,17 @@ Index: chromium-144.0.7559.59/third_party/libaom/BUILD.gn
if (is_android) {
deps += [ "//third_party/cpu_features:ndk_compat" ]
}
Index: chromium-144.0.7559.59/third_party/libaom/cmake_update.sh
Index: chromium-128.0.6613.113/third_party/libaom/cmake_update.sh
===================================================================
--- chromium-144.0.7559.59.orig/third_party/libaom/cmake_update.sh
+++ chromium-144.0.7559.59/third_party/libaom/cmake_update.sh
@@ -167,6 +167,9 @@ egrep \
"#define [A-Z0-9_]+[[:space:]]+[01]" "${CFG}/win/ia32/config/aom_config.h" \
| awk '{print "%define " $2 " " $3}' > "${CFG}/win/ia32/config/aom_config.asm"
--- chromium-128.0.6613.113.orig/third_party/libaom/cmake_update.sh
+++ chromium-128.0.6613.113/third_party/libaom/cmake_update.sh
@@ -190,6 +190,9 @@ reset_dirs linux/arm64-cpu-detect
gen_config_files linux/arm64-cpu-detect \
"${toolchain}/arm64-linux-gcc.cmake ${all_platforms}"
+reset_dirs linux/ppc64
+gen_config_files linux/ppc64 "${toolchain}/ppc-linux-gcc.cmake ${all_platforms}"
+
# Copy linux configurations and modify for Windows.
reset_dirs win/x64
cp "${CFG}/linux/x64/config"/* "${CFG}/win/x64/config/"
reset_dirs win/arm64-cpu-detect
cp "${CFG}/linux/arm64-cpu-detect/config"/* \

View file

@ -1,10 +1,10 @@
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
@@ -0,0 +1,100 @@
+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
@@ -0,0 +1,95 @@
+;
+; Copyright (c) 2025, Alliance for Open Media. All rights reserved.
+; Copyright (c) 2024, Alliance for Open Media. All rights reserved.
+;
+; This source code is subject to the terms of the BSD 2 Clause License and
+; the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@ -16,7 +16,6 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+AOM_ARCH_AARCH64 equ 0
+AOM_ARCH_ARM equ 0
+AOM_ARCH_PPC equ 1
+AOM_ARCH_RISCV equ 0
+AOM_ARCH_X86 equ 0
+AOM_ARCH_X86_64 equ 0
+CONFIG_ACCOUNTING equ 0
@ -34,7 +33,6 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+CONFIG_COLLECT_PARTITION_STATS equ 0
+CONFIG_COLLECT_RD_STATS equ 0
+CONFIG_CWG_C013 equ 0
+CONFIG_CWG_E050 equ 0
+CONFIG_DEBUG equ 0
+CONFIG_DENOISE equ 1
+CONFIG_DISABLE_FULL_PIXEL_SPLIT_8X8 equ 1
@ -44,12 +42,11 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+CONFIG_GCC equ 1
+CONFIG_GCOV equ 0
+CONFIG_GPROF equ 0
+CONFIG_HIGHWAY equ 0
+CONFIG_INSPECTION equ 0
+CONFIG_INTERNAL_STATS equ 0
+CONFIG_INTER_STATS_ONLY equ 0
+CONFIG_LIBVMAF_PSNR_PEAK equ 1
+CONFIG_LIBYUV equ 1
+CONFIG_LIBYUV equ 0
+CONFIG_MAX_DECODE_PROFILE equ 2
+CONFIG_MISMATCH_DEBUG equ 0
+CONFIG_MULTITHREAD equ 1
@ -83,14 +80,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+HAVE_ARM_CRC32 equ 0
+HAVE_AVX equ 0
+HAVE_AVX2 equ 0
+HAVE_AVX512 equ 0
+HAVE_FEXCEPT equ 1
+HAVE_MMX equ 0
+HAVE_NEON equ 0
+HAVE_NEON_DOTPROD equ 0
+HAVE_NEON_I8MM equ 0
+HAVE_PTHREAD_H equ 1
+HAVE_RVV equ 0
+HAVE_SSE equ 0
+HAVE_SSE2 equ 0
+HAVE_SSE3 equ 0
@ -103,13 +98,13 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+HAVE_VSX equ 1
+HAVE_WXWIDGETS equ 0
+STATIC_LINK_JXL equ 0
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
@@ -0,0 +1,13 @@
+/*
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
+ *
+ * This source code is subject to the terms of the BSD 2 Clause License and
+ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@ -119,15 +114,15 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+ * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
+ */
+#include "aom/aom_codec.h"
+static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/ppc-linux-gcc.cmake\" -DCONFIG_AV1_DECODER=0 -DCONFIG_AV1_ENCODER=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_QUANT_MATRIX=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384";
+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-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
@@ -0,0 +1,103 @@
+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
+ *
+ * This source code is subject to the terms of the BSD 2 Clause License and
+ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@ -141,7 +136,6 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+#define AOM_ARCH_AARCH64 0
+#define AOM_ARCH_ARM 0
+#define AOM_ARCH_PPC 1
+#define AOM_ARCH_RISCV 0
+#define AOM_ARCH_X86 0
+#define AOM_ARCH_X86_64 0
+#define CONFIG_ACCOUNTING 0
@ -159,7 +153,6 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+#define CONFIG_COLLECT_PARTITION_STATS 0
+#define CONFIG_COLLECT_RD_STATS 0
+#define CONFIG_CWG_C013 0
+#define CONFIG_CWG_E050 0
+#define CONFIG_DEBUG 0
+#define CONFIG_DENOISE 1
+#define CONFIG_DISABLE_FULL_PIXEL_SPLIT_8X8 1
@ -169,12 +162,11 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+#define CONFIG_GCC 1
+#define CONFIG_GCOV 0
+#define CONFIG_GPROF 0
+#define CONFIG_HIGHWAY 0
+#define CONFIG_INSPECTION 0
+#define CONFIG_INTERNAL_STATS 0
+#define CONFIG_INTER_STATS_ONLY 0
+#define CONFIG_LIBVMAF_PSNR_PEAK 1
+#define CONFIG_LIBYUV 1
+#define CONFIG_LIBYUV 0
+#define CONFIG_MAX_DECODE_PROFILE 2
+#define CONFIG_MISMATCH_DEBUG 0
+#define CONFIG_MULTITHREAD 1
@ -208,14 +200,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+#define HAVE_ARM_CRC32 0
+#define HAVE_AVX 0
+#define HAVE_AVX2 0
+#define HAVE_AVX512 0
+#define HAVE_FEXCEPT 1
+#define HAVE_MMX 0
+#define HAVE_NEON 0
+#define HAVE_NEON_DOTPROD 0
+#define HAVE_NEON_I8MM 0
+#define HAVE_PTHREAD_H 1
+#define HAVE_RVV 0
+#define HAVE_SSE 0
+#define HAVE_SSE2 0
+#define HAVE_SSE3 0
@ -229,13 +219,13 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+#define HAVE_WXWIDGETS 0
+#define STATIC_LINK_JXL 0
+#endif // AOM_CONFIG_H_
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
@@ -0,0 +1,1177 @@
+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
@@ -0,0 +1,1501 @@
+/*
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
+ *
+ * This source code is subject to the terms of the BSD 2 Clause License and
+ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@ -308,6 +298,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_dc_128_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_c
+
+void aom_dc_128_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_c
+
+void aom_dc_128_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_c
+
+void aom_dc_128_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_c
+
@ -320,12 +316,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_dc_128_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_128_predictor_32x64 aom_dc_128_predictor_32x64_c
+
+void aom_dc_128_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_c
+
+void aom_dc_128_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_c
+
+void aom_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_128_predictor_4x4 aom_dc_128_predictor_4x4_c
+
+void aom_dc_128_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_c
+
+void aom_dc_128_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_128_predictor_64x16 aom_dc_128_predictor_64x16_c
+
+void aom_dc_128_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_128_predictor_64x32 aom_dc_128_predictor_64x32_c
+
@ -335,6 +340,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_dc_128_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_c
+
+void aom_dc_128_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_c
+
+void aom_dc_128_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_128_predictor_8x4 aom_dc_128_predictor_8x4_c
+
@ -347,6 +355,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_dc_left_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_c
+
+void aom_dc_left_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_c
+
+void aom_dc_left_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_c
+
+void aom_dc_left_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_c
+
@ -359,12 +373,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_dc_left_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_left_predictor_32x64 aom_dc_left_predictor_32x64_c
+
+void aom_dc_left_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_c
+
+void aom_dc_left_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_c
+
+void aom_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_left_predictor_4x4 aom_dc_left_predictor_4x4_c
+
+void aom_dc_left_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_c
+
+void aom_dc_left_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_left_predictor_64x16 aom_dc_left_predictor_64x16_c
+
+void aom_dc_left_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_left_predictor_64x32 aom_dc_left_predictor_64x32_c
+
@ -374,6 +397,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_dc_left_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_c
+
+void aom_dc_left_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_c
+
+void aom_dc_left_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_left_predictor_8x4 aom_dc_left_predictor_8x4_c
+
@ -386,6 +412,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_dc_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_predictor_16x32 aom_dc_predictor_16x32_c
+
+void aom_dc_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_c
+
+void aom_dc_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_c
+
+void aom_dc_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_predictor_16x8 aom_dc_predictor_16x8_c
+
@ -398,12 +430,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_dc_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_predictor_32x64 aom_dc_predictor_32x64_c
+
+void aom_dc_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_c
+
+void aom_dc_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_c
+
+void aom_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_predictor_4x4 aom_dc_predictor_4x4_c
+
+void aom_dc_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_predictor_4x8 aom_dc_predictor_4x8_c
+
+void aom_dc_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_predictor_64x16 aom_dc_predictor_64x16_c
+
+void aom_dc_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_predictor_64x32 aom_dc_predictor_64x32_c
+
@ -413,6 +454,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_dc_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_predictor_8x16 aom_dc_predictor_8x16_c
+
+void aom_dc_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_c
+
+void aom_dc_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_predictor_8x4 aom_dc_predictor_8x4_c
+
@ -425,6 +469,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_dc_top_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_c
+
+void aom_dc_top_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_c
+
+void aom_dc_top_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_c
+
+void aom_dc_top_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_c
+
@ -437,12 +487,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_dc_top_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_32x64 aom_dc_top_predictor_32x64_c
+
+void aom_dc_top_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_c
+
+void aom_dc_top_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_c
+
+void aom_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_4x4 aom_dc_top_predictor_4x4_c
+
+void aom_dc_top_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_c
+
+void aom_dc_top_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_64x16 aom_dc_top_predictor_64x16_c
+
+void aom_dc_top_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_64x32 aom_dc_top_predictor_64x32_c
+
@ -452,12 +511,114 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_dc_top_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_c
+
+void aom_dc_top_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_c
+
+void aom_dc_top_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_8x4 aom_dc_top_predictor_8x4_c
+
+void aom_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_dc_top_predictor_8x8 aom_dc_top_predictor_8x8_c
+
+void aom_dist_wtd_comp_avg_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_comp_avg_pred aom_dist_wtd_comp_avg_pred_c
+
+unsigned int aom_dist_wtd_sad128x128_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad128x128_avg aom_dist_wtd_sad128x128_avg_c
+
+unsigned int aom_dist_wtd_sad128x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad128x64_avg aom_dist_wtd_sad128x64_avg_c
+
+unsigned int aom_dist_wtd_sad16x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad16x16_avg aom_dist_wtd_sad16x16_avg_c
+
+unsigned int aom_dist_wtd_sad16x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad16x32_avg aom_dist_wtd_sad16x32_avg_c
+
+unsigned int aom_dist_wtd_sad16x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad16x8_avg aom_dist_wtd_sad16x8_avg_c
+
+unsigned int aom_dist_wtd_sad32x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad32x16_avg aom_dist_wtd_sad32x16_avg_c
+
+unsigned int aom_dist_wtd_sad32x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad32x32_avg aom_dist_wtd_sad32x32_avg_c
+
+unsigned int aom_dist_wtd_sad32x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad32x64_avg aom_dist_wtd_sad32x64_avg_c
+
+unsigned int aom_dist_wtd_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad4x4_avg aom_dist_wtd_sad4x4_avg_c
+
+unsigned int aom_dist_wtd_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad4x8_avg aom_dist_wtd_sad4x8_avg_c
+
+unsigned int aom_dist_wtd_sad64x128_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad64x128_avg aom_dist_wtd_sad64x128_avg_c
+
+unsigned int aom_dist_wtd_sad64x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad64x32_avg aom_dist_wtd_sad64x32_avg_c
+
+unsigned int aom_dist_wtd_sad64x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad64x64_avg aom_dist_wtd_sad64x64_avg_c
+
+unsigned int aom_dist_wtd_sad8x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad8x16_avg aom_dist_wtd_sad8x16_avg_c
+
+unsigned int aom_dist_wtd_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad8x4_avg aom_dist_wtd_sad8x4_avg_c
+
+unsigned int aom_dist_wtd_sad8x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sad8x8_avg aom_dist_wtd_sad8x8_avg_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance128x128_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance128x128 aom_dist_wtd_sub_pixel_avg_variance128x128_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance128x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance128x64 aom_dist_wtd_sub_pixel_avg_variance128x64_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance16x16 aom_dist_wtd_sub_pixel_avg_variance16x16_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance16x32 aom_dist_wtd_sub_pixel_avg_variance16x32_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance16x8 aom_dist_wtd_sub_pixel_avg_variance16x8_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance32x16 aom_dist_wtd_sub_pixel_avg_variance32x16_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance32x32 aom_dist_wtd_sub_pixel_avg_variance32x32_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance32x64 aom_dist_wtd_sub_pixel_avg_variance32x64_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance4x4 aom_dist_wtd_sub_pixel_avg_variance4x4_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance4x8 aom_dist_wtd_sub_pixel_avg_variance4x8_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance64x128_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance64x128 aom_dist_wtd_sub_pixel_avg_variance64x128_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance64x32 aom_dist_wtd_sub_pixel_avg_variance64x32_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance64x64 aom_dist_wtd_sub_pixel_avg_variance64x64_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance8x16 aom_dist_wtd_sub_pixel_avg_variance8x16_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance8x4 aom_dist_wtd_sub_pixel_avg_variance8x4_c
+
+uint32_t aom_dist_wtd_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
+#define aom_dist_wtd_sub_pixel_avg_variance8x8 aom_dist_wtd_sub_pixel_avg_variance8x8_c
+
+void aom_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride);
+#define aom_fdct4x4 aom_fdct4x4_c
+
@ -482,6 +643,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_get_blk_sse_sum_c(const int16_t *data, int stride, int bw, int bh, int *x_sum, int64_t *x2_sum);
+#define aom_get_blk_sse_sum aom_get_blk_sse_sum_c
+
+unsigned int aom_get_mb_ss_c(const int16_t *);
+#define aom_get_mb_ss aom_get_mb_ss_c
+
+void aom_get_var_sse_sum_16x16_dual_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse16x16, unsigned int *tot_sse, int *tot_sum, uint32_t *var16x16);
+#define aom_get_var_sse_sum_16x16_dual aom_get_var_sse_sum_16x16_dual_c
+
@ -494,6 +658,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_h_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_h_predictor_16x32 aom_h_predictor_16x32_c
+
+void aom_h_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_h_predictor_16x4 aom_h_predictor_16x4_c
+
+void aom_h_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_h_predictor_16x64 aom_h_predictor_16x64_c
+
+void aom_h_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_h_predictor_16x8 aom_h_predictor_16x8_c
+
@ -506,12 +676,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_h_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_h_predictor_32x64 aom_h_predictor_32x64_c
+
+void aom_h_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_h_predictor_32x8 aom_h_predictor_32x8_c
+
+void aom_h_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_h_predictor_4x16 aom_h_predictor_4x16_c
+
+void aom_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_h_predictor_4x4 aom_h_predictor_4x4_c
+
+void aom_h_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_h_predictor_4x8 aom_h_predictor_4x8_c
+
+void aom_h_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_h_predictor_64x16 aom_h_predictor_64x16_c
+
+void aom_h_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_h_predictor_64x32 aom_h_predictor_64x32_c
+
@ -521,6 +700,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_h_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_h_predictor_8x16 aom_h_predictor_8x16_c
+
+void aom_h_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_h_predictor_8x32 aom_h_predictor_8x32_c
+
+void aom_h_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_h_predictor_8x4 aom_h_predictor_8x4_c
+
@ -767,6 +949,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_paeth_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_c
+
+void aom_paeth_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_paeth_predictor_16x4 aom_paeth_predictor_16x4_c
+
+void aom_paeth_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_paeth_predictor_16x64 aom_paeth_predictor_16x64_c
+
+void aom_paeth_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_c
+
@ -779,12 +967,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_paeth_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_c
+
+void aom_paeth_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_paeth_predictor_32x8 aom_paeth_predictor_32x8_c
+
+void aom_paeth_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_paeth_predictor_4x16 aom_paeth_predictor_4x16_c
+
+void aom_paeth_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_paeth_predictor_4x4 aom_paeth_predictor_4x4_c
+
+void aom_paeth_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_c
+
+void aom_paeth_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_paeth_predictor_64x16 aom_paeth_predictor_64x16_c
+
+void aom_paeth_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_paeth_predictor_64x32 aom_paeth_predictor_64x32_c
+
@ -794,6 +991,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_paeth_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_c
+
+void aom_paeth_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_paeth_predictor_8x32 aom_paeth_predictor_8x32_c
+
+void aom_paeth_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_paeth_predictor_8x4 aom_paeth_predictor_8x4_c
+
@ -908,6 +1108,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+unsigned int aom_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define aom_sad4x4 aom_sad4x4_c
+
+unsigned int aom_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define aom_sad4x4_avg aom_sad4x4_avg_c
+
+void aom_sad4x4x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
+#define aom_sad4x4x3d aom_sad4x4x3d_c
+
@ -917,6 +1120,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+unsigned int aom_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define aom_sad4x8 aom_sad4x8_c
+
+unsigned int aom_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define aom_sad4x8_avg aom_sad4x8_avg_c
+
+void aom_sad4x8x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
+#define aom_sad4x8x3d aom_sad4x8x3d_c
+
@ -974,6 +1180,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+unsigned int aom_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define aom_sad8x4 aom_sad8x4_c
+
+unsigned int aom_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
+#define aom_sad8x4_avg aom_sad8x4_avg_c
+
+void aom_sad8x4x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
+#define aom_sad8x4x3d aom_sad8x4x3d_c
+
@ -1016,6 +1225,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_sad_skip_16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
+#define aom_sad_skip_16x32x4d aom_sad_skip_16x32x4d_c
+
+unsigned int aom_sad_skip_16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define aom_sad_skip_16x8 aom_sad_skip_16x8_c
+
+void aom_sad_skip_16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
+#define aom_sad_skip_16x8x4d aom_sad_skip_16x8x4d_c
+
+unsigned int aom_sad_skip_32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define aom_sad_skip_32x16 aom_sad_skip_32x16_c
+
@ -1034,6 +1249,18 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_sad_skip_32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
+#define aom_sad_skip_32x64x4d aom_sad_skip_32x64x4d_c
+
+unsigned int aom_sad_skip_4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define aom_sad_skip_4x4 aom_sad_skip_4x4_c
+
+void aom_sad_skip_4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
+#define aom_sad_skip_4x4x4d aom_sad_skip_4x4x4d_c
+
+unsigned int aom_sad_skip_4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define aom_sad_skip_4x8 aom_sad_skip_4x8_c
+
+void aom_sad_skip_4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
+#define aom_sad_skip_4x8x4d aom_sad_skip_4x8x4d_c
+
+unsigned int aom_sad_skip_64x128_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define aom_sad_skip_64x128 aom_sad_skip_64x128_c
+
@ -1058,6 +1285,18 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_sad_skip_8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
+#define aom_sad_skip_8x16x4d aom_sad_skip_8x16x4d_c
+
+unsigned int aom_sad_skip_8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define aom_sad_skip_8x4 aom_sad_skip_8x4_c
+
+void aom_sad_skip_8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
+#define aom_sad_skip_8x4x4d aom_sad_skip_8x4x4d_c
+
+unsigned int aom_sad_skip_8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
+#define aom_sad_skip_8x8 aom_sad_skip_8x8_c
+
+void aom_sad_skip_8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
+#define aom_sad_skip_8x8x4d aom_sad_skip_8x8x4d_c
+
+int aom_satd_c(const tran_low_t *coeff, int length);
+#define aom_satd aom_satd_c
+
@ -1073,6 +1312,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_smooth_h_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_c
+
+void aom_smooth_h_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_h_predictor_16x4 aom_smooth_h_predictor_16x4_c
+
+void aom_smooth_h_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_h_predictor_16x64 aom_smooth_h_predictor_16x64_c
+
+void aom_smooth_h_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_c
+
@ -1085,12 +1330,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_smooth_h_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_c
+
+void aom_smooth_h_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_h_predictor_32x8 aom_smooth_h_predictor_32x8_c
+
+void aom_smooth_h_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_h_predictor_4x16 aom_smooth_h_predictor_4x16_c
+
+void aom_smooth_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_h_predictor_4x4 aom_smooth_h_predictor_4x4_c
+
+void aom_smooth_h_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_c
+
+void aom_smooth_h_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_h_predictor_64x16 aom_smooth_h_predictor_64x16_c
+
+void aom_smooth_h_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_h_predictor_64x32 aom_smooth_h_predictor_64x32_c
+
@ -1100,6 +1354,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_smooth_h_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_c
+
+void aom_smooth_h_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_h_predictor_8x32 aom_smooth_h_predictor_8x32_c
+
+void aom_smooth_h_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_h_predictor_8x4 aom_smooth_h_predictor_8x4_c
+
@ -1112,6 +1369,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_smooth_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_predictor_16x32 aom_smooth_predictor_16x32_c
+
+void aom_smooth_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_predictor_16x4 aom_smooth_predictor_16x4_c
+
+void aom_smooth_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_predictor_16x64 aom_smooth_predictor_16x64_c
+
+void aom_smooth_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_predictor_16x8 aom_smooth_predictor_16x8_c
+
@ -1124,12 +1387,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_smooth_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_predictor_32x64 aom_smooth_predictor_32x64_c
+
+void aom_smooth_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_predictor_32x8 aom_smooth_predictor_32x8_c
+
+void aom_smooth_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_predictor_4x16 aom_smooth_predictor_4x16_c
+
+void aom_smooth_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_predictor_4x4 aom_smooth_predictor_4x4_c
+
+void aom_smooth_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_predictor_4x8 aom_smooth_predictor_4x8_c
+
+void aom_smooth_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_predictor_64x16 aom_smooth_predictor_64x16_c
+
+void aom_smooth_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_predictor_64x32 aom_smooth_predictor_64x32_c
+
@ -1139,6 +1411,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_smooth_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_predictor_8x16 aom_smooth_predictor_8x16_c
+
+void aom_smooth_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_predictor_8x32 aom_smooth_predictor_8x32_c
+
+void aom_smooth_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_predictor_8x4 aom_smooth_predictor_8x4_c
+
@ -1151,6 +1426,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_smooth_v_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_c
+
+void aom_smooth_v_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_v_predictor_16x4 aom_smooth_v_predictor_16x4_c
+
+void aom_smooth_v_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_v_predictor_16x64 aom_smooth_v_predictor_16x64_c
+
+void aom_smooth_v_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_c
+
@ -1163,12 +1444,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_smooth_v_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_c
+
+void aom_smooth_v_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_v_predictor_32x8 aom_smooth_v_predictor_32x8_c
+
+void aom_smooth_v_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_v_predictor_4x16 aom_smooth_v_predictor_4x16_c
+
+void aom_smooth_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_v_predictor_4x4 aom_smooth_v_predictor_4x4_c
+
+void aom_smooth_v_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_c
+
+void aom_smooth_v_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_v_predictor_64x16 aom_smooth_v_predictor_64x16_c
+
+void aom_smooth_v_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_v_predictor_64x32 aom_smooth_v_predictor_64x32_c
+
@ -1178,6 +1468,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_smooth_v_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_c
+
+void aom_smooth_v_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_v_predictor_8x32 aom_smooth_v_predictor_8x32_c
+
+void aom_smooth_v_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_smooth_v_predictor_8x4 aom_smooth_v_predictor_8x4_c
+
@ -1304,6 +1597,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_v_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_16x32 aom_v_predictor_16x32_c
+
+void aom_v_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_16x4 aom_v_predictor_16x4_c
+
+void aom_v_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_16x64 aom_v_predictor_16x64_c
+
+void aom_v_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_16x8 aom_v_predictor_16x8_c
+
@ -1316,12 +1615,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_v_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_32x64 aom_v_predictor_32x64_c
+
+void aom_v_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_32x8 aom_v_predictor_32x8_c
+
+void aom_v_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_4x16 aom_v_predictor_4x16_c
+
+void aom_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_4x4 aom_v_predictor_4x4_c
+
+void aom_v_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_4x8 aom_v_predictor_4x8_c
+
+void aom_v_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_64x16 aom_v_predictor_64x16_c
+
+void aom_v_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_64x32 aom_v_predictor_64x32_c
+
@ -1331,12 +1639,18 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void aom_v_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_8x16 aom_v_predictor_8x16_c
+
+void aom_v_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_8x32 aom_v_predictor_8x32_c
+
+void aom_v_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_8x4 aom_v_predictor_8x4_c
+
+void aom_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
+#define aom_v_predictor_8x8 aom_v_predictor_8x8_c
+
+uint64_t aom_var_2d_u16_c(uint8_t *src, int src_stride, int width, int height);
+#define aom_var_2d_u16 aom_var_2d_u16_c
+
+uint64_t aom_var_2d_u8_c(uint8_t *src, int src_stride, int width, int height);
+#define aom_var_2d_u8 aom_var_2d_u8_c
+
@ -1410,14 +1724,14 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+} // extern "C"
+#endif
+
+#endif // AOM_DSP_RTCD_H_
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
+#endif
Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
+ *
+ * This source code is subject to the terms of the BSD 2 Clause License and
+ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@ -1506,14 +1820,14 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+} // extern "C"
+#endif
+
+#endif // AOM_SCALE_RTCD_H_
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
+#endif
Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
@@ -0,0 +1,405 @@
+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
@@ -0,0 +1,438 @@
+/*
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
+ *
+ * This source code is subject to the terms of the BSD 2 Clause License and
+ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
@ -1615,6 +1929,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+ int subpel_y_q3, const uint8_t *ref, int ref_stride, int subpel_search);
+#define aom_upsampled_pred aom_upsampled_pred_c
+
+int av1_apply_selfguided_restoration_c(const uint8_t *dat, int width, int height, int stride, int eps, const int *xqd, uint8_t *dst, int dst_stride, int32_t *tmpbuf, int bit_depth, int highbd);
+#define av1_apply_selfguided_restoration av1_apply_selfguided_restoration_c
+
+int64_t av1_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz);
+#define av1_block_error av1_block_error_c
+
@ -1735,7 +2052,7 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void av1_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride);
+#define av1_fwht4x4 av1_fwht4x4_c
+
+uint32_t av1_get_crc32c_value_c(void *crc_calculator, const uint8_t *p, size_t length);
+uint32_t av1_get_crc32c_value_c(void *crc_calculator, uint8_t *p, size_t length);
+#define av1_get_crc32c_value av1_get_crc32c_value_c
+
+void av1_get_horver_correlation_full_c(const int16_t *diff, int stride, int w, int h, float *hcorr, float *vcorr);
@ -1849,12 +2166,20 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void av1_round_shift_array_c(int32_t *arr, int size, int bit);
+#define av1_round_shift_array av1_round_shift_array_c
+
+int av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height,
+ int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
+ int sgr_params_idx, int bit_depth, int highbd);
+#define av1_selfguided_restoration av1_selfguided_restoration_c
+
+void av1_txb_init_levels_c(const tran_low_t *const coeff, const int width, const int height, uint8_t *const levels);
+#define av1_txb_init_levels av1_txb_init_levels_c
+
+void av1_upsample_intra_edge_c(uint8_t *p, int sz);
+#define av1_upsample_intra_edge av1_upsample_intra_edge_c
+
+void av1_warp_affine_c(const int32_t *mat, const uint8_t *ref, int width, int height, int stride, uint8_t *pred, int p_col, int p_row, int p_width, int p_height, int p_stride, int subsampling_x, int subsampling_y, ConvolveParams *conv_params, int16_t alpha, int16_t beta, int16_t gamma, int16_t delta);
+#define av1_warp_affine av1_warp_affine_c
+
+void av1_wedge_compute_delta_squares_c(int16_t *d, const int16_t *a, const int16_t *b, int N);
+#define av1_wedge_compute_delta_squares av1_wedge_compute_delta_squares_c
+
@ -1864,6 +2189,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+uint64_t av1_wedge_sse_from_residuals_c(const int16_t *r1, const int16_t *d, const uint8_t *m, int N);
+#define av1_wedge_sse_from_residuals av1_wedge_sse_from_residuals_c
+
+void av1_wiener_convolve_add_src_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const WienerConvolveParams *conv_params);
+#define av1_wiener_convolve_add_src av1_wiener_convolve_add_src_c
+
+void cdef_copy_rect8_16bit_to_16bit_c(uint16_t *dst, int dstride, const uint16_t *src, int sstride, int width, int height);
+#define cdef_copy_rect8_16bit_to_16bit cdef_copy_rect8_16bit_to_16bit_c
+
+void cdef_copy_rect8_8bit_to_16bit_c(uint16_t *dst, int dstride, const uint8_t *src, int sstride, int width, int height);
+#define cdef_copy_rect8_8bit_to_16bit cdef_copy_rect8_8bit_to_16bit_c
+
@ -1897,6 +2228,22 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+void cdef_find_dir_dual_c(const uint16_t *img1, const uint16_t *img2, int stride, int32_t *var1, int32_t *var2, int coeff_shift, int *out1, int *out2);
+#define cdef_find_dir_dual cdef_find_dir_dual_c
+
+cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_c(TX_SIZE tx_size);
+#define cfl_get_luma_subsampling_420_lbd cfl_get_luma_subsampling_420_lbd_c
+
+cfl_subsample_lbd_fn cfl_get_luma_subsampling_422_lbd_c(TX_SIZE tx_size);
+#define cfl_get_luma_subsampling_422_lbd cfl_get_luma_subsampling_422_lbd_c
+
+cfl_subsample_lbd_fn cfl_get_luma_subsampling_444_lbd_c(TX_SIZE tx_size);
+#define cfl_get_luma_subsampling_444_lbd cfl_get_luma_subsampling_444_lbd_c
+
+cfl_predict_lbd_fn cfl_get_predict_lbd_fn_c(TX_SIZE tx_size);
+#define cfl_get_predict_lbd_fn cfl_get_predict_lbd_fn_c
+
+cfl_subtract_average_fn cfl_get_subtract_average_fn_c(TX_SIZE tx_size);
+cfl_subtract_average_fn cfl_get_subtract_average_fn_vsx(TX_SIZE tx_size);
+#define cfl_get_subtract_average_fn cfl_get_subtract_average_fn_vsx
+
+void av1_rtcd(void);
+
+#include "config/aom_config.h"
@ -1916,4 +2263,4 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
+} // extern "C"
+#endif
+
+#endif // AV1_RTCD_H_
+#endif

View file

@ -1,13 +0,0 @@
Index: chromium-144.0.7559.59/v8/gni/v8.gni
===================================================================
--- chromium-144.0.7559.59.orig/v8/gni/v8.gni
+++ chromium-144.0.7559.59/v8/gni/v8.gni
@@ -317,7 +317,7 @@ assert(
if (v8_enable_pointer_compression == "") {
v8_enable_pointer_compression =
v8_current_cpu == "arm64" || v8_current_cpu == "x64" ||
- v8_current_cpu == "loong64"
+ v8_current_cpu == "loong64" || v8_current_cpu == "ppc64"
}
# The Wasm interpreter is currently supported only on arm64 and x64, on

View file

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

View file

@ -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-144.0.7559.59/third_party/crashpad/crashpad/CONTRIBUTORS
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/CONTRIBUTORS
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/CONTRIBUTORS
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/CONTRIBUTORS
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/CONTRIBUTORS
+++ chromium-130.0.6723.44/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-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context.h
@@ -686,6 +686,70 @@ struct MinidumpContextRISCV64 {
--- 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 {
uint32_t fcsr;
};
@ -125,10 +125,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_co
} // namespace crashpad
#endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_H_
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
--- 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
@@ -110,6 +110,13 @@ MinidumpContextWriter::CreateFromSnapsho
break;
}
@ -192,10 +192,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_co
+}
} // namespace crashpad
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
--- 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
@@ -413,6 +413,49 @@ class MinidumpContextRISCV64Writer final
MinidumpContextRISCV64 context_;
};
@ -246,10 +246,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_co
} // namespace crashpad
#endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_WRITER_H_
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
--- 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
@@ -322,6 +322,21 @@ TYPED_TEST(MinidumpContextWriter, RISCV6
TypeParam>(context, ExpectMinidumpContextRISCV64, kSeed);
}
@ -272,10 +272,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_co
} // namespace
} // namespace test
} // namespace crashpad
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
--- 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
@@ -177,6 +177,8 @@ std::string MinidumpMiscInfoDebugBuildSt
static constexpr char kCPU[] = "mips64";
#elif defined(ARCH_CPU_RISCV64)
@ -285,10 +285,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_mi
#else
#error define kCPU for this CPU
#endif
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
--- 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
@@ -297,6 +297,40 @@ void InitializeMinidumpContextRISCV64(Mi
context->fcsr = value++;
}
@ -369,10 +369,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidu
+
} // namespace test
} // namespace crashpad
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
--- 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
@@ -90,6 +90,9 @@ void ExpectMinidumpContextMIPS64(uint32_
void ExpectMinidumpContextRISCV64(uint32_t expect_seed,
const MinidumpContextRISCV64* observed,
@ -383,10 +383,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidu
//! \}
} // namespace test
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/capture_memory.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/capture_memory.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/capture_memory.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/capture_memory.cc
--- 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
@@ -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-144.0.7559.59/third_party/crashpad/crashpad/snapshot/capture_mem
#else
#error Port.
#endif
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
--- 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
@@ -47,6 +47,9 @@ enum CPUArchitecture {
//! \brief 64-bit RISC-V.
@ -413,10 +413,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_archite
};
} // namespace crashpad
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_context.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/cpu_context.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context.cc
--- 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
@@ -173,6 +173,8 @@ uint64_t CPUContext::InstructionPointer(
return arm64->pc;
case kCPUArchitectureRISCV64:
@ -443,10 +443,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context
case kCPUArchitectureRISCV64:
return true;
case kCPUArchitectureX86:
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_context.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/cpu_context.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context.h
--- 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
@@ -371,6 +371,24 @@ struct CPUContextRISCV64 {
uint32_t fcsr;
};
@ -480,10 +480,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context
};
};
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
--- 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
@@ -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-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/cpu_c
} // namespace internal
} // namespace crashpad
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
--- 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
@@ -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-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/debug
},
module_mapping->name,
module_mapping->device,
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
--- 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
@@ -367,6 +367,69 @@ bool ExceptionSnapshotLinux::ReadContext
return internal::ReadContext(reader, context_address, context_.riscv64);
}
@ -666,11 +666,11 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/excep
#endif // ARCH_CPU_X86_FAMILY
bool ExceptionSnapshotLinux::Initialize(
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
@@ -94,6 +94,8 @@ class ExceptionSnapshotLinux final : pub
--- 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
CPUContextMIPS64 mips64;
#elif defined(ARCH_CPU_RISCV64)
CPUContextRISCV64 riscv64;
@ -679,10 +679,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/excep
#endif
} context_union_;
CPUContext context_;
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
--- 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
@@ -325,7 +325,28 @@ void ExpectContext(const CPUContext& act
sizeof(actual.riscv64->fpregs)),
0);
@ -712,10 +712,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/excep
#else
#error Port.
#endif
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
--- 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
@@ -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-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/proce
#else
#error Port.
#endif
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
--- 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
@@ -456,6 +456,89 @@ static_assert(offsetof(UContext<ContextT
offsetof(ucontext_t, uc_mcontext.__fpregs),
"context offset mismatch");
@ -819,11 +819,11 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/signa
#else
#error Port.
#endif // ARCH_CPU_X86_FAMILY
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
@@ -229,6 +229,8 @@ CPUArchitecture SystemSnapshotLinux::Get
--- 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
@@ -208,6 +208,8 @@ CPUArchitecture SystemSnapshotLinux::Get
: kCPUArchitectureMIPSEL;
#elif defined(ARCH_CPU_RISCV64)
return kCPUArchitectureRISCV64;
@ -832,7 +832,7 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/syste
#else
#error port to your architecture
#endif
@@ -247,6 +249,9 @@ uint32_t SystemSnapshotLinux::CPURevisio
@@ -226,6 +228,9 @@ uint32_t SystemSnapshotLinux::CPURevisio
#elif defined(ARCH_CPU_RISCV64)
// Not implemented
return 0;
@ -842,7 +842,7 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/syste
#else
#error port to your architecture
#endif
@@ -270,6 +275,9 @@ std::string SystemSnapshotLinux::CPUVend
@@ -249,6 +254,9 @@ std::string SystemSnapshotLinux::CPUVend
#elif defined(ARCH_CPU_RISCV64)
// Not implemented
return std::string();
@ -852,7 +852,7 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/syste
#else
#error port to your architecture
#endif
@@ -401,6 +409,9 @@ bool SystemSnapshotLinux::NXEnabled() co
@@ -380,6 +388,9 @@ bool SystemSnapshotLinux::NXEnabled() co
#elif defined(ARCH_CPU_RISCV64)
// Not implemented
return false;
@ -862,10 +862,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/syste
#else
#error Port.
#endif // ARCH_CPU_X86_FAMILY
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
--- 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
@@ -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-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/threa
#else
#error Port.
#endif
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
@@ -79,6 +79,8 @@ class ThreadSnapshotLinux final : public
--- 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
CPUContextMIPS64 mips64;
#elif defined(ARCH_CPU_RISCV64)
CPUContextRISCV64 riscv64;
@ -894,10 +894,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/threa
#else
#error Port.
#endif // ARCH_CPU_X86_FAMILY
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
--- 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
@@ -317,5 +317,38 @@ void InitializeCPUContextRISCV64(CPUCont
riscv64->fcsr = value++;
}
@ -937,10 +937,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_c
+
} // namespace test
} // namespace crashpad
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
--- 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
@@ -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-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_c
//! \}
} // namespace test
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/test/linux/get_tls.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/test/linux/get_tls.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/test/linux/get_tls.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/test/linux/get_tls.cc
--- 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
@@ -51,6 +51,8 @@ LinuxVMAddress GetTLS() {
: "$3");
#elif defined(ARCH_CPU_RISCV64)
@ -962,10 +962,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/test/linux/get_tls.c
#else
#error Port.
#endif // ARCH_CPU_ARMEL
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/test/multiprocess_posix.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/test/multiprocess_posix.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/test/multiprocess_posix.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/test/multiprocess_posix.cc
--- 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
@@ -162,7 +162,8 @@ void Multiprocess::SetExpectedChildTermi
}
@ -976,10 +976,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/test/multiprocess_po
SetExpectedChildTermination(kTerminationSignal, SIGTRAP);
#else
SetExpectedChildTermination(kTerminationSignal, SIGILL);
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
--- 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
@@ -56,6 +56,11 @@ bool AuxiliaryVector::Read(PtraceConnect
if (type == AT_IGNORE) {
continue;
@ -992,10 +992,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/auxiliary
if (!MapInsertOrReplace(&values_, type, value, nullptr)) {
LOG(ERROR) << "duplicate auxv entry";
return false;
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/ptracer.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/ptracer.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/linux/ptracer.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/ptracer.cc
--- 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
@@ -430,6 +430,64 @@ bool GetThreadArea64(pid_t tid,
return true;
}
@ -1071,10 +1071,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/ptracer.c
GetThreadArea64(tid,
info->thread_context,
&info->thread_specific_data_address,
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/thread_info.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/thread_info.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/linux/thread_info.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/thread_info.h
--- 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
@@ -34,6 +34,10 @@
#include <asm/ptrace.h>
#endif
@ -1193,10 +1193,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/thread_in
//! \brief The thread-local storage address for the thread.
LinuxVMAddress thread_specific_data_address;
};
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context.h
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context.h
--- 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
@@ -70,6 +70,7 @@ using NativeCPUContext = ucontext_t;
//! Linux | ARM/ARM64 | `r0`/`x0`
//! Linux | MIPS/MIPS64 | `$a0`
@ -1205,10 +1205,10 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
--- 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
@@ -30,7 +30,7 @@
.globl CAPTURECONTEXT_SYMBOL2
#if defined(__i386__) || defined(__x86_64__)
@ -1435,10 +1435,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_co
#elif defined(__riscv)
#define MCONTEXT_GREGS_OFFSET 176
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
--- 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
@@ -48,7 +48,7 @@ void TestCaptureContext() {
uintptr_t pc = ProgramCounterFromContext(context_1);
@ -1448,10 +1448,10 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
--- 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
@@ -38,6 +38,8 @@ void SanityCheckContext(const NativeCPUC
#elif defined(ARCH_CPU_RISCV64)
EXPECT_EQ(context.uc_mcontext.__gregs[10],

View file

@ -54,10 +54,10 @@ https://wiki.raptorcs.com/wiki/Porting/Chromium
src/tools/linux/md2core/minidump-2-core.cc | 45 +++++++++++++++
25 files changed, 281 insertions(+), 35 deletions(-)
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
--- 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
@@ -51,6 +51,8 @@ typedef MDRawContextRISCV64 RawContextCP
# else
# error "Unexpected __riscv_xlen"
@ -67,10 +67,10 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
#else
#error "This code has not been ported to your platform yet."
#endif
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
--- 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
@@ -336,7 +336,42 @@ void ThreadInfo::FillCPUContext(RawConte
#error "Unexpected __riscv_xlen"
#endif
@ -153,10 +153,10 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
+#endif
+
} // namespace google_breakpad
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
--- 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
@@ -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-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
};
} // namespace google_breakpad
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
--- 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
@@ -324,6 +324,48 @@ void UContextReader::FillCPUContext(RawC
#error "Unexpected __riscv_xlen"
#endif
@ -233,10 +233,10 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
#endif
} // namespace google_breakpad
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
--- 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
@@ -54,6 +54,9 @@ struct UContextReader {
#elif defined(__aarch64__)
static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc,
@ -247,11 +247,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
#else
static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc);
#endif
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
@@ -466,6 +466,13 @@ bool ExceptionHandler::HandleSignal(int
--- 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
@@ -464,6 +464,13 @@ bool ExceptionHandler::HandleSignal(int
memcpy(&g_crash_context_.float_state, fp_ptr,
sizeof(g_crash_context_.float_state));
}
@ -265,7 +265,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
ucontext_t* uc_ptr = (ucontext_t*)uc;
if (uc_ptr->uc_mcontext.fpregs) {
@@ -704,10 +711,18 @@ bool ExceptionHandler::WriteMinidump() {
@@ -701,10 +708,18 @@ bool ExceptionHandler::WriteMinidump() {
}
#endif
@ -285,7 +285,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
context.tid = sys_gettid();
// Add an exception stream to the minidump for better reporting.
@@ -728,6 +743,9 @@ bool ExceptionHandler::WriteMinidump() {
@@ -725,6 +740,9 @@ bool ExceptionHandler::WriteMinidump() {
#elif defined(__mips__)
context.siginfo.si_addr =
reinterpret_cast<void*>(context.context.uc_mcontext.pc);
@ -295,11 +295,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
#elif defined(__riscv)
context.siginfo.si_addr =
reinterpret_cast<void*>(context.context.uc_mcontext.__gregs[REG_PC]);
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
@@ -197,7 +197,11 @@ class ExceptionHandler {
--- 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
@@ -200,7 +200,11 @@ class ExceptionHandler {
siginfo_t siginfo;
pid_t tid; // the crashing thread.
ucontext_t context;
@ -312,11 +312,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
fpstate_t float_state;
#endif
};
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
@@ -325,7 +325,7 @@ TEST(ExceptionHandlerTest, ParallelChild
--- 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
@@ -321,7 +321,7 @@ TEST(ExceptionHandlerTest, ParallelChild
ASSERT_EQ(SIGSEGV, WTERMSIG(status));
return;
} else {
@ -325,7 +325,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
}
}
@@ -581,6 +581,8 @@ const unsigned char kIllegalInstruction[
@@ -576,6 +576,8 @@ const unsigned char kIllegalInstruction[
#if defined(__mips__)
// mfc2 zero,Impl - usually illegal in userspace.
0x48, 0x00, 0x00, 0x48
@ -334,7 +334,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
#else
// This crashes with SIGILL on x86/x86-64/arm.
0xff, 0xff, 0xff, 0xff
@@ -776,10 +778,10 @@ TEST(ExceptionHandlerTest, InstructionPo
@@ -771,10 +773,10 @@ TEST(ExceptionHandlerTest, InstructionPo
// These are defined here so the parent can use them to check the
// data from the minidump afterwards.
@ -347,22 +347,22 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
const int kOffset = kMemorySize - sizeof(kIllegalInstruction);
const pid_t child = fork();
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
@@ -143,7 +143,9 @@ class MicrodumpWriter {
--- 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
@@ -141,7 +141,9 @@ class MicrodumpWriter {
const MicrodumpExtraInfo& microdump_extra_info,
LinuxDumper* dumper)
: ucontext_(context ? &context->context : nullptr),
: ucontext_(context ? &context->context : NULL),
-#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
+#if defined(__powerpc64__)
+ vector_state_(context ? &context->vector_state : nullptr),
+ vector_state_(context ? &context->vector_state : NULL),
+#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
float_state_(context ? &context->float_state : nullptr),
float_state_(context ? &context->float_state : NULL),
#endif
dumper_(dumper),
@@ -350,6 +352,8 @@ class MicrodumpWriter {
@@ -348,6 +350,8 @@ class MicrodumpWriter {
# else
# error "Unexpected __riscv_xlen"
# endif
@ -371,7 +371,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/mic
#else
# error "This code has not been ported to your platform yet"
#endif
@@ -422,7 +426,9 @@ class MicrodumpWriter {
@@ -420,7 +424,9 @@ class MicrodumpWriter {
void DumpCPUState() {
RawContextCPU cpu;
my_memset(&cpu, 0, sizeof(RawContextCPU));
@ -382,7 +382,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/mic
UContextReader::FillCPUContext(&cpu, ucontext_, float_state_);
#else
UContextReader::FillCPUContext(&cpu, ucontext_);
@@ -618,7 +624,9 @@ class MicrodumpWriter {
@@ -616,7 +622,9 @@ class MicrodumpWriter {
void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
const ucontext_t* const ucontext_;
@ -393,11 +393,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/mic
const google_breakpad::fpstate_t* const float_state_;
#endif
LinuxDumper* dumper_;
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
@@ -281,10 +281,19 @@ TEST(MicrodumpWriterTest, BasicWithMappi
--- 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
@@ -282,10 +282,19 @@ TEST(MicrodumpWriterTest, BasicWithMappi
CrashAndGetMicrodump(mappings, MicrodumpExtraInfo(), &buf);
ASSERT_TRUE(ContainsMicrodump(buf));
@ -420,10 +420,10 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/mic
#else
ASSERT_NE(std::string::npos,
buf.find("M 00001000 0000002A 00001000 "
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
--- 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
@@ -118,6 +118,9 @@ bool LinuxCoreDumper::GetThreadInfoByInd
#elif defined(__riscv)
stack_pointer = reinterpret_cast<uint8_t*>(
@ -446,11 +446,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
# if defined(__ANDROID__)
for (int i = EF_R0; i <= EF_R31; i++)
info.mcontext.gregs[i - EF_R0] = status->pr_reg[i];
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
@@ -789,7 +789,9 @@ bool LinuxDumper::GetStackInfo(const voi
--- 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
@@ -770,7 +770,9 @@ bool LinuxDumper::GetStackInfo(const voi
reinterpret_cast<uint8_t*>(int_stack_pointer & ~(page_size - 1));
// The number of bytes of stack which we try to capture.
@ -461,10 +461,10 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
const MappingInfo* mapping = FindMapping(stack_pointer);
if (!mapping)
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
--- 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
@@ -64,7 +64,8 @@ namespace google_breakpad {
typedef Elf32_auxv_t elf_aux_entry;
#elif defined(__x86_64) || defined(__aarch64__) || \
@ -475,11 +475,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
typedef Elf64_auxv_t elf_aux_entry;
#endif
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
@@ -57,6 +57,8 @@
--- 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
@@ -56,6 +56,8 @@
#define TID_PTR_REGISTER "$1"
#elif defined(__riscv)
#define TID_PTR_REGISTER "x4"
@ -488,10 +488,10 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
#else
#error This test has not been ported to this platform.
#endif
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
--- 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
@@ -208,12 +208,12 @@ bool LinuxPtraceDumper::ReadRegisterSet(
#ifdef PTRACE_GETREGSET
struct iovec io;
@ -533,11 +533,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
#else
# error "This code hasn't been ported to your platform yet."
#endif
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
@@ -469,6 +469,9 @@ TEST(LinuxPtraceDumperTest, VerifyStackR
--- 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
@@ -470,6 +470,9 @@ TEST(LinuxPtraceDumperTest, VerifyStackR
#elif defined(__riscv)
pid_t* process_tid_location =
reinterpret_cast<pid_t*>(one_thread.mcontext.__gregs[4]);
@ -547,7 +547,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
#else
#error This test has not been ported to this platform.
#endif
@@ -568,6 +571,8 @@ TEST_F(LinuxPtraceDumperTest, SanitizeSt
@@ -569,6 +572,8 @@ TEST_F(LinuxPtraceDumperTest, SanitizeSt
uintptr_t heap_addr = thread_info.mcontext.gregs[1];
#elif defined(__riscv)
uintptr_t heap_addr = thread_info.mcontext.__gregs[4];
@ -556,22 +556,22 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
#else
#error This test has not been ported to this platform.
#endif
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
@@ -145,7 +145,9 @@ class MinidumpWriter {
--- 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
@@ -144,7 +144,9 @@ class MinidumpWriter {
: fd_(minidump_fd),
path_(minidump_path),
ucontext_(context ? &context->context : nullptr),
ucontext_(context ? &context->context : NULL),
-#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
+#if defined(__powerpc64__)
+ vector_state_(context ? &context->vector_state : nullptr),
+ vector_state_(context ? &context->vector_state : NULL),
+#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
float_state_(context ? &context->float_state : nullptr),
float_state_(context ? &context->float_state : NULL),
#endif
dumper_(dumper),
@@ -477,7 +479,9 @@ class MinidumpWriter {
@@ -476,7 +478,9 @@ class MinidumpWriter {
if (!cpu.Allocate())
return false;
my_memset(cpu.get(), 0, sizeof(RawContextCPU));
@ -582,7 +582,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
UContextReader::FillCPUContext(cpu.get(), ucontext_, float_state_);
#else
UContextReader::FillCPUContext(cpu.get(), ucontext_);
@@ -954,7 +958,7 @@ class MinidumpWriter {
@@ -953,7 +957,7 @@ class MinidumpWriter {
dirent->location.rva = 0;
}
@ -591,7 +591,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
bool WriteCPUInformation(MDRawSystemInfo* sys_info) {
char vendor_id[sizeof(sys_info->cpu.x86_cpu_info.vendor_id) + 1] = {0};
static const char vendor_id_name[] = "vendor_id";
@@ -974,7 +978,9 @@ class MinidumpWriter {
@@ -973,7 +977,9 @@ class MinidumpWriter {
// processor_architecture should always be set, do this first
sys_info->processor_architecture =
@ -602,7 +602,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
# if _MIPS_SIM == _ABIO32
MD_CPU_ARCHITECTURE_MIPS;
# elif _MIPS_SIM == _ABI64
@@ -1441,7 +1447,9 @@ class MinidumpWriter {
@@ -1440,7 +1446,9 @@ class MinidumpWriter {
const char* path_; // Path to the file where the minidum should be written.
const ucontext_t* const ucontext_; // also from the signal handler
@ -613,10 +613,10 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
const google_breakpad::fpstate_t* const float_state_; // ditto
#endif
LinuxDumper* dumper_;
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
--- 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
@@ -47,6 +47,8 @@ class ExceptionHandler;
#if defined(__aarch64__)
@ -626,10 +626,10 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
#elif !defined(__ARM_EABI__) && !defined(__mips__)
typedef std::remove_pointer<fpregset_t>::type fpstate_t;
#endif
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
--- 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
@@ -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-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
#else
# error "This code has not been ported to your platform yet."
#endif
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
--- 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
@@ -72,8 +72,7 @@ bool MemoryMappedFile::Map(const char* p
#if defined(__x86_64__) || defined(__aarch64__) || \
@ -654,11 +654,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/mem
struct kernel_stat st;
if (sys_fstat(fd, &st) == -1 || st.st_size < 0) {
#else
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
@@ -178,9 +178,10 @@ TEST_F(MemoryMappedFileTest, RemapAfterM
--- 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
@@ -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
// done on page boundaries, so we need a two page file to test this.
@ -672,25 +672,25 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/mem
for (size_t i = 0; i < data1_size; ++i) {
data1[i] = i & 0x7f;
}
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
@@ -64,8 +64,9 @@ TEST(PageAllocatorTest, LargeObject) {
--- 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
@@ -60,8 +60,9 @@ TEST(PageAllocatorTest, LargeObject) {
EXPECT_EQ(0U, allocator.pages_allocated());
uint8_t* p = reinterpret_cast<uint8_t*>(allocator.Alloc(10000));
+ uint64_t expected_pages = 1 + ((10000 - 1) / getpagesize());
ASSERT_FALSE(p == nullptr);
ASSERT_FALSE(p == NULL);
- EXPECT_EQ(3U, allocator.pages_allocated());
+ EXPECT_EQ(expected_pages, allocator.pages_allocated());
for (unsigned i = 1; i < 10; ++i) {
uint8_t* p = reinterpret_cast<uint8_t*>(allocator.Alloc(i));
ASSERT_FALSE(p == nullptr);
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
ASSERT_FALSE(p == NULL);
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
===================================================================
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
--- 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
@@ -82,6 +82,8 @@
#define ELF_ARCH EM_AARCH64
#elif defined(__riscv)
@ -709,7 +709,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/tools/linux/md2c
#endif
using google_breakpad::MDTypeHelper;
@@ -325,6 +329,9 @@ struct CrashedProcess {
@@ -324,6 +328,9 @@ struct CrashedProcess {
#if defined(__aarch64__)
user_fpsimd_struct fpregs;
#endif
@ -719,7 +719,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/tools/linux/md2c
uintptr_t stack_addr;
const uint8_t* stack;
size_t stack_length;
@@ -628,6 +635,38 @@ ParseThreadRegisters(CrashedProcess::Thr
@@ -627,6 +634,38 @@ ParseThreadRegisters(CrashedProcess::Thr
#error "Unexpected __riscv_xlen"
#endif
}
@ -758,7 +758,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/tools/linux/md2c
#else
#error "This code has not been ported to your platform yet"
#endif
@@ -733,6 +772,12 @@ ParseSystemInfo(const Options& options,
@@ -732,6 +771,12 @@ ParseSystemInfo(const Options& options,
# else
# error "Unexpected __riscv_xlen"
# endif

View file

@ -1,46 +0,0 @@
From e93d9b5fdcd8e5744de629461c03a07de2252f8f Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgallagh@redhat.com>
Date: Fri, 17 Apr 2020 12:59:44 +0200
Subject: [PATCH] Remove unused OpenSSL config
The build process will try to create these config files, even when
using the system OpenSSL and will thus fail since we strip this path
from the tarball.
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
Signed-off-by: rpm-build <rpm-build>
---
node.gyp | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/node.gyp b/node.gyp
index 1147495..da6ea50 100644
--- a/node.gyp
+++ b/node.gyp
@@ -822,23 +822,6 @@
],
},
],
- }, {
- 'variables': {
- 'opensslconfig_internal': '<(obj_dir)/deps/openssl/openssl.cnf',
- 'opensslconfig': './deps/openssl/nodejs-openssl.cnf',
- },
- 'actions': [
- {
- 'action_name': 'reset_openssl_cnf',
- 'inputs': [ '<(opensslconfig)', ],
- 'outputs': [ '<(opensslconfig_internal)', ],
- 'action': [
- '<(python)', 'tools/copyfile.py',
- '<(opensslconfig)',
- '<(opensslconfig_internal)',
- ],
- },
- ],
}],
],
}, # node_core_target_name
--
2.47.0

View file

@ -1,35 +0,0 @@
Index: chromium-144.0.7559.59/third_party/xnnpack/generate_build_gn.py
===================================================================
--- chromium-144.0.7559.59.orig/third_party/xnnpack/generate_build_gn.py
+++ chromium-144.0.7559.59/third_party/xnnpack/generate_build_gn.py
@@ -239,7 +239,10 @@ _PLATFORMS = [
bazel_platform='//:linux_aarch64'),
_Platform(gn_cpu='riscv64',
bazel_cpu='riscv64',
- bazel_platform='//:linux_riscv64')
+ bazel_platform='//:linux_riscv64'),
+ _Platform(gn_cpu='ppc64',
+ bazel_cpu='ppc64le',
+ bazel_platform='//:linux_ppc64le')
]
Index: chromium-144.0.7559.59/third_party/xnnpack/bazelroot/BUILD
===================================================================
--- chromium-144.0.7559.59.orig/third_party/xnnpack/bazelroot/BUILD
+++ chromium-144.0.7559.59/third_party/xnnpack/bazelroot/BUILD
@@ -29,6 +29,14 @@ platform(
],
)
+platform(
+ name = "linux_ppc64le",
+ constraint_values = [
+ "@platforms//os:linux",
+ "@platforms//cpu:ppc64le",
+ ],
+)
+
# A dummy clang toolchain for building them for any arch.
filegroup(name = "empty")

View file

@ -0,0 +1,37 @@
From b3a14db7637232d30c878cc1f1ad6d8037e81379 Mon Sep 17 00:00:00 2001
From: Shawn Anastasio <shawn@anastas.io>
Date: Tue, 15 Jan 2019 22:42:21 -0600
Subject: [PATCH] linux/seccomp-bpf: ppc64+glibc workaround in SIGSYS handler
Workaround for an apparent issue with glibc negating syscall
parameters. Observed on a ppc64le machine with glibc.
More investigation required.
---
sandbox/linux/seccomp-bpf/trap.cc | 14 ++++++++++++++
1 file changed, 14 insertions(+)
Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf/trap.cc
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf/trap.cc
+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf/trap.cc
@@ -236,6 +236,20 @@ void Trap::SigSys(int nr, LinuxSigInfo*
SetIsInSigHandler();
}
+#if defined(__powerpc64__)
+ // On ppc64+glibc, some syscalls seem to accidentally negate the first
+ // parameter which causes checks against it to fail. For now, manually
+ // negate them back.
+ // TODO(shawn@anastas.io): investigate this issue further
+ auto nr = SECCOMP_SYSCALL(ctx);
+ if (nr == __NR_openat || nr == __NR_mkdirat || nr == __NR_faccessat || nr == __NR_readlinkat ||
+ nr == __NR_renameat || nr == __NR_renameat2 || nr == __NR_newfstatat || nr == __NR_unlinkat) {
+ if (static_cast<int>(SECCOMP_PARM1(ctx)) > 0) {
+ SECCOMP_PARM1(ctx) = -SECCOMP_PARM1(ctx);
+ }
+ }
+#endif
+
// Copy the seccomp-specific data into a arch_seccomp_data structure. This
// is what we are showing to TrapFnc callbacks that the system call
// evaluator registered with the sandbox.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,80 @@
From 036d209a3f1a771de9aed31dfbe804aaf91d1c27 Mon Sep 17 00:00:00 2001
From: Shawn Anastasio <shawnanastasio@yahoo.com>
Date: Thu, 9 Aug 2018 23:35:21 -0500
Subject: [PATCH] sandbox/linux: Implement partial support for ppc64 syscalls
and ucontext
Unlike other architectures, the ppc64 files currently rely on applicable
headers being provided by the system. It is sufficient for standard
GNU/Linux environments, but may require expansion elsewhere.
---
sandbox/linux/BUILD.gn | 2 ++
sandbox/linux/system_headers/linux_syscalls.h | 4 ++++
sandbox/linux/system_headers/linux_ucontext.h | 2 ++
sandbox/linux/system_headers/ppc64_linux_syscalls.h | 12 ++++++++++++
sandbox/linux/system_headers/ppc64_linux_ucontext.h | 12 ++++++++++++
5 files changed, 32 insertions(+)
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
===================================================================
--- 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") {
source_set("sandbox_services_headers") {
sources = [
+ "system_headers/ppc64_linux_syscalls.h",
+ "system_headers/ppc64_linux_ucontext.h",
"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
===================================================================
--- 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
@@ -35,5 +35,9 @@
#include "sandbox/linux/system_headers/arm64_linux_syscalls.h"
#endif
+#if defined(__powerpc64__)
+#include "sandbox/linux/system_headers/ppc64_linux_syscalls.h"
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_
Index: chromium-128.0.6613.113/sandbox/linux/system_headers/ppc64_linux_syscalls.h
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/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
+// found in the LICENSE file.
+
+#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_
+#define SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_
+
+#include <asm/unistd.h>
+
+//TODO: is it necessary to redefine syscall numbers for PPC64?
+
+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_
Index: chromium-128.0.6613.113/sandbox/linux/system_headers/ppc64_linux_ucontext.h
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/sandbox/linux/system_headers/ppc64_linux_ucontext.h
@@ -0,0 +1,12 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_
+#define SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_
+
+#include <sys/ucontext.h>
+
+//TODO: is it necessary to redefine ucontext on PPC64?
+
+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_

View file

@ -0,0 +1,22 @@
From c41cd6ac927f592b161abc04468d3c7a4be91995 Mon Sep 17 00:00:00 2001
From: Shawn Anastasio <shawnanastasio@yahoo.com>
Date: Tue, 23 Oct 2018 15:49:31 -0500
Subject: [PATCH] sandbox/linux: Update IsSyscallAllowed in broker_process.cc
---
sandbox/linux/syscall_broker/broker_process.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: chromium-128.0.6613.113/sandbox/linux/syscall_broker/broker_process.cc
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/syscall_broker/broker_process.cc
+++ chromium-128.0.6613.113/sandbox/linux/syscall_broker/broker_process.cc
@@ -169,7 +169,7 @@ bool BrokerProcess::IsSyscallBrokerable(
#if defined(__NR_fstatat64)
case __NR_fstatat64:
#endif
-#if defined(__x86_64__) || defined(__aarch64__)
+#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__)
case __NR_newfstatat:
#endif
return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT);

View file

@ -0,0 +1,638 @@
From da52663deec77f705d7d58b18484c3e28e563f10 Mon Sep 17 00:00:00 2001
From: Shawn Anastasio <shawnanastasio@yahoo.com>
Date: Tue, 18 Sep 2018 18:39:28 -0500
Subject: [PATCH] sandbox/linux: Update syscall helpers/lists for ppc64
---
.../seccomp-bpf-helpers/baseline_policy.cc | 8 +-
.../syscall_parameters_restrictions.cc | 2 +-
.../syscall_parameters_restrictions.h | 2 +-
.../linux/seccomp-bpf-helpers/syscall_sets.cc | 108 ++++++++++--------
.../linux/seccomp-bpf-helpers/syscall_sets.h | 6 +-
sandbox/linux/services/syscall_wrappers.cc | 2 +-
6 files changed, 73 insertions(+), 55 deletions(-)
Index: chromium-130.0.6723.44/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
@@ -90,7 +90,8 @@ bool IsBaselinePolicyWatched(int sysno)
SyscallSets::IsPrctl(sysno) ||
SyscallSets::IsProcessGroupOrSession(sysno) ||
#if defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
SyscallSets::IsSocketCall(sysno) ||
#endif
#if defined(__arm__)
@@ -255,7 +256,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de
}
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
if (sysno == __NR_mmap)
return RestrictMmapFlags();
#endif
@@ -276,7 +277,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de
return RestrictPrctl();
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
if (sysno == __NR_socketpair) {
// Only allow AF_UNIX, PF_UNIX. Crash if anything else is seen.
static_assert(AF_UNIX == PF_UNIX,
@@ -340,7 +341,8 @@ ResultExpr EvaluateSyscallImpl(int fs_de
}
#if defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
if (SyscallSets::IsSocketCall(sysno))
return RestrictSocketcallCommand();
#endif
Index: chromium-130.0.6723.44/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
@@ -36,7 +36,7 @@
#include "sandbox/linux/system_headers/linux_time.h"
#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
- !defined(__arm__) && !defined(__aarch64__) && \
+ !defined(__arm__) && !defined(__aarch64__) && !defined(__powerpc64__) && \
!defined(PTRACE_GET_THREAD_AREA)
// Also include asm/ptrace-abi.h since ptrace.h in older libc (for instance
// the one in Ubuntu 16.04 LTS) is missing PTRACE_GET_THREAD_AREA.
@@ -45,6 +45,11 @@
#include <asm/ptrace-abi.h>
#endif
+// On PPC64, TCGETS is defined in terms of struct termios, so we must include termios.h
+#ifdef __powerpc64__
+#include <termios.h>
+#endif
+
#if BUILDFLAG(IS_ANDROID)
#if !defined(F_DUPFD_CLOEXEC)
@@ -102,6 +107,15 @@ inline bool IsArchitectureMips() {
#endif
}
+inline bool IsArchitecturePPC64() {
+#if defined(__powerpc64__)
+ return true;
+#else
+ return false;
+#endif
+}
+
+
// Ubuntu's version of glibc has a race condition in sem_post that can cause
// it to call futex(2) with bogus op arguments. To workaround this, we need
// to allow those futex(2) calls to fail with EINVAL, instead of crashing the
@@ -269,9 +283,11 @@ ResultExpr RestrictFcntlCommands() {
// operator.
// Glibc overrides the kernel's O_LARGEFILE value. Account for this.
uint64_t kOLargeFileFlag = O_LARGEFILE;
- if (IsArchitectureX86_64() || IsArchitectureI386() || IsArchitectureMips())
+ if (IsArchitectureX86_64() || IsArchitectureI386() || IsArchitectureMips() \
+ || IsArchitecturePPC64())
kOLargeFileFlag = 0100000;
+
const Arg<int> cmd(1);
const Arg<long> long_arg(2);
@@ -294,8 +310,17 @@ ResultExpr RestrictFcntlCommands() {
F_SETLKW,
F_GETLK,
F_DUPFD,
- F_DUPFD_CLOEXEC},
- Allow())
+ F_DUPFD_CLOEXEC
+#if defined(__powerpc64__)
+// On PPC64, F_SETLK, F_GETLK, F_SETLKW are defined as the 64-bit variants
+// but glibc will sometimes still use the 32-bit versions. Allow both.
+ ,
+ 5, /* F_GETLK (32) */
+ 6, /* F_SETLK (32) */
+ 7 /* F_SETLKW (32) */
+#endif
+ },
+ Allow())
.Case(F_SETFL,
If((long_arg & ~kAllowedMask) == 0, Allow()).Else(CrashSIGSYS()))
.Case(F_ADD_SEALS,
@@ -304,7 +329,7 @@ ResultExpr RestrictFcntlCommands() {
// clang-format on
}
-#if defined(__i386__) || defined(__mips__)
+#if defined(__i386__) || defined(__mips__) || defined(__powerpc64__)
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() {
#endif
return Switch(request)
.Cases({
-#if !defined(__aarch64__)
+#if !defined(__aarch64__) && !defined(__powerpc64__)
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
===================================================================
--- 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
@@ -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();
-#if defined(__i386__) || defined(__mips__)
+#if defined(__i386__) || defined(__mips__) || defined(__powerpc64__)
// 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
===================================================================
--- 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
@@ -29,7 +29,8 @@ bool SyscallSets::IsAllowedGettime(int s
switch (sysno) {
case __NR_gettimeofday:
#if defined(__i386__) || defined(__x86_64__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_time:
#endif
return true;
@@ -52,12 +53,14 @@ bool SyscallSets::IsAllowedGettime(int s
case __NR_clock_nanosleep_time64: // Parameters filtered by RestrictClockID().
#endif
#if defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_ftime: // Obsolete.
#endif
case __NR_settimeofday: // Privileged.
#if defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_stime:
#endif
default:
@@ -136,7 +139,7 @@ bool SyscallSets::IsFileSystem(int sysno
case __NR_faccessat2:
case __NR_fchmodat:
case __NR_fchownat: // Should be called chownat ?
-#if defined(__x86_64__) || defined(__aarch64__)
+#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__)
case __NR_newfstatat: // fstatat(). EPERM not a valid errno.
#elif defined(__i386__) || defined(__arm__) || \
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
@@ -155,7 +158,7 @@ bool SyscallSets::IsFileSystem(int sysno
case __NR_memfd_create:
case __NR_mkdirat:
case __NR_mknodat:
-#if defined(__i386__)
+#if defined(__i386__) || defined(__powerpc64__)
case __NR_oldlstat:
case __NR_oldstat:
#endif
@@ -169,7 +172,8 @@ bool SyscallSets::IsFileSystem(int sysno
#endif
case __NR_statfs: // EPERM not a valid errno.
#if defined(__i386__) || defined(__arm__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_statfs64:
#endif
case __NR_statx: // EPERM not a valid errno.
@@ -180,7 +184,8 @@ bool SyscallSets::IsFileSystem(int sysno
case __NR_truncate64:
#endif
case __NR_unlinkat:
-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
+ defined(__powerpc64__)
case __NR_utime:
#endif
case __NR_utimensat: // New.
@@ -220,7 +225,8 @@ bool SyscallSets::IsAllowedFileSystemAcc
#endif
return true;
// TODO(jln): these should be denied gracefully as well (moved below).
-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
+ defined(__powerpc64__)
case __NR_fadvise64: // EPERM not a valid errno.
#endif
#if defined(__i386__)
@@ -233,11 +239,12 @@ bool SyscallSets::IsAllowedFileSystemAcc
case __NR_flock: // EPERM not a valid errno.
case __NR_fstatfs: // Give information about the whole filesystem.
#if defined(__i386__) || defined(__arm__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_fstatfs64:
#endif
case __NR_fsync: // EPERM not a valid errno.
-#if defined(__i386__)
+#if defined(__i386__) || defined(__powerpc64__)
case __NR_oldfstat:
#endif
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@@ -245,6 +252,8 @@ bool SyscallSets::IsAllowedFileSystemAcc
case __NR_sync_file_range: // EPERM not a valid errno.
#elif defined(__arm__)
case __NR_arm_sync_file_range: // EPERM not a valid errno.
+#elif defined(__powerpc64__)
+ case __NR_sync_file_range2: // EPERM not a valid errno.
#endif
default:
return false;
@@ -265,7 +274,8 @@ bool SyscallSets::IsDeniedFileSystemAcce
#endif
case __NR_getdents64: // EPERM not a valid errno.
#if defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_readdir:
#endif
return true;
@@ -306,7 +316,7 @@ bool SyscallSets::IsGetSimpleId(int sysn
bool SyscallSets::IsProcessPrivilegeChange(int sysno) {
switch (sysno) {
case __NR_capset:
-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc64__)
case __NR_ioperm: // Intel privilege.
case __NR_iopl: // Intel privilege.
#endif
@@ -362,7 +372,8 @@ bool SyscallSets::IsAllowedSignalHandlin
// overflow.
case __NR_sigaltstack:
#if defined(__i386__) || defined(__arm__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_rt_sigtimedwait_time64:
case __NR_sigaction:
case __NR_sigprocmask:
@@ -378,7 +389,8 @@ bool SyscallSets::IsAllowedSignalHandlin
#endif
case __NR_signalfd4:
#if defined(__i386__) || defined(__arm__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_sigpending:
case __NR_sigsuspend:
#endif
@@ -402,7 +414,7 @@ bool SyscallSets::IsAllowedOperationOnFd
#endif
case __NR_dup3:
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
case __NR_shutdown:
#endif
return true;
@@ -435,7 +447,7 @@ bool SyscallSets::IsAllowedProcessStartO
case __NR_exit_group:
case __NR_wait4:
case __NR_waitid:
-#if defined(__i386__)
+#if defined(__i386__) || defined(__powerpc64__)
case __NR_waitpid:
#endif
return true;
@@ -452,7 +464,7 @@ bool SyscallSets::IsAllowedProcessStartO
#endif
case __NR_set_tid_address:
case __NR_unshare:
-#if !defined(__mips__) && !defined(__aarch64__)
+#if !defined(__mips__) && !defined(__aarch64__) || defined(__powerpc64__)
case __NR_vfork:
#endif
default:
@@ -499,7 +511,7 @@ bool SyscallSets::IsAllowedEpoll(int sys
bool SyscallSets::IsDeniedGetOrModifySocket(int sysno) {
switch (sysno) {
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
case __NR_accept:
case __NR_accept4:
case __NR_bind:
@@ -514,7 +526,8 @@ bool SyscallSets::IsDeniedGetOrModifySoc
}
#if defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
// Big multiplexing system call for sockets.
bool SyscallSets::IsSocketCall(int sysno) {
switch (sysno) {
@@ -528,7 +541,8 @@ bool SyscallSets::IsSocketCall(int sysno
}
#endif
-#if defined(__x86_64__) || defined(__arm__) || defined(__mips__)
+#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
+ defined(__powerpc64__)
bool SyscallSets::IsNetworkSocketInformation(int sysno) {
switch (sysno) {
case __NR_getpeername:
@@ -554,7 +568,7 @@ bool SyscallSets::IsAllowedAddressSpaceA
case __NR_mincore:
case __NR_mlockall:
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
case __NR_mmap:
#endif
#if defined(__i386__) || defined(__arm__) || \
@@ -584,7 +598,8 @@ bool SyscallSets::IsAllowedGeneralIo(int
switch (sysno) {
case __NR_lseek:
#if defined(__i386__) || defined(__arm__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR__llseek:
#endif
#if !defined(__aarch64__)
@@ -604,26 +619,28 @@ bool SyscallSets::IsAllowedGeneralIo(int
case __NR_readv:
case __NR_pread64:
#if defined(__arm__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_recv:
#endif
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
case __NR_recvfrom: // Could specify source.
case __NR_recvmsg: // Could specify source.
#endif
-#if defined(__i386__) || defined(__x86_64__)
+#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc64__)
case __NR_select:
#endif
-#if defined(__i386__) || defined(__arm__) || defined(__mips__)
+#if defined(__i386__) || defined(__arm__) || defined(__mips__) || defined(__powerpc64__)
case __NR__newselect:
#endif
#if defined(__arm__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_send:
#endif
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
case __NR_sendmsg: // Could specify destination.
case __NR_sendto: // Could specify destination.
#endif
@@ -679,7 +696,8 @@ bool SyscallSets::IsAllowedBasicSchedule
return true;
case __NR_getpriority:
#if defined(__i386__) || defined(__arm__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_nice:
#endif
case __NR_setpriority:
@@ -691,7 +709,8 @@ bool SyscallSets::IsAllowedBasicSchedule
bool SyscallSets::IsAdminOperation(int sysno) {
switch (sysno) {
#if defined(__i386__) || defined(__arm__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_bdflush:
#endif
case __NR_kexec_load:
@@ -707,7 +726,8 @@ bool SyscallSets::IsAdminOperation(int s
bool SyscallSets::IsKernelModule(int sysno) {
switch (sysno) {
-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
+ defined(__powerpc64__)
case __NR_create_module:
case __NR_get_kernel_syms: // Should ENOSYS.
case __NR_query_module:
@@ -740,7 +760,8 @@ bool SyscallSets::IsFsControl(int sysno)
case __NR_swapoff:
case __NR_swapon:
#if defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_umount:
#endif
case __NR_umount2:
@@ -756,7 +777,7 @@ bool SyscallSets::IsNuma(int sysno) {
case __NR_getcpu:
case __NR_mbind:
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
case __NR_migrate_pages:
#endif
case __NR_move_pages:
@@ -791,14 +812,15 @@ bool SyscallSets::IsGlobalProcessEnviron
switch (sysno) {
case __NR_acct: // Privileged.
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
case __NR_getrlimit:
#endif
-#if defined(__i386__) || defined(__arm__)
+#if defined(__i386__) || defined(__arm__) || defined(__powerpc64__)
case __NR_ugetrlimit:
#endif
#if defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_ulimit:
#endif
case __NR_getrusage:
@@ -832,7 +854,7 @@ bool SyscallSets::IsGlobalSystemStatus(i
#endif
case __NR_sysinfo:
case __NR_uname:
-#if defined(__i386__)
+#if defined(__i386__) || defined(__powerpc64__)
case __NR_olduname:
case __NR_oldolduname:
#endif
@@ -916,7 +938,8 @@ bool SyscallSets::IsSystemVSemaphores(in
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \
defined(__aarch64__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \
+ defined(__powerpc64__)
// These give a lot of ambient authority and bypass the setuid sandbox.
bool SyscallSets::IsSystemVSharedMemory(int sysno) {
switch (sysno) {
@@ -947,7 +970,8 @@ bool SyscallSets::IsSystemVMessageQueue(
#endif
#if defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
// Big system V multiplexing system call.
bool SyscallSets::IsSystemVIpc(int sysno) {
switch (sysno) {
@@ -967,7 +991,8 @@ bool SyscallSets::IsAnySystemV(int sysno
return IsSystemVMessageQueue(sysno) || IsSystemVSemaphores(sysno) ||
IsSystemVSharedMemory(sysno);
#elif defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
return IsSystemVIpc(sysno);
#endif
}
@@ -1024,7 +1049,8 @@ bool SyscallSets::IsFaNotify(int sysno)
bool SyscallSets::IsTimer(int sysno) {
switch (sysno) {
case __NR_getitimer:
-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
+ defined(__powerpc64__)
case __NR_alarm:
#endif
case __NR_setitimer:
@@ -1103,18 +1129,22 @@ bool SyscallSets::IsMisc(int sysno) {
case __NR_syncfs:
case __NR_vhangup:
// The system calls below are not implemented.
-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
+ defined(__powerpc64__)
case __NR_afs_syscall:
#endif
#if defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_break:
#endif
-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
+ defined(__powerpc64__)
case __NR_getpmsg:
#endif
#if defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_gtty:
case __NR_idle:
case __NR_lock:
@@ -1122,20 +1152,22 @@ bool SyscallSets::IsMisc(int sysno) {
case __NR_prof:
case __NR_profil:
#endif
-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
+ defined(__powerpc64__)
case __NR_putpmsg:
#endif
#if defined(__x86_64__)
case __NR_security:
#endif
#if defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
case __NR_stty:
#endif
-#if defined(__x86_64__)
+#if defined(__x86_64__) || defined(__powerpc64__)
case __NR_tuxcall:
#endif
-#if !defined(__aarch64__)
+#if !defined(__aarch64__) && !defined(__powerpc64__)
case __NR_vserver:
#endif
return true;
Index: chromium-130.0.6723.44/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
@@ -46,13 +46,14 @@ class SANDBOX_EXPORT SyscallSets {
static bool IsDeniedGetOrModifySocket(int sysno);
#if defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
// Big multiplexing system call for sockets.
static bool IsSocketCall(int sysno);
#endif
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
static bool IsNetworkSocketInformation(int sysno);
#endif
@@ -84,7 +85,8 @@ class SANDBOX_EXPORT SyscallSets {
#endif
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \
defined(__aarch64__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \
+ defined(__powerpc64__)
// These give a lot of ambient authority and bypass the setuid sandbox.
static bool IsSystemVSharedMemory(int sysno);
#endif
@@ -95,7 +97,8 @@ class SANDBOX_EXPORT SyscallSets {
#endif
#if defined(__i386__) || \
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
+ defined(__powerpc64__)
// Big system V multiplexing system call.
static bool IsSystemVIpc(int sysno);
#endif
Index: chromium-130.0.6723.44/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,
#if defined(ARCH_CPU_X86_64)
return syscall(__NR_clone, flags, child_stack, ptid, ctid, tls);
#elif defined(ARCH_CPU_X86) || defined(ARCH_CPU_ARM_FAMILY) || \
- defined(ARCH_CPU_MIPS_FAMILY)
+ defined(ARCH_CPU_MIPS_FAMILY) || defined(ARCH_CPU_PPC64_FAMILY)
// CONFIG_CLONE_BACKWARDS defined.
return syscall(__NR_clone, flags, child_stack, ptid, tls, ctid);
#endif

View file

@ -0,0 +1,27 @@
From c9043a422fb4a5a6c72aaa1b907cea5f6a3061dd Mon Sep 17 00:00:00 2001
From: Shawn Anastasio <shawnanastasio@yahoo.com>
Date: Thu, 9 Aug 2018 19:10:24 -0500
Subject: [PATCH 1/4] sandbox/linux/bpf_dsl: Update syscall ranges for ppc64
---
sandbox/linux/bpf_dsl/linux_syscall_ranges.h | 7 +++++++
1 file changed, 7 insertions(+)
Index: chromium-128.0.6613.113/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+++ chromium-128.0.6613.113/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
@@ -56,6 +56,13 @@
#define MAX_PUBLIC_SYSCALL __NR_syscalls
#define MAX_SYSCALL MAX_PUBLIC_SYSCALL
+#elif defined(__powerpc64__)
+
+#include <asm/unistd.h>
+#define MIN_SYSCALL 0u
+#define MAX_PUBLIC_SYSCALL 386u
+#define MAX_SYSCALL MAX_PUBLIC_SYSCALL
+
#else
#error "Unsupported architecture"
#endif

View file

@ -0,0 +1,26 @@
From 7468b266532bd607eb1f5292d758256d800b2eee Mon Sep 17 00:00:00 2001
From: Shawn Anastasio <shawnanastasio@yahoo.com>
Date: Fri, 10 Aug 2018 00:23:50 -0500
Subject: [PATCH] services/service_manager/sandbox/linux: Fix TCGETS
declaration on PPC64
---
.../sandbox/linux/bpf_renderer_policy_linux.cc | 5 +++++
1 file changed, 5 insertions(+)
Index: chromium-128.0.6613.113/sandbox/policy/linux/bpf_renderer_policy_linux.cc
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+++ chromium-128.0.6613.113/sandbox/policy/linux/bpf_renderer_policy_linux.cc
@@ -15,6 +15,11 @@
#include "sandbox/linux/system_headers/linux_syscalls.h"
#include "sandbox/policy/linux/sandbox_linux.h"
+// On PPC64, TCGETS is defined in terms of struct termios, so we must include termios.h
+#ifdef __powerpc64__
+#include <termios.h>
+#endif
+
// TODO(vignatti): replace the local definitions below with #include
// <linux/dma-buf.h> once kernel version 4.6 becomes widely used.
#include <linux/types.h>

View file

@ -1,20 +1,11 @@
Description: fix swiftshader build issue on ppc64el
Origin: vendor, https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/blob/chromium-131/patches/ppc64le/third_party/0001-swiftshader-fix-build.patch
Bug: https://buildd.debian.org/status/fetch.php?pkg=chromium&arch=ppc64el&ver=131.0.6778.204-1&stamp=1734633529&raw=0
Last-Update: 2024-12-20
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Index: chromium-144.0.7559.59/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn
===================================================================
--- chromium-144.0.7559.59.orig/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn
+++ chromium-144.0.7559.59/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn
@@ -1599,6 +1599,9 @@ swiftshader_llvm_source_set("swiftshader
--- a/third_party/swiftshader/third_party/llvm-10.0/BUILD.gn
+++ b/third_party/swiftshader/third_party/llvm-10.0/BUILD.gn
@@ -1258,6 +1258,8 @@
"llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp",
"llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp",
"llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp",
+ "llvm/lib/MC/MCXCOFFObjectTargetWriter.cpp",
+ "llvm/lib/MC/MCAsmInfoXCOFF.cpp",
+ "llvm/lib/MC/MCInstrInfo.cpp",
]
}

View file

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

View file

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

View file

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

View file

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

File diff suppressed because it is too large Load diff

View file

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

View file

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

View file

@ -0,0 +1,21 @@
From 82922bf486e9926a171152f61030dfcd53f017b8 Mon Sep 17 00:00:00 2001
From: Timothy Pearson <tpearson@raptorengineering.com>
Date: Thu, 30 Aug 2018 17:32:05 -0500
Subject: [PATCH] Include cstddef to fix build
size_t is not defined unless cstddef is included.
---
third_party/crashpad/crashpad/compat/linux/sys/user.h | 1 +
Index: chromium-127.0.6533.72/third_party/crashpad/crashpad/compat/linux/sys/user.h
===================================================================
--- chromium-127.0.6533.72.orig/third_party/crashpad/crashpad/compat/linux/sys/user.h
+++ chromium-127.0.6533.72/third_party/crashpad/crashpad/compat/linux/sys/user.h
@@ -15,6 +15,7 @@
#ifndef CRASHPAD_COMPAT_LINUX_SYS_USER_H_
#define CRASHPAD_COMPAT_LINUX_SYS_USER_H_
+#include <cstddef>
#include_next <sys/user.h>
#include <features.h>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,76 @@
From 3c4705bfdda45feb860a1f121631773e5fe8e53f Mon Sep 17 00:00:00 2001
From: Shawn Anastasio <shawnanastasio@yahoo.com>
Date: Thu, 9 Aug 2018 19:11:26 -0500
Subject: [PATCH 1/4] sandbox/linux/bpf_dsl: Modify seccomp_macros to add
support for ppc64
---
sandbox/linux/bpf_dsl/seccomp_macros.h | 43 ++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
Index: chromium-128.0.6613.113/sandbox/linux/bpf_dsl/seccomp_macros.h
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/bpf_dsl/seccomp_macros.h
+++ chromium-128.0.6613.113/sandbox/linux/bpf_dsl/seccomp_macros.h
@@ -14,6 +14,9 @@
#if defined(__mips__)
// sys/user.h in eglibc misses size_t definition
#include <stddef.h>
+#elif defined(__powerpc64__)
+// Manually define greg_t on ppc64
+typedef unsigned long long greg_t;
#endif
#endif
@@ -343,6 +346,51 @@ struct regs_struct {
#define SECCOMP_PT_PARM4(_regs) (_regs).regs[3]
#define SECCOMP_PT_PARM5(_regs) (_regs).regs[4]
#define SECCOMP_PT_PARM6(_regs) (_regs).regs[5]
+
+#elif defined(__powerpc64__)
+#include <asm/ptrace.h>
+
+typedef struct pt_regs regs_struct;
+
+#ifdef ARCH_CPU_LITTLE_ENDIAN
+#define SECCOMP_ARCH AUDIT_ARCH_PPC64LE
+#else
+#define SECCOMP_ARCH AUDIT_ARCH_PPC64
+#endif
+
+#define SECCOMP_REG(_ctx, _reg) ((_ctx)->uc_mcontext.regs->gpr[_reg])
+
+#define SECCOMP_RESULT(_ctx) SECCOMP_REG(_ctx, 3)
+#define SECCOMP_SYSCALL(_ctx) SECCOMP_REG(_ctx, 0)
+#define SECCOMP_IP(_ctx) (_ctx)->uc_mcontext.regs->nip
+#define SECCOMP_PARM1(_ctx) SECCOMP_REG(_ctx, 3)
+#define SECCOMP_PARM2(_ctx) SECCOMP_REG(_ctx, 4)
+#define SECCOMP_PARM3(_ctx) SECCOMP_REG(_ctx, 5)
+#define SECCOMP_PARM4(_ctx) SECCOMP_REG(_ctx, 6)
+#define SECCOMP_PARM5(_ctx) SECCOMP_REG(_ctx, 7)
+#define SECCOMP_PARM6(_ctx) SECCOMP_REG(_ctx, 8)
+
+#define SECCOMP_NR_IDX (offsetof(struct arch_seccomp_data, nr))
+#define SECCOMP_ARCH_IDX (offsetof(struct arch_seccomp_data, arch))
+#define SECCOMP_IP_MSB_IDX \
+ (offsetof(struct arch_seccomp_data, instruction_pointer) + 4)
+#define SECCOMP_IP_LSB_IDX \
+ (offsetof(struct arch_seccomp_data, instruction_pointer) + 0)
+#define SECCOMP_ARG_MSB_IDX(nr) \
+ (offsetof(struct arch_seccomp_data, args) + 8 * (nr) + 4)
+#define SECCOMP_ARG_LSB_IDX(nr) \
+ (offsetof(struct arch_seccomp_data, args) + 8 * (nr) + 0)
+
+#define SECCOMP_PT_RESULT(_regs) (_regs).gpr[3]
+#define SECCOMP_PT_SYSCALL(_regs) (_regs).gpr[0]
+#define SECCOMP_PT_IP(_regs) (_regs).nip
+#define SECCOMP_PT_PARM1(_regs) (_regs).gpr[3]
+#define SECCOMP_PT_PARM2(_regs) (_regs).gpr[4]
+#define SECCOMP_PT_PARM3(_regs) (_regs).gpr[5]
+#define SECCOMP_PT_PARM4(_regs) (_regs).gpr[6]
+#define SECCOMP_PT_PARM5(_regs) (_regs).gpr[7]
+#define SECCOMP_PT_PARM6(_regs) (_regs).gpr[8]
+
#else
#error Unsupported target platform

File diff suppressed because it is too large Load diff

View file

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

View file

@ -0,0 +1,37 @@
From cca78240860abb63bbcfe94d1e5f04a1f23c527d Mon Sep 17 00:00:00 2001
From: Shawn Anastasio <shawnanastasio@yahoo.com>
Date: Thu, 9 Aug 2018 19:11:56 -0500
Subject: [PATCH 3/4] sandbox/linux/system_headers: Update linux seccomp header
for ppc64
---
sandbox/linux/system_headers/linux_seccomp.h | 10 ++++++++++
1 file changed, 10 insertions(+)
Index: chromium-128.0.6613.113/sandbox/linux/system_headers/linux_seccomp.h
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/system_headers/linux_seccomp.h
+++ chromium-128.0.6613.113/sandbox/linux/system_headers/linux_seccomp.h
@@ -38,6 +38,9 @@
#ifndef EM_AARCH64
#define EM_AARCH64 183
#endif
+#ifndef EM_PPC64
+#define EM_PPC64 21
+#endif
#ifndef __AUDIT_ARCH_64BIT
#define __AUDIT_ARCH_64BIT 0x80000000
@@ -70,6 +73,12 @@
#ifndef AUDIT_ARCH_AARCH64
#define AUDIT_ARCH_AARCH64 (EM_AARCH64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE)
#endif
+#ifndef AUDIT_ARCH_PPC64
+#define AUDIT_ARCH_PPC64 (EM_PPC64 | __AUDIT_ARCH_64BIT)
+#endif
+#ifndef AUDIT_ARCH_PPC64LE
+#define AUDIT_ARCH_PPC64LE (EM_PPC64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE)
+#endif
// For prctl.h
#ifndef PR_SET_SECCOMP

View file

@ -1,7 +1,7 @@
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
+++ chromium-130.0.6723.44/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-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp8_r
+#endif
+
+#endif
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
+++ chromium-130.0.6723.44/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-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp9_r
+#endif
+
+#endif
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
+++ chromium-130.0.6723.44/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-144.0.7559.59/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-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
+++ chromium-130.0.6723.44/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-144.0.7559.59/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-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
+++ chromium-130.0.6723.44/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-144.0.7559.59/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-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
+++ chromium-130.0.6723.44/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-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_d
+#endif
+
+#endif
Index: chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
===================================================================
--- /dev/null
+++ chromium-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
@@ -0,0 +1,96 @@
+// This file is generated. Do not edit.
+#ifndef VPX_SCALE_RTCD_H_

View file

@ -0,0 +1,23 @@
From 298df3dc44f7121cd8cb9a06b29fa3b16c959b8d Mon Sep 17 00:00:00 2001
From: Shawn Anastasio <shawnanastasio@yahoo.com>
Date: Thu, 9 Aug 2018 19:13:25 -0500
Subject: [PATCH 4/4] sandbox/linux/system_headers: Update linux signal header
for ppc64
---
sandbox/linux/system_headers/linux_signal.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: chromium-128.0.6613.113/sandbox/linux/system_headers/linux_signal.h
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/system_headers/linux_signal.h
+++ chromium-128.0.6613.113/sandbox/linux/system_headers/linux_signal.h
@@ -13,7 +13,7 @@
// (not undefined, but defined different values and in different memory
// layouts). So, fill the gap here.
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
#define LINUX_SIGHUP 1
#define LINUX_SIGINT 2

View file

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

View file

@ -1,7 +1,7 @@
Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
Index: chromium-128.0.6613.113/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
===================================================================
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
+++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
--- 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
@@ -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-144.0.7559.59/third_party/libvpx/source/libvpx/vp9/encoder/ppc/v
eob = vec_max(eob, vec_or(scan0, zero_coeff0));
eob2 = vec_max(vec_or(scan1, zero_coeff1), vec_or(scan2, zero_coeff2));
Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
Index: chromium-128.0.6613.113/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
===================================================================
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
+++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
--- 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
@@ -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-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct3
}
// Returns 1 if negative 0 if positive
Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
Index: chromium-128.0.6613.113/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
===================================================================
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
+++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
--- 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
@@ -13,6 +13,28 @@
#include "./vpx_dsp_rtcd.h"
#include "vpx_dsp/ppc/types_vsx.h"

View file

@ -0,0 +1,107 @@
From 1d44643a7c7cf650efd1093d22cd5bf859fdcb51 Mon Sep 17 00:00:00 2001
From: Shawn Anastasio <shawnanastasio@yahoo.com>
Date: Thu, 9 Aug 2018 20:52:13 -0500
Subject: [PATCH] sandbox/linux/seccomp-bpf: Add ppc64 syscall stub
---
sandbox/linux/seccomp-bpf/syscall.cc | 53 ++++++++++++++++++++++++++--
1 file changed, 51 insertions(+), 2 deletions(-)
Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf/syscall.cc
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf/syscall.cc
+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf/syscall.cc
@@ -23,7 +23,7 @@ namespace sandbox {
namespace {
#if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARM_FAMILY) || \
- defined(ARCH_CPU_MIPS_FAMILY)
+ defined(ARCH_CPU_MIPS_FAMILY) || defined (ARCH_CPU_PPC64_FAMILY)
// Number that's not currently used by any Linux kernel ABIs.
const int kInvalidSyscallNumber = 0x351d3;
#else
@@ -313,10 +313,54 @@ asm(// We need to be able to tell the ke
"2:ret\n"
".cfi_endproc\n"
".size SyscallAsm, .-SyscallAsm\n"
+#elif defined(__powerpc64__)
+ ".text\n"
+ ".align 4\n"
+ ".type SyscallAsm @function\n"
+ "SyscallAsm:\n"
+ ".cfi_startproc\n"
+
+ // Check if r3 is negative
+ "cmpdi 3, 0\n"
+ "bgt 2f\n"
+
+ // Load address of 3f into r3 and return
+ "mflr 10\n"
+ "bl 1f\n"
+ "1: mflr 3\n"
+ "mtlr 10\n"
+ "addi 3, 3, 4*13\n"
+ "blr\n"
+
+ // Load arguments from array into r3-8
+ // save param 3 in r10
+ "2:\n"
+ "mr 0, 3\n"
+ "ld 3, 0(4)\n"
+ "ld 5, 16(4)\n"
+ "ld 6, 24(4)\n"
+ "ld 7, 32(4)\n"
+ "ld 8, 40(4)\n"
+ "ld 4, 8(4)\n"
+ "li 9, 0\n"
+
+ // Enter kernel
+ "sc\n"
+
+ // Magic return address
+ "3:\n"
+ // Like MIPS, ppc64 return values are always positive.
+ // Check for error in cr0.SO and negate upon error
+ "bc 4, 3, 4f\n"
+ "neg 3, 3\n"
+ "4: blr\n"
+
+ ".cfi_endproc\n"
+ ".size SyscallAsm, .-SyscallAsm\n"
#endif
); // asm
-#if defined(__x86_64__)
+#if defined(__x86_64__) || defined(__powerpc64__)
extern "C" {
intptr_t SyscallAsm(intptr_t nr, const intptr_t args[6]);
}
@@ -430,6 +474,8 @@ intptr_t Syscall::Call(int nr,
ret = inout;
}
+#elif defined(__powerpc64__)
+ intptr_t ret = SyscallAsm(nr, args);
#else
#error "Unimplemented architecture"
#endif
@@ -446,8 +492,18 @@ void Syscall::PutValueInUcontext(intptr_
// needs to be changed back.
ret_val = -ret_val;
SECCOMP_PARM4(ctx) = 1;
- } else
+ } else {
SECCOMP_PARM4(ctx) = 0;
+ }
+#endif
+#if defined(__powerpc64__)
+ // Same as MIPS, need to invert ret and set error register (cr0.SO)
+ if (ret_val <= -1 && ret_val >= -4095) {
+ ret_val = -ret_val;
+ ctx->uc_mcontext.regs->ccr |= (1 << 28);
+ } else {
+ ctx->uc_mcontext.regs->ccr &= ~(1 << 28);
+ }
#endif
SECCOMP_RESULT(ctx) = static_cast<greg_t>(ret_val);
}

View file

@ -0,0 +1,24 @@
From 6a852c4135864ba87b3cbdd0880d7cfecf7cd654 Mon Sep 17 00:00:00 2001
From: Shawn Anastasio <shawnanastasio@yahoo.com>
Date: Thu, 13 Sep 2018 15:12:22 -0500
Subject: [PATCH 5/6] sandbox/linux: update unit test for ppc64
---
sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
@@ -350,8 +350,10 @@ TEST_BASELINE_SIGSYS(__NR_timer_create)
#if !defined(__aarch64__)
TEST_BASELINE_SIGSYS(__NR_inotify_init)
+#if !defined(__powerpc64__)
TEST_BASELINE_SIGSYS(__NR_vserver)
#endif
+#endif
#if defined(LIBC_GLIBC) && !BUILDFLAG(IS_CHROMEOS_ASH)
BPF_TEST_C(BaselinePolicy, FutexEINVAL, BaselinePolicy) {

View file

@ -0,0 +1,14 @@
Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
@@ -374,7 +374,9 @@ bool SyscallSets::IsAllowedSignalHandlin
#if defined(__i386__) || defined(__arm__) || \
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
defined(__powerpc64__)
+#if !defined(__powerpc64__)
case __NR_rt_sigtimedwait_time64:
+#endif
case __NR_sigaction:
case __NR_sigprocmask:
case __NR_sigreturn:

View file

@ -0,0 +1,33 @@
Index: chromium-128.0.6613.113/sandbox/linux/system_headers/linux_stat.h
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/system_headers/linux_stat.h
+++ chromium-128.0.6613.113/sandbox/linux/system_headers/linux_stat.h
@@ -173,6 +173,28 @@ struct kernel_stat {
unsigned int __unused4;
unsigned int __unused5;
};
+#elif defined(__powerpc64__)
+struct kernel_stat {
+ unsigned long st_dev;
+ ino_t st_ino;
+ unsigned long st_nlink;
+ mode_t st_mode;
+ uid_t st_uid;
+ gid_t st_gid;
+ unsigned long st_rdev;
+ long st_size;
+ unsigned long st_blksize;
+ unsigned long st_blocks;
+ // unsigned long st_atime;
+ unsigned long st_atime_nsec;
+ //unsigned long st_mtime;
+ unsigned long st_mtime_nsec;
+ //unsigned long st_ctime;
+ unsigned long st_ctime_nsec;
+ unsigned long __unused4;
+ unsigned long __unused5;
+ unsigned long __unused6;
+};
#endif
#if !defined(AT_EMPTY_PATH)

View file

@ -0,0 +1,90 @@
Index: chromium-130.0.6723.44/sandbox/policy/linux/bpf_utility_policy_linux.cc
===================================================================
--- chromium-130.0.6723.44.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc
+++ chromium-130.0.6723.44/sandbox/policy/linux/bpf_utility_policy_linux.cc
@@ -34,7 +34,7 @@ ResultExpr UtilityProcessPolicy::Evaluat
case __NR_fdatasync:
case __NR_fsync:
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
case __NR_getrlimit:
#endif
#if defined(__i386__) || defined(__arm__)
Index: chromium-130.0.6723.44/sandbox/policy/linux/bpf_renderer_policy_linux.cc
===================================================================
--- chromium-130.0.6723.44.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+++ chromium-130.0.6723.44/sandbox/policy/linux/bpf_renderer_policy_linux.cc
@@ -87,7 +87,7 @@ ResultExpr RendererProcessPolicy::Evalua
case __NR_ftruncate64:
#endif
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
- defined(__aarch64__)
+ defined(__aarch64__) || defined(__powerpc64__)
case __NR_getrlimit:
case __NR_setrlimit:
// We allow setrlimit to dynamically adjust the address space limit as
Index: chromium-130.0.6723.44/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
===================================================================
--- chromium-130.0.6723.44.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+++ chromium-130.0.6723.44/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
@@ -58,9 +58,9 @@
#elif defined(__powerpc64__)
-#include <asm/unistd.h>
+#include <asm-generic/unistd.h>
#define MIN_SYSCALL 0u
-#define MAX_PUBLIC_SYSCALL 386u
+#define MAX_PUBLIC_SYSCALL __NR_syscalls
#define MAX_SYSCALL MAX_PUBLIC_SYSCALL
#else
Index: chromium-130.0.6723.44/sandbox/linux/services/credentials.cc
===================================================================
--- chromium-130.0.6723.44.orig/sandbox/linux/services/credentials.cc
+++ chromium-130.0.6723.44/sandbox/linux/services/credentials.cc
@@ -96,7 +96,8 @@ bool ChrootToSafeEmptyDir() {
int clone_flags = CLONE_FS | LINUX_SIGCHLD;
void* tls = nullptr;
-#if (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM_FAMILY)) && \
+#if (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM_FAMILY) || \
+ defined(ARCH_CPU_PPC64_FAMILY)) && \
!defined(MEMORY_SANITIZER)
// Use CLONE_VM | CLONE_VFORK as an optimization to avoid copying page tables.
// Since clone writes to the new child's TLS before returning, we must set a
@@ -104,6 +105,11 @@ bool ChrootToSafeEmptyDir() {
// glibc performs syscalls by calling a function pointer in TLS, so we do not
// attempt this optimization.
// TODO(crbug.com/40196869) Broken in MSan builds after LLVM f1bb30a4956f.
+ //
+ // NOTE: Without CLONE_VM, fontconfig will attempt to reload configuration
+ // in every thread. Since the rendered threads are sandboxed without
+ // filesystem access (e.g. to /etc/fonts/fonts.conf) this will cause font
+ // configuration loading failures and no fonts will be displayed!
clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
char tls_buf[PTHREAD_STACK_MIN_CONST] = {0};
Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
===================================================================
--- chromium-130.0.6723.44.orig/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
+++ chromium-130.0.6723.44/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' &&
args.args[3] == static_cast<uint64_t>(AT_EMPTY_PATH)) {
- return syscall(__NR_fstat_default, static_cast<int>(args.args[0]),
+ int fd = static_cast<int>(args.args[0]);
+#if defined(__powerpc64__)
+ // On ppc64+glibc, some syscalls seem to accidentally negate the first
+ // parameter which causes checks against it to fail. For now, manually
+ // negate them back.
+ // TODO: Investigate the root cause and fix in glibc
+ if (fd < 0)
+ fd = -fd;
+#endif
+ return syscall(__NR_fstat_default, fd,
reinterpret_cast<default_stat_struct*>(args.args[2]));
}
return -reinterpret_cast<intptr_t>(fs_denied_errno);

View file

@ -1,8 +1,7 @@
Index: chromium-144.0.7559.59/base/compiler_specific.h
===================================================================
--- chromium-144.0.7559.59.orig/base/compiler_specific.h
+++ chromium-144.0.7559.59/base/compiler_specific.h
@@ -198,7 +198,7 @@
diff -up chromium-131.0.6778.69/base/compiler_specific.h.me chromium-131.0.6778.69/base/compiler_specific.h
--- chromium-131.0.6778.69/base/compiler_specific.h.me 2024-11-19 20:44:12.404060581 +0100
+++ chromium-131.0.6778.69/base/compiler_specific.h 2024-11-19 20:44:54.434121935 +0100
@@ -152,7 +152,7 @@
// MUSTTAIL return Func1(d + 1); // `Func1()` will be tail-called.
// }
// ```
@ -11,3 +10,15 @@ Index: chromium-144.0.7559.59/base/compiler_specific.h
#define MUSTTAIL [[clang::musttail]]
#else
#define MUSTTAIL
diff -up chromium-131.0.6778.85/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h.me chromium-131.0.6778.85/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h
--- chromium-131.0.6778.85/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h.me 2024-11-20 18:50:28.690761262 +0100
+++ chromium-131.0.6778.85/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h 2024-11-20 18:54:49.374711202 +0100
@@ -138,7 +138,7 @@
// PA_MUSTTAIL return Func1(d + 1); // `Func1()` will be tail-called.
// }
// ```
-#if PA_HAS_CPP_ATTRIBUTE(clang::musttail)
+#if PA_HAS_CPP_ATTRIBUTE(clang::musttail) && !defined(__powerpc64__)
#define PA_MUSTTAIL [[clang::musttail]]
#else
#define PA_MUSTTAIL

View file

@ -1,13 +0,0 @@
Index: chromium-144.0.7559.59/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h
===================================================================
--- chromium-144.0.7559.59.orig/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h
+++ chromium-144.0.7559.59/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h
@@ -139,7 +139,7 @@
// PA_MUSTTAIL return Func1(d + 1); // `Func1()` will be tail-called.
// }
// ```
-#if PA_HAS_CPP_ATTRIBUTE(clang::musttail)
+#if PA_HAS_CPP_ATTRIBUTE(clang::musttail) && !defined(__powerpc64__)
#define PA_MUSTTAIL [[clang::musttail]]
#else
#define PA_MUSTTAIL

View file

@ -1,8 +1,8 @@
Index: chromium-144.0.7559.59/third_party/libvpx/generate_gni.sh
Index: chromium-130.0.6723.44/third_party/libvpx/generate_gni.sh
===================================================================
--- chromium-144.0.7559.59.orig/third_party/libvpx/generate_gni.sh
+++ chromium-144.0.7559.59/third_party/libvpx/generate_gni.sh
@@ -429,7 +429,7 @@ gen_config_files linux/mipsel "--target=
--- chromium-130.0.6723.44.orig/third_party/libvpx/generate_gni.sh
+++ chromium-130.0.6723.44/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 \
"--target=loongarch64-linux-gcc ${all_platforms}"
@ -11,12 +11,12 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/libvpx/source/libvpx/build/make/rtcd.pl
Index: chromium-130.0.6723.44/third_party/libvpx/source/libvpx/build/make/rtcd.pl
===================================================================
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/build/make/rtcd.pl
+++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/build/make/rtcd.pl
@@ -527,8 +527,9 @@ if ($opts{arch} eq 'x86') {
}
--- 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
@@ -509,8 +509,9 @@ if ($opts{arch} eq 'x86') {
&require(@REQUIRES);
arm;
} elsif ($opts{arch} =~ /^ppc/ ) {
- @ALL_ARCHS = filter(qw/vsx/);
@ -27,11 +27,11 @@ Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/build/make/rtcd.p
} elsif ($opts{arch} =~ /loongarch/ ) {
@ALL_ARCHS = filter(qw/lsx lasx/);
loongarch;
Index: chromium-144.0.7559.59/third_party/libvpx/BUILD.gn
Index: chromium-130.0.6723.44/third_party/libvpx/BUILD.gn
===================================================================
--- chromium-144.0.7559.59.orig/third_party/libvpx/BUILD.gn
+++ chromium-144.0.7559.59/third_party/libvpx/BUILD.gn
@@ -98,6 +98,14 @@ config("libvpx_config") {
--- chromium-130.0.6723.44.orig/third_party/libvpx/BUILD.gn
+++ chromium-130.0.6723.44/third_party/libvpx/BUILD.gn
@@ -102,6 +102,14 @@ config("libvpx_config") {
"-Wno-sign-compare",
]
}

View file

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

View file

@ -0,0 +1,11 @@
--- a/sandbox/linux/services/credentials.cc
+++ b/sandbox/linux/services/credentials.cc
@@ -91,7 +91,7 @@ bool ChrootToSafeEmptyDir() {
alignas(16) char stack_buf[PTHREAD_STACK_MIN];
#if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARM_FAMILY) || \
- defined(ARCH_CPU_MIPS_FAMILY)
+ defined(ARCH_CPU_MIPS_FAMILY) || defined(ARCH_CPU_PPC64_FAMILY)
// The stack grows downward.
void* stack = stack_buf + sizeof(stack_buf);
#else

View file

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

View file

@ -1,26 +1,35 @@
Index: chromium-144.0.7559.59/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
Index: chromium-128.0.6613.113/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
===================================================================
--- chromium-144.0.7559.59.orig/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
+++ chromium-144.0.7559.59/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
@@ -383,6 +383,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatfo
--- chromium-128.0.6613.113.orig/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
+++ chromium-128.0.6613.113/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
@@ -303,6 +303,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatfo
info->arch = extensions::api::runtime::PlatformArch::kMips;
} else if (strcmp(arch, "mips64el") == 0) {
info->arch = extensions::api::runtime::PlatformArch::kMips64;
} else if (arch == "riscv64") {
info->arch = extensions::api::runtime::PlatformArch::kRiscv64;
+ } else if (arch == "ppc64") {
+ } else if (strcmp(arch, "ppc64") == 0) {
+ info->arch = extensions::api::runtime::PlatformArch::kPpc64;
} else {
NOTREACHED();
}
Index: chromium-144.0.7559.59/extensions/common/api/runtime.json
NOTREACHED_IN_MIGRATION();
return false;
@@ -319,6 +321,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatfo
info->nacl_arch = extensions::api::runtime::PlatformNaclArch::kMips;
} else if (strcmp(nacl_arch, "mips64") == 0) {
info->nacl_arch = extensions::api::runtime::PlatformNaclArch::kMips64;
+ } else if (strcmp(nacl_arch, "ppc64") == 0) {
+ info->nacl_arch = extensions::api::runtime::PlatformNaclArch::kPpc64;
} else {
NOTREACHED_IN_MIGRATION();
return false;
Index: chromium-128.0.6613.113/extensions/common/api/runtime.json
===================================================================
--- chromium-144.0.7559.59.orig/extensions/common/api/runtime.json
+++ chromium-144.0.7559.59/extensions/common/api/runtime.json
--- chromium-128.0.6613.113.orig/extensions/common/api/runtime.json
+++ chromium-128.0.6613.113/extensions/common/api/runtime.json
@@ -98,7 +98,8 @@
{"name": "x86-32", "description": "Specifies the processer architecture as x86-32."},
{"name": "x86-64", "description": "Specifies the processer architecture as x86-64."},
{"name": "mips", "description": "Specifies the processer architecture as mips."},
{"name": "mips64", "description": "Specifies the processer architecture as mips64."},
- {"name": "riscv64", "description": "Specifies the processer architecture as riscv64."}
+ {"name": "riscv64", "description": "Specifies the processer architecture as riscv64."},
- {"name": "mips64", "description": "Specifies the processer architecture as mips64."}
+ {"name": "mips64", "description": "Specifies the processer architecture as mips64."},
+ {"name": "ppc64", "description": "Specifies the processer architecture as ppc64."}
],
"description": "The machine's processor architecture."

View file

@ -1,9 +1,7 @@
Index: chromium-144.0.7559.59/base/process/launch.h
===================================================================
--- chromium-144.0.7559.59.orig/base/process/launch.h
+++ chromium-144.0.7559.59/base/process/launch.h
@@ -58,6 +58,9 @@ enum TerminationStatus : int;
#if defined(ARCH_CPU_ARM64) || defined(ARCH_CPU_LOONGARCH64)
--- a/base/process/launch.h
+++ b/base/process/launch.h
@@ -54,6 +54,9 @@
#if defined(ARCH_CPU_ARM64)
#define PTHREAD_STACK_MIN_CONST \
(__builtin_constant_p(PTHREAD_STACK_MIN) ? PTHREAD_STACK_MIN : 131072)
+#elif defined(ARCH_CPU_PPC64)

13
cargo-add-ppc64.diff Normal file
View file

@ -0,0 +1,13 @@
Index: chromium-130.0.6723.44/build/rust/cargo_crate.gni
===================================================================
--- chromium-130.0.6723.44.orig/build/rust/cargo_crate.gni
+++ chromium-130.0.6723.44/build/rust/cargo_crate.gni
@@ -430,7 +430,7 @@ template("cargo_crate") {
]
}
if (current_cpu == "arm64" || current_cpu == "x64" ||
- current_cpu == "loong64" || current_cpu == "riscv64") {
+ current_cpu == "loong64" || current_cpu == "riscv64" || current_cpu == "ppc64") {
args += [
"--pointer-width",
"64",

View file

@ -0,0 +1,14 @@
[Unit]
Description="Chrome Remote Desktop host daemon"
[Service]
User=%i
Environment=HOME=%h
ExecStart=@@CRD_PATH@@/chrome-remote-desktop --start --foreground
ExecStop=@@CRD_PATH@@/chrome-remote-desktop --stop
ExecReload=@@CRD_PATH@@/chrome-remote-desktop --reload
Restart=always
TimeoutStopSec=10
[Install]
WantedBy=multi-user.target

View file

@ -1,16 +1,14 @@
Fix FTBFS on EL9 due to old ffmpeg-5.x
diff -up chromium-142.0.7444.59/media/filters/legacy_audio_file_reader.cc.me chromium-142.0.7444.59/media/filters/legacy_audio_file_reader.cc
--- chromium-142.0.7444.59/media/filters/legacy_audio_file_reader.cc.me 2025-11-02 08:20:16.949092776 +0100
+++ chromium-142.0.7444.59/media/filters/legacy_audio_file_reader.cc 2025-11-02 08:22:01.331132435 +0100
@@ -273,10 +273,10 @@ bool LegacyAudioFileReader::OnNewFrame(
diff -up chromium-107.0.5304.121/media/filters/audio_file_reader.cc.me chromium-107.0.5304.121/media/filters/audio_file_reader.cc
--- chromium-107.0.5304.121/media/filters/audio_file_reader.cc.me 2022-12-17 08:27:12.204753071 +0100
+++ chromium-107.0.5304.121/media/filters/audio_file_reader.cc 2022-12-17 08:28:40.908211808 +0100
@@ -243,10 +243,10 @@ bool AudioFileReader::OnNewFrame(
// silence from being output. In the case where we are also discarding some
// portion of the packet (as indicated by a negative pts), we further want to
// adjust the duration downward by however much exists before zero.
- if (audio_codec_ == AudioCodec::kAAC && frame->duration) {
+ if (audio_codec_ == AudioCodec::kAAC && frame->pkt_duration) {
const base::TimeDelta pkt_duration = ConvertFromTimeBase(
UNSAFE_TODO(glue_->format_context()->streams[stream_index_])->time_base,
glue_->format_context()->streams[stream_index_]->time_base,
- frame->duration + std::min(static_cast<int64_t>(0), frame->pts));
+ frame->pkt_duration + std::min(static_cast<int64_t>(0), frame->pts));
const base::TimeDelta frame_duration =

View file

@ -0,0 +1,34 @@
diff -up chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc.me chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc
--- chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc.me 2024-01-16 10:54:38.994173911 +0100
+++ chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc 2024-01-16 11:06:20.974160612 +0100
@@ -710,8 +710,13 @@ bool AVStreamToVideoDecoderConfig(const
}
VideoTransformation video_transformation = VideoTransformation();
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
+ for (int i = 0; i < stream->nb_side_data; i++) {
+ const auto& side_data = stream->side_data[i];
+#else
for (int i = 0; i < stream->codecpar->nb_coded_side_data; ++i) {
const auto& side_data = stream->codecpar->coded_side_data[i];
+#endif
switch (side_data.type) {
case AV_PKT_DATA_DISPLAYMATRIX: {
CHECK_EQ(side_data.size, sizeof(int32_t) * 3 * 3);
diff -up chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc.me chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc
--- chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc.me 2024-01-16 11:12:27.521534151 +0100
+++ chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc 2024-01-16 11:15:08.717337026 +0100
@@ -113,8 +113,13 @@ bool AudioVideoMetadataExtractor::Extrac
if (!stream)
continue;
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
+ for (int j = 0; j < stream->nb_side_data; j++) {
+ const AVPacketSideData& sd = stream->side_data[j];
+#else
for (int j = 0; j < stream->codecpar->nb_coded_side_data; j++) {
const AVPacketSideData& sd = stream->codecpar->coded_side_data[j];
+#endif
if (sd.type == AV_PKT_DATA_DISPLAYMATRIX) {
CHECK_EQ(sd.size, sizeof(int32_t) * 3 * 3);
rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(

View file

@ -0,0 +1,12 @@
diff -up chromium-125.0.6422.41/media/base/media_switches.cc.disable-FFmpegAllowLists chromium-125.0.6422.41/media/base/media_switches.cc
--- chromium-125.0.6422.41/media/base/media_switches.cc.disable-FFmpegAllowLists 2024-05-12 21:28:43.694027396 +0200
+++ chromium-125.0.6422.41/media/base/media_switches.cc 2024-05-12 21:32:48.155063623 +0200
@@ -1753,7 +1753,7 @@ BASE_FEATURE(kUseWindowBoundsForPip,
// Enables FFmpeg allow lists for supported codecs / containers.
BASE_FEATURE(kFFmpegAllowLists,
"FFmpegAllowLists",
- base::FEATURE_ENABLED_BY_DEFAULT);
+ base::FEATURE_DISABLED_BY_DEFAULT);
#if BUILDFLAG(IS_WIN)
// Enables audio offload when supported by endpoints.

View file

@ -0,0 +1,105 @@
commit 62274859104bd828373ae406aa9309e610449ac5
Author: Ted Meyer <tmathmeyer@chromium.org>
Date: Fri Mar 22 19:56:55 2024 +0000
Replace deprecated use of AVCodecContext::reordered_opaque
We can use the AV_CODEC_FLAG_COPY_OPAQUE flag on the codec context
now to trigger timestamp propagation.
Bug: 330573128
Change-Id: I6bc57241a35ab5283742aad8d42acb4dc5e85858
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5384308
Commit-Queue: Ted (Chromium) Meyer <tmathmeyer@chromium.org>
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1277051}
diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_decoder.cc
index bd75477feeabb..8a658a58caac5 100644
--- a/media/filters/ffmpeg_video_decoder.cc
+++ b/media/filters/ffmpeg_video_decoder.cc
@@ -134,7 +134,7 @@ bool FFmpegVideoDecoder::IsCodecSupported(VideoCodec codec) {
}
FFmpegVideoDecoder::FFmpegVideoDecoder(MediaLog* media_log)
- : media_log_(media_log) {
+ : media_log_(media_log), timestamp_map_(128) {
DVLOG(1) << __func__;
DETACH_FROM_SEQUENCE(sequence_checker_);
}
@@ -363,8 +363,10 @@ bool FFmpegVideoDecoder::FFmpegDecode(const DecoderBuffer& buffer) {
DCHECK(packet->data);
DCHECK_GT(packet->size, 0);
- // Let FFmpeg handle presentation timestamp reordering.
- codec_context_->reordered_opaque = buffer.timestamp().InMicroseconds();
+ const int64_t timestamp = buffer.timestamp().InMicroseconds();
+ const TimestampId timestamp_id = timestamp_id_generator_.GenerateNextId();
+ timestamp_map_.Put(std::make_pair(timestamp_id, timestamp));
+ packet->opaque = reinterpret_cast<void*>(timestamp_id.GetUnsafeValue());
}
FFmpegDecodingLoop::DecodeStatus decode_status = decoding_loop_->DecodePacket(
packet, base::BindRepeating(&FFmpegVideoDecoder::OnNewFrame,
@@ -423,7 +425,12 @@ bool FFmpegVideoDecoder::OnNewFrame(AVFrame* frame) {
}
gfx::Size natural_size = aspect_ratio.GetNaturalSize(visible_rect);
- const auto pts = base::Microseconds(frame->reordered_opaque);
+ const auto ts_id = TimestampId(reinterpret_cast<size_t>(frame->opaque));
+ const auto ts_lookup = timestamp_map_.Get(ts_id);
+ if (ts_lookup == timestamp_map_.end()) {
+ return false;
+ }
+ const auto pts = base::Microseconds(std::get<1>(*ts_lookup));
auto video_frame = VideoFrame::WrapExternalDataWithLayout(
opaque->layout, visible_rect, natural_size, opaque->data, opaque->size,
pts);
@@ -498,8 +505,10 @@ bool FFmpegVideoDecoder::ConfigureDecoder(const VideoDecoderConfig& config,
codec_context_->thread_count = GetFFmpegVideoDecoderThreadCount(config);
codec_context_->thread_type =
FF_THREAD_SLICE | (low_delay ? 0 : FF_THREAD_FRAME);
+
codec_context_->opaque = this;
codec_context_->get_buffer2 = GetVideoBufferImpl;
+ codec_context_->flags |= AV_CODEC_FLAG_COPY_OPAQUE;
if (base::FeatureList::IsEnabled(kFFmpegAllowLists)) {
// Note: FFmpeg will try to free this string, so we must duplicate it.
diff --git a/media/filters/ffmpeg_video_decoder.h b/media/filters/ffmpeg_video_decoder.h
index d02cb89c3ddf7..0a2de1c623fff 100644
--- a/media/filters/ffmpeg_video_decoder.h
+++ b/media/filters/ffmpeg_video_decoder.h
@@ -7,10 +7,12 @@
#include <memory>
+#include "base/containers/lru_cache.h"
#include "base/functional/callback.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/scoped_refptr.h"
#include "base/sequence_checker.h"
+#include "base/types/id_type.h"
#include "media/base/frame_buffer_pool.h"
#include "media/base/supported_video_decoder_config.h"
#include "media/base/video_decoder.h"
@@ -87,6 +89,20 @@ class MEDIA_EXPORT FFmpegVideoDecoder : public VideoDecoder {
// FFmpeg structures owned by this object.
std::unique_ptr<AVCodecContext, ScopedPtrAVFreeContext> codec_context_;
+ // The gist here is that timestamps need to be 64 bits to store microsecond
+ // precision. A 32 bit integer would overflow at ~35 minutes at this level of
+ // precision. We can't cast the timestamp to the void ptr object used by the
+ // opaque field in ffmpeg then, because it would lose data on a 32 bit build.
+ // However, we don't actually have 2^31 timestamped frames in a single
+ // playback, so it's fine to use the 32 bit value as a key in a map which
+ // contains the actual timestamps. Additionally, we've in the past set 128
+ // outstanding frames for re-ordering as a limit for cross-thread decoding
+ // tasks, so we'll do that here too with the LRU cache.
+ using TimestampId = base::IdType<int64_t, size_t, 0>;
+
+ TimestampId::Generator timestamp_id_generator_;
+ base::LRUCache<TimestampId, int64_t> timestamp_map_;
+
VideoDecoderConfig config_;
scoped_refptr<FrameBufferPool> frame_pool_;

View file

@ -0,0 +1,38 @@
diff -up chromium-125.0.6422.41/net/filter/brotli_source_stream.cc.system-brotli chromium-125.0.6422.41/net/filter/brotli_source_stream.cc
--- chromium-125.0.6422.41/net/filter/brotli_source_stream.cc.system-brotli 2024-05-08 22:30:00.000000000 +0200
+++ chromium-125.0.6422.41/net/filter/brotli_source_stream.cc 2024-05-12 20:23:30.859178769 +0200
@@ -11,8 +11,8 @@
#include "base/memory/raw_ptr.h"
#include "base/metrics/histogram_macros.h"
#include "net/base/io_buffer.h"
-#include "third_party/brotli/include/brotli/decode.h"
-#include "third_party/brotli/include/brotli/shared_dictionary.h"
+#include <brotli/decode.h>
+#include <brotli/shared_dictionary.h>
namespace net {
diff -up chromium-125.0.6422.41/net/ssl/cert_compression.cc.system-brotli chromium-125.0.6422.41/net/ssl/cert_compression.cc
--- chromium-125.0.6422.41/net/ssl/cert_compression.cc.system-brotli 2024-05-08 22:30:00.000000000 +0200
+++ chromium-125.0.6422.41/net/ssl/cert_compression.cc 2024-05-12 20:23:30.860178793 +0200
@@ -9,7 +9,7 @@
#include "third_party/boringssl/src/include/openssl/ssl.h"
#if !defined(NET_DISABLE_BROTLI)
-#include "third_party/brotli/include/brotli/decode.h"
+#include <brotli/decode.h>
#endif
namespace net {
diff -up chromium-125.0.6422.41/ui/base/resource/resource_bundle.cc.system-brotli chromium-125.0.6422.41/ui/base/resource/resource_bundle.cc
--- chromium-125.0.6422.41/ui/base/resource/resource_bundle.cc.system-brotli 2024-05-12 20:23:30.861178816 +0200
+++ chromium-125.0.6422.41/ui/base/resource/resource_bundle.cc 2024-05-12 21:19:03.775332093 +0200
@@ -33,7 +33,7 @@
#include "net/filter/gzip_header.h"
#include "skia/ext/image_operations.h"
#include "third_party/abseil-cpp/absl/types/variant.h"
-#include "third_party/brotli/include/brotli/decode.h"
+#include "brotli/decode.h"
#include "third_party/skia/include/codec/SkPngDecoder.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkColor.h"

View file

@ -1,13 +1,15 @@
diff -up chromium-142.0.7444.52/build/config/compiler/BUILD.gn.split-threshold-for-reg-with-hint chromium-142.0.7444.52/build/config/compiler/BUILD.gn
--- chromium-142.0.7444.52/build/config/compiler/BUILD.gn.split-threshold-for-reg-with-hint 2025-10-28 19:31:53.885979941 +0100
+++ chromium-142.0.7444.52/build/config/compiler/BUILD.gn 2025-10-28 19:39:50.279574752 +0100
@@ -680,22 +680,6 @@ config("compiler") {
diff -up chromium-126.0.6478.26/build/config/compiler/BUILD.gn.me chromium-126.0.6478.26/build/config/compiler/BUILD.gn
--- chromium-126.0.6478.26/build/config/compiler/BUILD.gn.me 2024-06-02 14:02:52.516602574 +0200
+++ chromium-126.0.6478.26/build/config/compiler/BUILD.gn 2024-06-02 14:17:24.527503540 +0200
@@ -575,24 +575,6 @@ config("compiler") {
}
}
- # TODO(crbug.com/40283598): This causes binary size growth and potentially
- # other problems.
- if (default_toolchain != "//build/toolchain/cros:target") {
- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version.
- if (default_toolchain != "//build/toolchain/cros:target" &&
- !llvm_android_mainline) {
- cflags += [
- "-mllvm",
- "-split-threshold-for-reg-with-hint=0",

View file

@ -0,0 +1,67 @@
diff -up chromium-127.0.6533.72/build/rust/rust_bindgen.gni.me chromium-127.0.6533.72/build/rust/rust_bindgen.gni
--- chromium-127.0.6533.72/build/rust/rust_bindgen.gni.me 2024-07-25 16:11:18.754551595 +0200
+++ chromium-127.0.6533.72/build/rust/rust_bindgen.gni 2024-07-25 16:11:33.997837660 +0200
@@ -22,7 +22,7 @@ _libclang_path = rust_bindgen_root
if (host_os == "win") {
_libclang_path += "/bin"
} else {
- _libclang_path += "/lib"
+ _libclang_path += "/lib64"
}
# Template to build Rust/C bindings with bindgen.
diff -up chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib chromium-121.0.6167.57/build/config/clang/BUILD.gn
--- chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib 2024-01-10 16:43:01.000000000 +0100
+++ chromium-121.0.6167.57/build/config/clang/BUILD.gn 2024-01-20 19:51:38.481992799 +0100
@@ -112,6 +112,7 @@ template("clang_lib") {
_prefix = "lib"
_suffix = ""
_ext = "a"
+ _libprefix = ""
if (is_win) {
_dir = "windows"
_prefix = ""
@@ -127,7 +128,33 @@ template("clang_lib") {
}
} else if (is_apple) {
_dir = "darwin"
- } else if (is_linux || is_chromeos) {
+ } else if (is_linux) {
+ if (current_cpu == "x64") {
+ _dir = "x86_64-redhat-linux-gnu"
+ _suffix ="-x86_64"
+ } else if (current_cpu == "x86") {
+ _dir = "i386-redhat-linux-gnu"
+ _suffix = "-i386"
+ } else if (current_cpu == "arm64") {
+ _dir = "aarch64-redhat-linux-gnu"
+ _suffix = "-aarch64"
+ } else if (current_cpu == "arm") {
+ _dir = "armhf-redhat-linux-gnu"
+ _suffix = "-armhf"
+ } else if (current_cpu == "ppc64") {
+ _dir = "ppc64le-redhat-linux-gnu"
+ _suffix = "-ppc64le"
+ } else {
+ assert(false) # Unhandled cpu type
+ }
+ # different clang lib dir in fedora/epel
+ if (clang_version == "17" || clang_version == "18" || clang_version == "19") {
+ _suffix = ""
+ } else if (clang_version == "14" || clang_version == "15" || clang_version == "16") {
+ _libprefix = "64"
+ _dir = ""
+ }
+ } else if (is_chromeos) {
if (current_cpu == "x64") {
_dir = "x86_64-unknown-linux-gnu"
} else if (current_cpu == "x86") {
@@ -166,7 +193,7 @@ template("clang_lib") {
assert(false) # Unhandled target platform
}
- _clang_lib_dir = "$clang_base_path/lib/clang/$clang_version/lib"
+ _clang_lib_dir = "$clang_base_path/lib${_libprefix}/clang/$clang_version/lib"
_lib_file = "${_prefix}clang_rt.${_libname}${_suffix}.${_ext}"
libs = [ "$_clang_lib_dir/$_dir/$_lib_file" ]
}

View file

@ -0,0 +1,13 @@
diff -up chromium-128.0.6613.137/third_party/inspector_protocol/code_generator.py.me chromium-128.0.6613.137/third_party/inspector_protocol/code_generator.py
--- chromium-128.0.6613.137/third_party/inspector_protocol/code_generator.py.me 2024-09-16 12:47:47.541825252 +0200
+++ chromium-128.0.6613.137/third_party/inspector_protocol/code_generator.py 2024-09-16 12:48:39.210990291 +0200
@@ -147,8 +147,7 @@ def dash_to_camelcase(word):
def to_snake_case(name):
name = re.sub(r"([A-Z]{2,})([A-Z][a-z])", r"\1_\2", name)
- return re.sub(r"([a-z0-9])([A-Z])", r"\1_\2", name, sys.maxsize).lower()
-
+ return re.sub(r"([a-z0-9])([A-Z])", r"\1_\2", name, count=sys.maxsize).lower()
def to_method_case(config, name):
if config.use_title_case_methods:

View file

@ -0,0 +1,32 @@
diff -up chromium-129.0.6668.42.old/media/filters/ffmpeg_glue.cc.me chromium-129.0.6668.42.old/media/filters/ffmpeg_glue.cc
--- chromium-129.0.6668.42.old/media/filters/ffmpeg_glue.cc.me 2024-09-15 22:12:33.945186323 +0200
+++ chromium-129.0.6668.42.old/media/filters/ffmpeg_glue.cc 2024-09-16 10:53:13.334970539 +0200
@@ -17,14 +17,11 @@
namespace media {
-// Kill switches in case things explode. Remove after M132.
+// Kill switch in case things explode. Remove after M132.
// TODO(crbug.com/355485812): Re-enable this flag.
BASE_FEATURE(kAllowOnlyAudioCodecsDuringDemuxing,
"AllowOnlyAudioCodecsDuringDemuxing",
base::FEATURE_ENABLED_BY_DEFAULT);
-BASE_FEATURE(kForbidH264ParsingDuringDemuxing,
- "ForbidH264ParsingDuringDemuxing",
- base::FEATURE_ENABLED_BY_DEFAULT);
// Internal buffer size used by AVIO for reading.
// TODO(dalecurtis): Experiment with this buffer size and measure impact on
@@ -118,12 +115,6 @@ FFmpegGlue::FFmpegGlue(FFmpegURLProtocol
// Enable fast, but inaccurate seeks for MP3.
format_context_->flags |= AVFMT_FLAG_FAST_SEEK;
- // We don't allow H.264 parsing during demuxing since we have our own parser
- // and the ffmpeg one increases memory usage unnecessarily.
- if (base::FeatureList::IsEnabled(kForbidH264ParsingDuringDemuxing)) {
- format_context_->flags |= AVFMT_FLAG_NOH264PARSE;
- }
-
// Ensures format parsing errors will bail out. From an audit on 11/2017, all
// instances were real failures. Solves bugs like http://crbug.com/710791.
format_context_->error_recognition |= AV_EF_EXPLODE;

View file

@ -1,6 +1,6 @@
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
diff -up chromium-129.0.6668.58/content/browser/accessibility/accessibility_auralinux_browsertest.cc.me chromium-129.0.6668.58/content/browser/accessibility/accessibility_auralinux_browsertest.cc
--- chromium-129.0.6668.58/content/browser/accessibility/accessibility_auralinux_browsertest.cc.me 2024-09-18 19:26:40.951100740 +0200
+++ chromium-129.0.6668.58/content/browser/accessibility/accessibility_auralinux_browsertest.cc 2024-09-18 19:28:06.219700474 +0200
@@ -3,6 +3,7 @@
// found in the LICENSE file.
@ -9,7 +9,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
#include <string>
#include <vector>
@@ -550,6 +551,10 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
@@ -547,6 +548,10 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
g_object_unref(div_element);
}
@ -20,7 +20,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
TestCharacterExtentsWithInvalidArguments) {
AtkText* atk_text = SetUpSampleParagraph();
@@ -572,12 +577,14 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
@@ -569,12 +574,14 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
EXPECT_EQ(expect, width);
EXPECT_EQ(expect, height);
@ -35,7 +35,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
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
@@ -593,12 +600,14 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
EXPECT_EQ(expect, width);
EXPECT_EQ(expect, height);
@ -50,7 +50,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
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
@@ -613,7 +622,9 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
AtkCoordType kCoordinateTypes[] = {
ATK_XY_SCREEN,
ATK_XY_WINDOW,
@ -60,7 +60,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
};
IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
@@ -875,6 +886,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
@@ -872,6 +883,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
TestCharacterExtentsInScrollableInput();
}
@ -68,7 +68,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
typedef bool (*ScrollToPointFunc)(AtkComponent* component,
AtkCoordType coords,
gint x,
@@ -884,6 +896,18 @@ typedef bool (*ScrollToFunc)(AtkComponen
@@ -881,6 +893,18 @@ typedef bool (*ScrollToFunc)(AtkComponen
// TODO(crbug.com/40866728): Enable this test.
IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
DISABLED_TestScrollToPoint) {
@ -87,7 +87,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
LoadSampleParagraphInScrollableDocument();
AtkText* atk_text = GetSampleParagraph();
ASSERT_TRUE(ATK_IS_COMPONENT(atk_text));
@@ -896,7 +920,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
@@ -893,7 +917,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
AccessibilityNotificationWaiter location_changed_waiter(
shell()->web_contents(), ui::kAXModeComplete,
ax::mojom::Event::kLocationChanged);
@ -96,7 +96,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
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
@@ -902,20 +926,20 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
EXPECT_GT(prev_y, y);
constexpr int kScrollToY = 0;
@ -120,7 +120,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
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
@@ -932,6 +956,17 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
// TODO(crbug.com/40866728): Enable this test.
IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
DISABLED_TestScrollTo) {
@ -138,7 +138,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
LoadInitialAccessibilityTreeFromHtml(
R"HTML(<!DOCTYPE html>
<html>
@@ -976,8 +1011,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
@@ -973,8 +1008,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
AccessibilityNotificationWaiter waiter(
shell()->web_contents(), ui::kAXModeComplete,
ax::mojom::Event::kScrollPositionChanged);
@ -148,7 +148,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
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
@@ -982,40 +1016,35 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
EXPECT_EQ(y, doc_y);
EXPECT_NE(x, doc_x);
@ -194,7 +194,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
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
@@ -1047,10 +1076,39 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
g_object_unref(target2);
g_object_unref(target3);
}
@ -234,7 +234,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
LoadInitialAccessibilityTreeFromHtml(
R"HTML(<!DOCTYPE html>
<html>
@@ -1087,8 +1145,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
@@ -1084,8 +1142,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
AccessibilityNotificationWaiter waiter(
shell()->web_contents(), ui::kAXModeComplete,
ax::mojom::Event::kScrollPositionChanged);
@ -244,7 +244,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
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
@@ -1093,40 +1150,37 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
EXPECT_EQ(y, doc_y);
EXPECT_NE(x, doc_x);
@ -292,7 +292,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
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
@@ -1136,9 +1190,42 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
g_object_unref(target1);
}
@ -335,7 +335,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
LoadSampleParagraphInScrollableDocument();
AtkText* atk_text = GetSampleParagraph();
ASSERT_TRUE(ATK_IS_COMPONENT(atk_text));
@@ -1154,7 +1241,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
@@ -1151,7 +1238,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
AccessibilityNotificationWaiter location_changed_waiter(
shell()->web_contents(), ui::kAXModeComplete,
ax::mojom::Event::kLocationChanged);
@ -344,7 +344,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
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
@@ -1160,22 +1247,20 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
EXPECT_GT(prev_y, y);
constexpr int kScrollToY = 0;
@ -370,7 +370,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
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
@@ -1191,6 +1276,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
g_object_unref(atk_text);
}
@ -378,10 +378,26 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
#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 @@
diff -up chromium-129.0.6668.58/ui/accessibility/platform/ax_platform_node_auralinux.cc.me chromium-129.0.6668.58/ui/accessibility/platform/ax_platform_node_auralinux.cc
--- chromium-129.0.6668.58/ui/accessibility/platform/ax_platform_node_auralinux.cc.me 2024-09-18 19:26:26.040821017 +0200
+++ chromium-129.0.6668.58/ui/accessibility/platform/ax_platform_node_auralinux.cc 2024-09-18 19:28:06.220700493 +0200
@@ -2,7 +2,6 @@
// 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
@@ -10,6 +9,7 @@
#include "ui/accessibility/platform/ax_platform_node_auralinux.h"
+#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"
@ -423,7 +439,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
namespace ui {
@@ -147,11 +166,29 @@ AtkObject* g_active_top_level_frame = nu
@@ -146,11 +165,29 @@ AtkObject* g_active_top_level_frame = nu
AtkObject* g_active_views_dialog = nullptr;
@ -453,7 +469,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
using GetTypeFunc = GType (*)();
using GetColumnHeaderCellsFunc = GPtrArray* (*)(AtkTableCell* cell);
@@ -162,6 +199,11 @@ using GetRowColumnSpanFunc = bool (*)(At
@@ -161,6 +198,11 @@ using GetRowColumnSpanFunc = bool (*)(At
gint* row_span,
gint* col_span);
@ -465,7 +481,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
// 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
@@ -170,35 +212,17 @@ void SetIntPointerValueIfNotNull(int* po
*pointer = value;
}
@ -507,7 +523,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
AtkObject* FindAtkObjectParentFrame(AtkObject* atk_object) {
AXPlatformNodeAuraLinux* node =
@@ -298,10 +322,12 @@ AXCoordinateSystem AtkCoordTypeToAXCoord
@@ -297,10 +321,12 @@ AXCoordinateSystem AtkCoordTypeToAXCoord
return AXCoordinateSystem::kScreenDIPs;
case ATK_XY_WINDOW:
return AXCoordinateSystem::kRootFrame;
@ -520,7 +536,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
default:
return AXCoordinateSystem::kScreenDIPs;
}
@@ -514,6 +540,7 @@ gboolean GrabFocus(AtkComponent* atk_com
@@ -513,6 +539,7 @@ gboolean GrabFocus(AtkComponent* atk_com
return obj->GrabFocus();
}
@ -528,7 +544,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
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
@@ -539,6 +566,7 @@ gboolean ScrollToPoint(AtkComponent* atk
obj->ScrollToPoint(atk_coord_type, x, y);
return TRUE;
}
@ -536,7 +552,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
void Init(AtkComponentIface* iface) {
iface->get_extents = GetExtents;
@@ -547,10 +575,12 @@ void Init(AtkComponentIface* iface) {
@@ -546,10 +574,12 @@ void Init(AtkComponentIface* iface) {
iface->get_size = GetSize;
iface->ref_accessible_at_point = RefAccesibleAtPoint;
iface->grab_focus = GrabFocus;
@ -549,7 +565,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
}
const GInterfaceInfo Info = {reinterpret_cast<GInterfaceInitFunc>(Init),
@@ -1311,6 +1341,7 @@ gboolean AddSelection(AtkText* atk_text,
@@ -1232,6 +1262,7 @@ gboolean AddSelection(AtkText* atk_text,
return SetSelection(atk_text, 0, start_offset, end_offset);
}
@ -557,7 +573,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
char* GetStringAtOffset(AtkText* atk_text,
int offset,
AtkTextGranularity atk_granularity,
@@ -1325,7 +1356,9 @@ char* GetStringAtOffset(AtkText* atk_tex
@@ -1246,7 +1277,9 @@ char* GetStringAtOffset(AtkText* atk_tex
return GetTextWithBoundaryType(atk_text, offset, boundary, start_offset,
end_offset);
}
@ -567,7 +583,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
gfx::Rect GetUnclippedParentHypertextRangeBoundsRect(
AXPlatformNodeDelegate* ax_platform_node_delegate,
const int start_offset,
@@ -1349,6 +1382,7 @@ gfx::Rect GetUnclippedParentHypertextRan
@@ -1270,6 +1303,7 @@ gfx::Rect GetUnclippedParentHypertextRan
AXClippingBehavior::kClipped)
.OffsetFromOrigin();
}
@ -575,7 +591,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
void GetCharacterExtents(AtkText* atk_text,
int offset,
@@ -1364,10 +1398,12 @@ void GetCharacterExtents(AtkText* atk_te
@@ -1285,10 +1319,12 @@ void GetCharacterExtents(AtkText* atk_te
AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(atk_text));
if (obj) {
switch (coordinate_type) {
@ -588,7 +604,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
default:
rect = obj->GetDelegate()->GetHypertextRangeBoundsRect(
obj->UnicodeToUTF16OffsetInText(offset),
@@ -1403,10 +1439,12 @@ void GetRangeExtents(AtkText* atk_text,
@@ -1324,10 +1360,12 @@ void GetRangeExtents(AtkText* atk_text,
AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(atk_text));
if (obj) {
switch (coordinate_type) {
@ -601,7 +617,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
default:
rect = obj->GetDelegate()->GetHypertextRangeBoundsRect(
obj->UnicodeToUTF16OffsetInText(start_offset),
@@ -1456,6 +1494,7 @@ AtkAttributeSet* GetDefaultAttributes(At
@@ -1377,6 +1415,7 @@ AtkAttributeSet* GetDefaultAttributes(At
return ToAtkAttributeSet(obj->GetDefaultTextAttributes());
}
@ -609,7 +625,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
gboolean ScrollSubstringTo(AtkText* atk_text,
gint start_offset,
gint end_offset,
@@ -1486,6 +1525,7 @@ gboolean ScrollSubstringToPoint(AtkText*
@@ -1407,6 +1446,7 @@ gboolean ScrollSubstringToPoint(AtkText*
return obj->ScrollSubstringToPoint(start_offset, end_offset, atk_coord_type,
x, y);
}
@ -617,7 +633,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
void Init(AtkTextIface* iface) {
iface->get_text = GetText;
@@ -1508,12 +1548,16 @@ void Init(AtkTextIface* iface) {
@@ -1429,12 +1469,16 @@ void Init(AtkTextIface* iface) {
iface->get_run_attributes = GetRunAttributes;
iface->get_default_attributes = GetDefaultAttributes;
@ -634,7 +650,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
}
const GInterfaceInfo Info = {reinterpret_cast<GInterfaceInitFunc>(Init),
@@ -1916,11 +1960,15 @@ const GInterfaceInfo Info = {reinterpret
@@ -1837,11 +1881,15 @@ const GInterfaceInfo Info = {reinterpret
} // namespace atk_table
@ -651,7 +667,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
if (const AXPlatformNodeBase* obj =
AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
@@ -1932,8 +1980,10 @@ gint GetColumnSpan(AtkTableCell* cell) {
@@ -1853,8 +1901,10 @@ gint GetColumnSpan(AtkTableCell* cell) {
}
GPtrArray* GetColumnHeaderCells(AtkTableCell* cell) {
@ -663,7 +679,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
GPtrArray* array = g_ptr_array_new_with_free_func(g_object_unref);
@@ -1967,8 +2017,10 @@ GPtrArray* GetColumnHeaderCells(AtkTable
@@ -1888,8 +1938,10 @@ GPtrArray* GetColumnHeaderCells(AtkTable
}
gboolean GetCellPosition(AtkTableCell* cell, gint* row, gint* column) {
@ -675,7 +691,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
if (auto* obj = AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
std::optional<int> row_index = obj->GetTableRow();
@@ -1985,8 +2037,9 @@ gboolean GetCellPosition(AtkTableCell* c
@@ -1906,8 +1958,9 @@ gboolean GetCellPosition(AtkTableCell* c
}
gint GetRowSpan(AtkTableCell* cell) {
@ -686,7 +702,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
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) {
@@ -1918,8 +1971,10 @@ gint GetRowSpan(AtkTableCell* cell) {
}
GPtrArray* GetRowHeaderCells(AtkTableCell* cell) {
@ -698,7 +714,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
GPtrArray* array = g_ptr_array_new_with_free_func(g_object_unref);
@@ -2032,8 +2087,10 @@ GPtrArray* GetRowHeaderCells(AtkTableCel
@@ -1953,8 +2008,10 @@ GPtrArray* GetRowHeaderCells(AtkTableCel
}
AtkObject* GetTable(AtkTableCell* cell) {
@ -710,7 +726,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
if (auto* obj = AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
if (auto* table = obj->GetTable())
@@ -2059,6 +2116,8 @@ const GInterfaceInfo Info = {reinterpret
@@ -1980,6 +2037,8 @@ const GInterfaceInfo Info = {reinterpret
} // namespace atk_table_cell
@ -719,7 +735,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
namespace atk_object {
gpointer kAXPlatformNodeAuraLinuxParentClass = nullptr;
@@ -2325,6 +2384,50 @@ void Detach(AXPlatformNodeAuraLinuxObjec
@@ -2246,6 +2305,50 @@ void Detach(AXPlatformNodeAuraLinuxObjec
} // namespace
@ -770,7 +786,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
void AXPlatformNodeAuraLinux::EnsureGTypeInit() {
#if !GLIB_CHECK_VERSION(2, 36, 0)
static bool first_time = true;
@@ -2432,8 +2535,11 @@ GType AXPlatformNodeAuraLinux::GetAccess
@@ -2353,8 +2456,11 @@ GType AXPlatformNodeAuraLinux::GetAccess
g_type_add_interface_static(type, ATK_TYPE_TABLE, &atk_table::Info);
if (interface_mask_.Implements(ImplementedAtkInterfaces::Value::kTableCell)) {
@ -784,7 +800,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
}
return type;
@@ -2668,9 +2774,9 @@ AtkRole AXPlatformNodeAuraLinux::GetAtkR
@@ -2584,9 +2690,9 @@ AtkRole AXPlatformNodeAuraLinux::GetAtkR
case ax::mojom::Role::kComplementary:
return ATK_ROLE_LANDMARK;
case ax::mojom::Role::kContentDeletion:
@ -796,7 +812,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
case ax::mojom::Role::kContentInfo:
case ax::mojom::Role::kFooter:
return ATK_ROLE_LANDMARK;
@@ -3106,12 +3212,14 @@ void AXPlatformNodeAuraLinux::GetAtkStat
@@ -3020,12 +3126,14 @@ void AXPlatformNodeAuraLinux::GetAtkStat
static_cast<int32_t>(ax::mojom::AriaCurrentState::kFalse)) {
atk_state_set_add_state(atk_state_set, ATK_STATE_ACTIVE);
}
@ -811,7 +827,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
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
@@ -3064,9 +3172,11 @@ void AXPlatformNodeAuraLinux::GetAtkStat
if (GetData().GetRestriction() != ax::mojom::Restriction::kDisabled) {
if (GetDelegate()->IsReadOnlySupported() &&
GetDelegate()->IsReadOnlyOrDisabled()) {
@ -823,7 +839,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
} 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 {
@@ -3100,12 +3210,16 @@ struct AtkIntListRelation {
static AtkIntListRelation kIntListRelations[] = {
{ax::mojom::IntListAttribute::kControlsIds, ATK_RELATION_CONTROLLER_FOR,
ATK_RELATION_CONTROLLED_BY},
@ -840,7 +856,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
{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
@@ -3884,6 +3998,7 @@ void AXPlatformNodeAuraLinux::OnReadonly
if (!obj)
return;
@ -848,7 +864,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
// 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
@@ -3891,6 +4006,7 @@ void AXPlatformNodeAuraLinux::OnReadonly
atk_object_notify_state_change(
obj, ATK_STATE_READ_ONLY,
GetData().GetRestriction() == ax::mojom::Restriction::kReadOnly);
@ -856,7 +872,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
}
void AXPlatformNodeAuraLinux::OnInvalidStatusChanged() {
@@ -4315,11 +4431,13 @@ gfx::Rect AXPlatformNodeAuraLinux::GetEx
@@ -4217,11 +4333,13 @@ gfx::Rect AXPlatformNodeAuraLinux::GetEx
extents.Offset(window_origin);
break;
}
@ -870,7 +886,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
}
return extents;
@@ -4761,6 +4879,7 @@ bool AXPlatformNodeAuraLinux::IsInLiveRe
@@ -4651,6 +4769,7 @@ bool AXPlatformNodeAuraLinux::IsInLiveRe
return HasStringAttribute(ax::mojom::StringAttribute::kContainerLiveStatus);
}
@ -878,7 +894,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
void AXPlatformNodeAuraLinux::ScrollToPoint(AtkCoordType atk_coord_type,
int x,
int y) {
@@ -4833,7 +4952,9 @@ void AXPlatformNodeAuraLinux::ScrollNode
@@ -4723,7 +4842,9 @@ void AXPlatformNodeAuraLinux::ScrollNode
rect -= rect.OffsetFromOrigin();
ScrollNodeRectIntoView(rect, atk_scroll_type);
}
@ -888,7 +904,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
std::optional<gfx::Rect>
AXPlatformNodeAuraLinux::GetUnclippedHypertextRangeBoundsRect(int start_offset,
int end_offset) {
@@ -4892,6 +5013,7 @@ bool AXPlatformNodeAuraLinux::ScrollSubs
@@ -4782,6 +4903,7 @@ bool AXPlatformNodeAuraLinux::ScrollSubs
return true;
}
@ -896,7 +912,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
void AXPlatformNodeAuraLinux::ComputeStylesIfNeeded() {
if (!offset_to_text_attributes_.empty())
@@ -5074,8 +5196,10 @@ gfx::Point AXPlatformNodeAuraLinux::Conv
@@ -4964,8 +5086,10 @@ gfx::Point AXPlatformNodeAuraLinux::Conv
switch (atk_coord_type) {
case ATK_XY_WINDOW:
return point + GetParentFrameOriginInScreenCoordinates();
@ -907,9 +923,9 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
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
diff -up chromium-129.0.6668.58/ui/accessibility/platform/ax_platform_node_auralinux.h.me chromium-129.0.6668.58/ui/accessibility/platform/ax_platform_node_auralinux.h
--- chromium-129.0.6668.58/ui/accessibility/platform/ax_platform_node_auralinux.h.me 2024-09-18 19:26:54.167348688 +0200
+++ chromium-129.0.6668.58/ui/accessibility/platform/ax_platform_node_auralinux.h 2024-09-18 19:28:06.220700493 +0200
@@ -52,6 +52,31 @@ struct FindInPageResultInfo {
}
};
@ -942,18 +958,18 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
// 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 @@
diff -up chromium-129.0.6668.58/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc.me chromium-129.0.6668.58/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc
--- chromium-129.0.6668.58/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc.me 2024-09-18 19:27:10.728659400 +0200
+++ chromium-129.0.6668.58/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc 2024-09-18 19:28:06.221700512 +0200
@@ -8,6 +8,7 @@
#endif
#include <atk/atk.h>
+#include <dlfcn.h>
#include <array>
#include <utility>
#include <vector>
@@ -887,6 +888,17 @@ typedef bool (*ScrollToPointFunc)(AtkCom
@@ -884,6 +885,17 @@ typedef bool (*ScrollToPointFunc)(AtkCom
typedef bool (*ScrollToFunc)(AtkComponent* component, AtkScrollType type);
TEST_F(AXPlatformNodeAuraLinuxTest, AtkComponentScrollToPoint) {
@ -971,7 +987,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
AXNodeData root;
root.id = 1;
root.role = ax::mojom::Role::kRootWebArea;
@@ -914,8 +926,7 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC
@@ -911,8 +923,7 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC
EXPECT_EQ(10, width);
EXPECT_EQ(10, height);
@ -981,7 +997,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
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
@@ -920,8 +931,7 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC
EXPECT_EQ(10, width);
EXPECT_EQ(10, height);
@ -991,7 +1007,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
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
@@ -938,6 +948,17 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC
}
TEST_F(AXPlatformNodeAuraLinuxTest, AtkComponentScrollTo) {
@ -1009,7 +1025,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
AXNodeData root;
root.id = 1;
root.role = ax::mojom::Role::kRootWebArea;
@@ -968,7 +989,7 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC
@@ -965,7 +986,7 @@ TEST_F(AXPlatformNodeAuraLinuxTest, AtkC
EXPECT_EQ(10, width);
EXPECT_EQ(10, height);
@ -1018,9 +1034,9 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
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
diff -up chromium-129.0.6668.58/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc.me chromium-129.0.6668.58/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc
--- chromium-129.0.6668.58/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc.me 2024-09-18 19:27:20.965851455 +0200
+++ chromium-129.0.6668.58/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc 2024-09-18 19:28:06.221700512 +0200
@@ -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;

View file

@ -0,0 +1,90 @@
commit f457e3c32b8170a39ead84ceaf9f0fdbe0696649
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Tue Oct 15 19:27:32 2024 +0000
Fix size assertions across Blink
The ASSERT_SIZE() macro is used to check that certain object sizes do
not grow unexpectedly. Fix a few occurrences that assumed that Member
is always the same size as debug builds may blow up the pointer size
to allow verifying some conditions.
Bug: 373485798
Change-Id: I243dd7d75810e2cfda0141817986a6c4a03c6392
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5934877
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Steinar H Gunderson <sesse@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1368939}
diff --git a/third_party/blink/renderer/core/css/css_selector.cc b/third_party/blink/renderer/core/css/css_selector.cc
index e9cd483e0ce13..3d99eab57489e 100644
--- a/third_party/blink/renderer/core/css/css_selector.cc
+++ b/third_party/blink/renderer/core/css/css_selector.cc
@@ -88,7 +88,11 @@ unsigned MaximumSpecificity(
struct SameSizeAsCSSSelector {
unsigned bitfields;
- void* pointers[1];
+ union {
+ AtomicString value_;
+ QualifiedName tag_q_name_or_attribute_;
+ Member<void*> rare_data_;
+ } pointers;
};
ASSERT_SIZE(CSSSelector, SameSizeAsCSSSelector);
diff --git a/third_party/blink/renderer/core/css/resolver/match_result.h b/third_party/blink/renderer/core/css/resolver/match_result.h
index c99bae9777094..210ef8610b808 100644
--- a/third_party/blink/renderer/core/css/resolver/match_result.h
+++ b/third_party/blink/renderer/core/css/resolver/match_result.h
@@ -34,6 +34,7 @@
#include "third_party/blink/renderer/core/dom/tree_scope.h"
#include "third_party/blink/renderer/platform/heap/collection_support/heap_vector.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
+#include "third_party/blink/renderer/platform/wtf/size_assertions.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink {
@@ -88,8 +89,13 @@ struct CORE_EXPORT MatchedProperties {
Member<CSSPropertyValueSet> properties;
Data data_;
};
-static_assert(sizeof(MatchedProperties) <= 12,
- "MatchedProperties should not grow without thinking");
+
+struct SameSizeAsMatchedProperties {
+ Member<void*> properties;
+ uint8_t data_[8];
+};
+
+ASSERT_SIZE(MatchedProperties, SameSizeAsMatchedProperties);
} // namespace blink
diff --git a/third_party/blink/renderer/core/dom/element_data.cc b/third_party/blink/renderer/core/dom/element_data.cc
index 0e616444cbf92..6f3592bfa907b 100644
--- a/third_party/blink/renderer/core/dom/element_data.cc
+++ b/third_party/blink/renderer/core/dom/element_data.cc
@@ -46,7 +46,8 @@ struct SameSizeAsElementData final
: public GarbageCollected<SameSizeAsElementData> {
unsigned bitfield;
Member<void*> willbe_member;
- void* pointers[2];
+ SpaceSplitString class_names_;
+ void* pointers[1];
};
ASSERT_SIZE(ElementData, SameSizeAsElementData);
diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc b/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
index 98a9f6988ae3d..68b3c922cb362 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
@@ -75,7 +75,7 @@ struct SameSizeAsRunInfo {
void* pointers[2];
unsigned integer;
} glyph_data;
- void* pointer;
+ Member<void*> pointer;
Vector<int> vector;
int integers[6];
};

View file

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

View file

@ -1,32 +0,0 @@
commit 1ab1a14ad97394d384d8dc6de51bb229625e66d6
Author: Benoît Lizé <lizeb@chromium.org>
Date: Mon Sep 16 12:01:14 2024 +0200
[cppgc] Decommit pooled pages by default
This reduces committed memory by a large amount, which matters on
Windows. See the field trial results, which measure committed memory:
https://screenshot.googleplex.com/kEBAScqJSEXuRoy
Bug: chromium:326303884
Change-Id: I619257871bcdb7ed50a71f41af341d0df634428a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5864909
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
Auto-Submit: Benoit Lize <lizeb@chromium.org>
Cr-Commit-Position: refs/heads/main@{#96107}
diff --git a/v8/src/flags/flag-definitions.h b/v8/src/flags/flag-definitions.h
index 69946faf5ed..85c4b68612e 100644
--- a/v8/src/flags/flag-definitions.h
+++ b/v8/src/flags/flag-definitions.h
@@ -821,7 +821,7 @@ DEFINE_BOOL(trace_block_coverage, false,
"trace collected block coverage information")
DEFINE_BOOL(trace_protector_invalidation, false,
"trace protector cell invalidations")
-DEFINE_BOOL(decommit_pooled_pages, false,
+DEFINE_BOOL(decommit_pooled_pages, true,
"decommit, rather than discard pooled pages")
#ifdef V8_MINORMS_STRING_SHORTCUTTING

View file

@ -0,0 +1,13 @@
diff -up chromium-131.0.6778.69/build/linux/unbundle/freetype.gn.me chromium-131.0.6778.69/build/linux/unbundle/freetype.gn
--- chromium-131.0.6778.69/build/linux/unbundle/freetype.gn.me 2024-11-13 08:48:26.212329841 +0100
+++ chromium-131.0.6778.69/build/linux/unbundle/freetype.gn 2024-11-13 08:49:03.071985611 +0100
@@ -11,4 +11,9 @@ declare_args() {
# System FreeType configurations other than as described WILL INTRODUCE TEXT
# RENDERING AND SECURITY REGRESSIONS.
use_system_freetype = true
+
+ # Use FreeType for font rendering. If this is set to false, FreeType is
+ # replaced with the Rust-based Fontations set of libraries plus Skia
+ # path rendering.
+ enable_freetype = true
}

View file

@ -1,11 +0,0 @@
diff -up chromium-132.0.6834.57/build/config/gcc/BUILD.gn.me chromium-132.0.6834.57/build/config/gcc/BUILD.gn
--- chromium-132.0.6834.57/build/config/gcc/BUILD.gn.me 2025-01-01 18:59:29.670002052 +0100
+++ chromium-132.0.6834.57/build/config/gcc/BUILD.gn 2025-01-01 20:51:11.798696436 +0100
@@ -32,7 +32,6 @@ declare_args() {
# See http://gcc.gnu.org/wiki/Visibility
config("symbol_visibility_hidden") {
cflags = [ "-fvisibility=hidden" ]
- rustflags = [ "-Zdefault-visibility=hidden" ]
# Visibility attribute is not supported on AIX.
if (current_os != "aix") {

View file

@ -1,12 +0,0 @@
diff -up chromium-133.0.6943.53/media/filters/ffmpeg_glue.cc.me chromium-133.0.6943.53/media/filters/ffmpeg_glue.cc
--- chromium-133.0.6943.53/media/filters/ffmpeg_glue.cc.me 2025-02-05 13:28:17.782881439 +0100
+++ chromium-133.0.6943.53/media/filters/ffmpeg_glue.cc 2025-02-05 13:33:15.256928027 +0100
@@ -111,7 +111,7 @@ FFmpegGlue::FFmpegGlue(FFmpegURLProtocol
// We don't allow H.264 parsing during demuxing since we have our own parser
// and the ffmpeg one increases memory usage unnecessarily.
- format_context_->flags |= AVFMT_FLAG_NOH264PARSE;
+ // format_context_->flags |= AVFMT_FLAG_NOH264PARSE;
// Ensures format parsing errors will bail out. From an audit on 11/2017, all
// instances were real failures. Solves bugs like http://crbug.com/710791.

View file

@ -1,34 +0,0 @@
diff -up chromium-133.0.6943.98/media/ffmpeg/ffmpeg_common.cc.than chromium-133.0.6943.98/media/ffmpeg/ffmpeg_common.cc
--- chromium-133.0.6943.98/media/ffmpeg/ffmpeg_common.cc.than 2025-02-13 11:59:31.035724118 +0100
+++ chromium-133.0.6943.98/media/ffmpeg/ffmpeg_common.cc 2025-02-14 10:39:07.825746076 +0100
@@ -76,6 +76,8 @@ const char* GetAllowedVideoDecoders() {
void ApplyCodecContextSecuritySettings(AVCodecContext* codec_context) {
// Future versions of ffmpeg may copy the allow list from the format
// context.
+ // Workaround for codec whitelist with system ffmpeg
+#if 0
if (!codec_context->codec_whitelist) {
// Note: FFmpeg will try to free this string, so we must duplicate it.
codec_context->codec_whitelist =
@@ -83,6 +85,7 @@ void ApplyCodecContextSecuritySettings(A
? GetAllowedAudioDecoders()
: GetAllowedVideoDecoders());
}
+#endif
// Note: This is security sensitive. FFmpeg may not always continue safely
// in the presence of errors. See https://crbug.com/379418979
diff -up chromium-133.0.6943.98/media/filters/ffmpeg_glue.cc.than chromium-133.0.6943.98/media/filters/ffmpeg_glue.cc
--- chromium-133.0.6943.98/media/filters/ffmpeg_glue.cc.than 2025-02-14 10:14:13.360398193 +0100
+++ chromium-133.0.6943.98/media/filters/ffmpeg_glue.cc 2025-02-14 10:36:46.762332912 +0100
@@ -131,8 +131,10 @@ FFmpegGlue::FFmpegGlue(FFmpegURLProtocol
// memory usage.
//
// Note: FFmpeg will try to free these strings, so we must duplicate them.
+#if 0
format_context_->codec_whitelist = av_strdup(GetAllowedAudioDecoders());
format_context_->format_whitelist = av_strdup(GetAllowedDemuxers());
+#endif
}
bool FFmpegGlue::OpenContext(bool is_local_file) {

View file

@ -1,13 +0,0 @@
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;
}

View file

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

View file

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

View file

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

View file

@ -1,23 +0,0 @@
diff -up chromium-138.0.7204.15/third_party/node/node.gni.me chromium-138.0.7204.15/third_party/node/node.gni
--- chromium-138.0.7204.15/third_party/node/node.gni.me 2025-06-03 23:20:09.000000000 +0200
+++ chromium-138.0.7204.15/third_party/node/node.gni 2025-06-09 09:59:21.788545159 +0200
@@ -44,7 +44,6 @@ template("node") {
if (!defined(deps)) {
deps = []
}
- deps += [ "//third_party/node:check_version" ]
}
}
}
diff -up chromium-138.0.7204.15/third_party/node/BUILD.gn.me chromium-138.0.7204.15/third_party/node/BUILD.gn
diff -up chromium-138.0.7204.15/third_party/protobuf/proto_library.gni.me chromium-138.0.7204.15/third_party/protobuf/proto_library.gni
--- chromium-138.0.7204.15/third_party/protobuf/proto_library.gni.me 2025-06-09 11:33:08.279645775 +0200
+++ chromium-138.0.7204.15/third_party/protobuf/proto_library.gni 2025-06-09 12:10:07.040045476 +0200
@@ -562,7 +562,6 @@ template("proto_library") {
_protoc_gen_ts_path,
"//tools/protoc_wrapper/protoc-gen-ts_proto.py",
] + _protoc_gen_ts_runtime_deps
- deps += [ "//third_party/node:check_version" ]
}
if (_generate_with_plugin) {

View file

@ -1,158 +0,0 @@
https://chromium-review.googlesource.com/c/chromium/src/+/6506529
Revert CL rolls ffmpeg for M138 as it breaks the build due to old ffmpeg version on EL9
diff -up chromium-138.0.7204.49/media/ffmpeg/ffmpeg_common.cc.me chromium-138.0.7204.49/media/ffmpeg/ffmpeg_common.cc
--- chromium-138.0.7204.49/media/ffmpeg/ffmpeg_common.cc.me 2025-06-23 23:34:26.000000000 +0200
+++ chromium-138.0.7204.49/media/ffmpeg/ffmpeg_common.cc 2025-06-25 15:13:17.958054182 +0200
@@ -263,22 +263,22 @@ AVCodecID VideoCodecToCodecID(VideoCodec
static VideoCodecProfile ProfileIDToVideoCodecProfile(int profile) {
// Clear out the CONSTRAINED & INTRA flags which are strict subsets of the
// corresponding profiles with which they're used.
- profile &= ~AV_PROFILE_H264_CONSTRAINED;
- profile &= ~AV_PROFILE_H264_INTRA;
+ profile &= ~FF_PROFILE_H264_CONSTRAINED;
+ profile &= ~FF_PROFILE_H264_INTRA;
switch (profile) {
- case AV_PROFILE_H264_BASELINE:
+ case FF_PROFILE_H264_BASELINE:
return H264PROFILE_BASELINE;
- case AV_PROFILE_H264_MAIN:
+ case FF_PROFILE_H264_MAIN:
return H264PROFILE_MAIN;
- case AV_PROFILE_H264_EXTENDED:
+ case FF_PROFILE_H264_EXTENDED:
return H264PROFILE_EXTENDED;
- case AV_PROFILE_H264_HIGH:
+ case FF_PROFILE_H264_HIGH:
return H264PROFILE_HIGH;
- case AV_PROFILE_H264_HIGH_10:
+ case FF_PROFILE_H264_HIGH_10:
return H264PROFILE_HIGH10PROFILE;
- case AV_PROFILE_H264_HIGH_422:
+ case FF_PROFILE_H264_HIGH_422:
return H264PROFILE_HIGH422PROFILE;
- case AV_PROFILE_H264_HIGH_444_PREDICTIVE:
+ case FF_PROFILE_H264_HIGH_444_PREDICTIVE:
return H264PROFILE_HIGH444PREDICTIVEPROFILE;
default:
DVLOG(1) << "Unknown profile id: " << profile;
@@ -289,23 +289,23 @@ static VideoCodecProfile ProfileIDToVide
static int VideoCodecProfileToProfileID(VideoCodecProfile profile) {
switch (profile) {
case H264PROFILE_BASELINE:
- return AV_PROFILE_H264_BASELINE;
+ return FF_PROFILE_H264_BASELINE;
case H264PROFILE_MAIN:
- return AV_PROFILE_H264_MAIN;
+ return FF_PROFILE_H264_MAIN;
case H264PROFILE_EXTENDED:
- return AV_PROFILE_H264_EXTENDED;
+ return FF_PROFILE_H264_EXTENDED;
case H264PROFILE_HIGH:
- return AV_PROFILE_H264_HIGH;
+ return FF_PROFILE_H264_HIGH;
case H264PROFILE_HIGH10PROFILE:
- return AV_PROFILE_H264_HIGH_10;
+ return FF_PROFILE_H264_HIGH_10;
case H264PROFILE_HIGH422PROFILE:
- return AV_PROFILE_H264_HIGH_422;
+ return FF_PROFILE_H264_HIGH_422;
case H264PROFILE_HIGH444PREDICTIVEPROFILE:
- return AV_PROFILE_H264_HIGH_444_PREDICTIVE;
+ return FF_PROFILE_H264_HIGH_444_PREDICTIVE;
default:
DVLOG(1) << "Unknown VideoCodecProfile: " << profile;
}
- return AV_PROFILE_UNKNOWN;
+ return FF_PROFILE_UNKNOWN;
}
SampleFormat AVSampleFormatToSampleFormat(AVSampleFormat sample_format,
@@ -441,7 +441,7 @@ bool AVCodecContextToAudioDecoderConfig(
// TODO(dalecurtis): Just use the profile from the codec context if ffmpeg
// ever starts supporting xHE-AAC.
// FFmpeg provides the (defined_profile - 1) for AVCodecContext::profile
- if (codec_context->profile == AV_PROFILE_UNKNOWN ||
+ if (codec_context->profile == FF_PROFILE_UNKNOWN ||
codec_context->profile == mp4::AAC::kXHeAAcType - 1) {
// Errors aren't fatal here, so just drop any MediaLog messages.
NullMediaLog media_log;
@@ -659,16 +659,16 @@ bool AVStreamToVideoDecoderConfig(const
break;
case VideoCodec::kVP9:
switch (codec_context->profile) {
- case AV_PROFILE_VP9_0:
+ case FF_PROFILE_VP9_0:
profile = VP9PROFILE_PROFILE0;
break;
- case AV_PROFILE_VP9_1:
+ case FF_PROFILE_VP9_1:
profile = VP9PROFILE_PROFILE1;
break;
- case AV_PROFILE_VP9_2:
+ case FF_PROFILE_VP9_2:
profile = VP9PROFILE_PROFILE2;
break;
- case AV_PROFILE_VP9_3:
+ case FF_PROFILE_VP9_3:
profile = VP9PROFILE_PROFILE3;
break;
default:
diff -up chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter.cc.me chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter.cc
--- chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter.cc.me 2025-06-23 23:34:26.000000000 +0200
+++ chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter.cc 2025-06-25 15:13:17.958541707 +0200
@@ -68,17 +68,17 @@ bool GenerateAdtsHeader(int codec,
hdr[1] |= 1;
switch (audio_profile) {
- case AV_PROFILE_AAC_MAIN:
+ case FF_PROFILE_AAC_MAIN:
break;
- case AV_PROFILE_AAC_HE:
- case AV_PROFILE_AAC_HE_V2:
- case AV_PROFILE_AAC_LOW:
+ case FF_PROFILE_AAC_HE:
+ case FF_PROFILE_AAC_HE_V2:
+ case FF_PROFILE_AAC_LOW:
hdr[2] |= (1 << 6);
break;
- case AV_PROFILE_AAC_SSR:
+ case FF_PROFILE_AAC_SSR:
hdr[2] |= (2 << 6);
break;
- case AV_PROFILE_AAC_LTP:
+ case FF_PROFILE_AAC_LTP:
hdr[2] |= (3 << 6);
break;
default:
diff -up chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc.me chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
--- chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc.me 2025-06-23 23:34:26.000000000 +0200
+++ chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc 2025-06-25 15:13:17.958839001 +0200
@@ -41,7 +41,7 @@ class FFmpegAACBitstreamConverterTest :
// Set up reasonable aac parameters
memset(&test_parameters_, 0, sizeof(AVCodecParameters));
test_parameters_.codec_id = AV_CODEC_ID_AAC;
- test_parameters_.profile = AV_PROFILE_AAC_MAIN;
+ test_parameters_.profile = FF_PROFILE_AAC_MAIN;
test_parameters_.ch_layout.nb_channels = 2;
test_parameters_.extradata = extradata_header_;
test_parameters_.extradata_size = sizeof(extradata_header_);
@@ -131,7 +131,7 @@ TEST_F(FFmpegAACBitstreamConverterTest,
EXPECT_EQ(profile, kAacMainProfile);
- test_parameters_.profile = AV_PROFILE_AAC_HE;
+ test_parameters_.profile = FF_PROFILE_AAC_HE;
FFmpegAACBitstreamConverter converter_he(&test_parameters_);
test_packet = ScopedAVPacket::Allocate();
@@ -143,7 +143,7 @@ TEST_F(FFmpegAACBitstreamConverterTest,
EXPECT_EQ(profile, kAacLowComplexityProfile);
- test_parameters_.profile = AV_PROFILE_AAC_ELD;
+ test_parameters_.profile = FF_PROFILE_AAC_ELD;
FFmpegAACBitstreamConverter converter_eld(&test_parameters_);
test_packet = ScopedAVPacket::Allocate();

View file

@ -1,13 +0,0 @@
diff -up chromium-139.0.7258.127/build/rust/cargo_crate.gni.than chromium-139.0.7258.127/build/rust/cargo_crate.gni
--- chromium-139.0.7258.127/build/rust/cargo_crate.gni.than 2025-08-14 09:44:51.783560032 +0200
+++ chromium-139.0.7258.127/build/rust/cargo_crate.gni 2025-08-14 09:48:37.407051268 +0200
@@ -310,6 +310,9 @@ template("cargo_crate") {
rustflags +=
[ "-Awarnings" ] # Suppress other warnings in 3rd-party crates.
+ rustflags +=
+ [ "--cap-lints=warn" ] # Suppress other warnings, causes FTBFS in Fedora build rhbz#2387446
+
if (!defined(build_native_rust_unit_tests)) {
build_native_rust_unit_tests = _crate_type != "proc-macro"
}

View file

@ -1,16 +0,0 @@
Fix ftbfs
v8/include/cppgc/visitor.h:440:19: error: invalid application of 'sizeof' to an incomplete type 'blink::CSSStyleSheet'
440 | static_assert(sizeof(T), "Pointee type must be fully defined.");
diff -up chromium-141.0.7390.37/third_party/blink/renderer/bindings/scripts/bind_gen/observable_array.py.ftbfs-csss_style_sheet chromium-141.0.7390.37/third_party/blink/renderer/bindings/scripts/bind_gen/observable_array.py
--- chromium-141.0.7390.37/third_party/blink/renderer/bindings/scripts/bind_gen/observable_array.py.ftbfs-csss_style_sheet 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/third_party/blink/renderer/bindings/scripts/bind_gen/observable_array.py 2025-10-01 17:55:51.303926035 +0200
@@ -433,6 +433,7 @@ def generate_observable_array(observable
header_node.accumulator.add_include_headers([
component_export_header(api_component, for_testing),
"third_party/blink/renderer/bindings/core/v8/idl_types.h",
+ "third_party/blink/renderer/core/css/css_style_sheet.h",
"third_party/blink/renderer/platform/bindings/observable_array.h",
])
source_node.accumulator.add_include_headers([

View file

@ -1,29 +0,0 @@
Fix FTBFS
/usr/include/bits/siginfo-consts.h:219:3: error: expected identifier
219 | SYS_SECCOMP = 1, /* Seccomp triggered. */
| ^
../../sandbox/linux/system_headers/linux_seccomp.h:220:39: note: expanded from macro 'SYS_SECCOMP'
220 | #define SYS_SECCOMP 1
| ^
../../sandbox/linux/seccomp-bpf/trap.cc:159:46: error: use of undeclared identifier 'SYS_SECCOMP'
159 | if (nr != LINUX_SIGSYS || info->si_code != SYS_SECCOMP || !ctx ||
| ^~~~~~~~~~~
/usr/include/bits/siginfo-consts.h:220:23: note: expanded from macro 'SYS_SECCOMP'
220 | # define SYS_SECCOMP SYS_SECCOMP
diff -up chromium-141.0.7390.122/sandbox/linux/system_headers/linux_seccomp.h.me chromium-141.0.7390.122/sandbox/linux/system_headers/linux_seccomp.h
--- chromium-141.0.7390.122/sandbox/linux/system_headers/linux_seccomp.h.me 2025-10-28 10:05:44.970248151 +0100
+++ chromium-141.0.7390.122/sandbox/linux/system_headers/linux_seccomp.h 2025-10-28 10:05:52.291345772 +0100
@@ -214,8 +214,11 @@ struct seccomp_notif_addfd {
#define SECCOMP_RET_INVALID 0x00010000U // Illegal return value
#endif
+// check glibc version < 2.42
+#if (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 42)
#ifndef SYS_SECCOMP
#define SYS_SECCOMP 1
#endif
+#endif
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SECCOMP_H_

View file

@ -1,28 +0,0 @@
Fix FTBFS
../../build/modules/linux-x64/module.modulemap:11:12: error: header '../../linux/debian_bullseye_amd64-sysroot/usr/include/alloca.h' not found
11 | header "../../linux/debian_bullseye_amd64-sysroot/usr/include/alloca.h"
| ^
1 error generated
diff -up chromium-141.0.7390.37/build/config/BUILDCONFIG.gn.me chromium-141.0.7390.37/build/config/BUILDCONFIG.gn
--- chromium-141.0.7390.37/build/config/BUILDCONFIG.gn.me 2025-10-01 17:39:47.242174153 +0200
+++ chromium-141.0.7390.37/build/config/BUILDCONFIG.gn 2025-10-01 17:49:54.736578295 +0200
@@ -557,6 +557,8 @@ foreach(_target_type,
]) {
template(_target_type) {
target(_target_type, target_name) {
+ use_libcxx_modules = false
+
forward_variables_from(invoker, "*", TESTONLY_AND_VISIBILITY)
forward_variables_from(invoker, TESTONLY_AND_VISIBILITY)
if (!defined(inputs)) {
@@ -660,6 +662,8 @@ foreach(_target_type,
# TODO(crbug.com/326584510): Reclient doesn't respect this variable, see
# rbe_bug_326584510_missing_inputs in //build/config/clang/clang.gni
_uses_cflags = false
+ use_libcxx_modules = false
+
if (defined(sources)) {
foreach(f, sources) {
if (string_replace(f + ".END", ".cc.END", "") != f + ".END" ||

View file

@ -1,13 +0,0 @@
diff -up chromium-142.0.7444.52/build/config/compiler/BUILD.gn.clang++-unsupported-argument chromium-142.0.7444.52/build/config/compiler/BUILD.gn
--- chromium-142.0.7444.52/build/config/compiler/BUILD.gn.clang++-unsupported-argument 2025-10-28 19:41:59.131433882 +0100
+++ chromium-142.0.7444.52/build/config/compiler/BUILD.gn 2025-10-28 19:42:51.792779638 +0100
@@ -2160,9 +2160,6 @@ config("default_warnings") {
# TODO(crbug.com/40284799): Fix and re-enable.
"-Wno-thread-safety-reference-return",
- # TODO(crbug.com/376641662): Fix and re-enable.
- "-Wno-nontrivial-memcall",
-
# TODO(crbug.com/432275627): Fix and re-enable.
"-Wno-uninitialized-const-pointer",
]

View file

@ -1,24 +0,0 @@
Workaround for FTBFS
error: cannot find attribute `sanitize` in this scope
--> ../../third_party/crabbyavif/src/src/capi/io.rs:210:41
|
210 | #[cfg_attr(feature = "disable_cfi", sanitize(cfi = "off"))]
diff -up chromium-142.0.7444.52/third_party/crabbyavif/BUILD.gn.me chromium-142.0.7444.52/third_party/crabbyavif/BUILD.gn
--- chromium-142.0.7444.52/third_party/crabbyavif/BUILD.gn.me 2025-10-27 10:40:59.373768499 +0100
+++ chromium-142.0.7444.52/third_party/crabbyavif/BUILD.gn 2025-10-27 10:45:12.142749942 +0100
@@ -197,12 +197,11 @@ rust_static_library("crabbyavif") {
"dav1d",
"libyuv",
"capi",
- "disable_cfi",
]
# Required for disable_cfi feature.
configs -= [ "//build/config/compiler:disallow_unstable_features" ]
- rustflags = [ "-Zallow-features=sanitize" ]
+ rustflags = [ "-Zallow-features=no_sanitize" ]
public_deps = [ ":header_files" ]
deps = [

View file

@ -1,136 +0,0 @@
diff -up chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.cc.el9-ffmpeg-5.1.x chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.cc
--- chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.cc.el9-ffmpeg-5.1.x 2025-11-01 22:14:10.116779876 +0100
+++ chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.cc 2025-11-01 22:14:10.134140132 +0100
@@ -800,8 +803,13 @@ bool AVStreamToVideoDecoderConfig(const
}
VideoTransformation video_transformation = VideoTransformation();
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
+ for (int i = 0; i < stream->nb_side_data; i++) {
+ const auto& side_data = stream->side_data[i];
+#else
for (const auto& side_data :
AVCodecParametersCodedSideToSpan(stream->codecpar)) {
+#endif
switch (side_data.type) {
case AV_PKT_DATA_DISPLAYMATRIX: {
CHECK_EQ(side_data.size, sizeof(int32_t) * 3 * 3);
diff -up chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.h.el9-ffmpeg-5.1.x chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.h
--- chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.h.el9-ffmpeg-5.1.x 2025-10-24 18:42:30.000000000 +0200
+++ chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.h 2025-11-02 08:06:48.997329630 +0100
@@ -111,9 +111,13 @@ inline base::span<AVPacketSideData> AVCo
// https://ffmpeg.org/doxygen/trunk/structAVCodecParameters.html#a29643cfd94231e2d148a5d17b08d115b
// ffmpeg documentation: `nb_coded_side_data` is the amount of entries in
// `coded_side_data`.
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(60, 31, 102)
return UNSAFE_BUFFERS(
base::span(codecpar->coded_side_data,
base::checked_cast<size_t>(codecpar->nb_coded_side_data)));
+#else
+ return base::span<AVPacketSideData>();
+#endif
}
// Converts an int64_t timestamp in |time_base| units to a base::TimeDelta.
diff -up chromium-142.0.7444.59/media/filters/audio_video_metadata_extractor.cc.el9-ffmpeg-5.1.x chromium-142.0.7444.59/media/filters/audio_video_metadata_extractor.cc
--- chromium-142.0.7444.59/media/filters/audio_video_metadata_extractor.cc.el9-ffmpeg-5.1.x 2025-10-24 18:42:30.000000000 +0200
+++ chromium-142.0.7444.59/media/filters/audio_video_metadata_extractor.cc 2025-11-01 22:14:10.124748634 +0100
@@ -109,17 +109,33 @@ bool AudioVideoMetadataExtractor::Extrac
container_info.type = format_context->iformat->name;
ExtractDictionary(format_context->metadata, &container_info.tags);
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
+ for (unsigned int i = 0; i < format_context->nb_streams; ++i) {
+ stream_infos_.push_back(StreamInfo());
+#else
base::span<AVStream*> format_context_span =
AVFormatContextToSpan(format_context);
std::ranges::for_each(format_context_span, [&](AVStream* stream) {
stream_infos_.emplace_back();
+#endif
StreamInfo& info = stream_infos_.back();
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
+ AVStream* stream = format_context->streams[i];
+ if (!stream)
+ continue;
+#else
if (!stream) {
return;
}
+#endif
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
+ for (int j = 0; j < stream->nb_side_data; j++) {
+ const AVPacketSideData& sd = stream->side_data[j];
+#else
for (const auto& sd : AVCodecParametersCodedSideToSpan(stream->codecpar)) {
+#endif
if (sd.type == AV_PKT_DATA_DISPLAYMATRIX) {
CHECK_EQ(sd.size, sizeof(int32_t) * 3 * 3);
rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(
@@ -135,7 +151,11 @@ bool AudioVideoMetadataExtractor::Extrac
ExtractDictionary(stream->metadata, &info.tags);
if (!stream->codecpar) {
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
+ continue;
+#else
return;
+#endif
}
info.type = avcodec_get_name(stream->codecpar->codec_id);
@@ -158,7 +178,11 @@ bool AudioVideoMetadataExtractor::Extrac
reinterpret_cast<const char*>(stream->attached_pic.data),
stream->attached_pic.size);
}
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
+ }
+#else
});
+#endif
extracted_ = true;
return true;
diff -up chromium-142.0.7444.59/media/filters/media_file_checker.cc.el9-ffmpeg-5.1.x chromium-142.0.7444.59/media/filters/media_file_checker.cc
--- chromium-142.0.7444.59/media/filters/media_file_checker.cc.el9-ffmpeg-5.1.x 2025-10-24 18:42:30.000000000 +0200
+++ chromium-142.0.7444.59/media/filters/media_file_checker.cc 2025-11-01 22:14:10.125099595 +0100
@@ -64,6 +64,10 @@ bool MediaFileChecker::Start(base::TimeD
// Remember the codec context for any decodable audio or video streams.
bool found_streams = false;
std::vector<Decoder> stream_contexts(format_context->nb_streams);
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
+ for (size_t i = 0; i < format_context->nb_streams; ++i) {
+ AVCodecParameters* cp = format_context->streams[i]->codecpar;
+#else
base::span<AVStream*> format_context_span =
AVFormatContextToSpan(format_context);
std::ranges::transform(
@@ -85,9 +89,26 @@ bool MediaFileChecker::Start(base::TimeD
}
}
+#endif
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
+ if (cp->codec_type == AVMEDIA_TYPE_AUDIO ||
+ cp->codec_type == AVMEDIA_TYPE_VIDEO) {
+ auto context = AVStreamToAVCodecContext(format_context->streams[i]);
+ if (!context)
+ continue;
+ const AVCodec* codec = avcodec_find_decoder(cp->codec_id);
+ if (codec && avcodec_open2(context.get(), codec, nullptr) >= 0) {
+ auto loop = std::make_unique<FFmpegDecodingLoop>(context.get());
+ stream_contexts[i] = {std::move(context), std::move(loop)};
+ found_streams = true;
+ }
+ }
+ }
+#else
return Decoder{};
});
+#endif
if (!found_streams)
return false;

View file

@ -1,32 +0,0 @@
commit 069d424e41f42c6f4a4551334eafc7cfaed6e880
Author: Nathan Pratta Teodosio <nathan.teodosio@canonical.com>
Date: Mon Oct 13 02:29:29 2025 -0700
Add missing include for FormFieldData type completeness.
Bug: 450752866
Change-Id: I25b2d6cd627063e006014289de68d2ecc70a2db7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7030724
Reviewed-by: Christoph Schwering <schwering@google.com>
Reviewed-by: Jihad Hanna <jihadghanna@google.com>
Commit-Queue: Jihad Hanna <jihadghanna@google.com>
Reviewed-by: Matthias Körber <koerber@google.com>
Cr-Commit-Position: refs/heads/main@{#1528799}
diff --git a/components/autofill/core/browser/form_parsing/autofill_scanner.h b/components/autofill/core/browser/form_parsing/autofill_scanner.h
index 844526a5f77..eab073266e8 100644
--- a/components/autofill/core/browser/form_parsing/autofill_scanner.h
+++ b/components/autofill/core/browser/form_parsing/autofill_scanner.h
@@ -10,11 +10,10 @@
#include "base/compiler_specific.h"
#include "base/containers/span.h"
#include "base/memory/raw_span.h"
+#include "components/autofill/core/common/form_field_data.h"
namespace autofill {
-class FormFieldData;
-
// A helper class for parsing a stream of |FormFieldData|'s with lookahead.
class AutofillScanner {
private:

View file

@ -1,38 +0,0 @@
diff -up chromium-142.0.7444.52/net/filter/brotli_source_stream.cc.system-brotli chromium-142.0.7444.52/net/filter/brotli_source_stream.cc
--- chromium-142.0.7444.52/net/filter/brotli_source_stream.cc.system-brotli 2025-10-21 22:19:54.000000000 +0200
+++ chromium-142.0.7444.52/net/filter/brotli_source_stream.cc 2025-10-26 16:55:51.220605842 +0100
@@ -14,8 +14,8 @@
#include "base/metrics/histogram_macros.h"
#include "net/base/io_buffer.h"
#include "net/filter/source_stream_type.h"
-#include "third_party/brotli/include/brotli/decode.h"
-#include "third_party/brotli/include/brotli/shared_dictionary.h"
+#include <brotli/decode.h>
+#include <brotli/shared_dictionary.h>
namespace net {
diff -up chromium-142.0.7444.52/net/ssl/cert_compression.cc.system-brotli chromium-142.0.7444.52/net/ssl/cert_compression.cc
--- chromium-142.0.7444.52/net/ssl/cert_compression.cc.system-brotli 2025-10-21 22:19:54.000000000 +0200
+++ chromium-142.0.7444.52/net/ssl/cert_compression.cc 2025-10-26 16:55:51.220845216 +0100
@@ -9,7 +9,7 @@
#include "third_party/boringssl/src/include/openssl/ssl.h"
#if !defined(NET_DISABLE_BROTLI)
-#include "third_party/brotli/include/brotli/decode.h"
+#include <brotli/decode.h>
#endif
namespace net {
diff -up chromium-142.0.7444.52/ui/base/resource/resource_bundle.cc.system-brotli chromium-142.0.7444.52/ui/base/resource/resource_bundle.cc
--- chromium-142.0.7444.52/ui/base/resource/resource_bundle.cc.system-brotli 2025-10-21 22:19:54.000000000 +0200
+++ chromium-142.0.7444.52/ui/base/resource/resource_bundle.cc 2025-10-26 17:04:17.085726059 +0100
@@ -37,7 +37,7 @@
#include "build/build_config.h"
#include "net/filter/gzip_header.h"
#include "skia/ext/image_operations.h"
-#include "third_party/brotli/include/brotli/decode.h"
+#include <brotli/decode.h>
#include "third_party/skia/include/codec/SkPngRustDecoder.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkColor.h"

View file

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

View file

@ -1,22 +0,0 @@
Fix build errors:
error[E0428]: the name `__rust_alloc_error_handler_should_panic_v2` is defined multiple times
--> ../../build/rust/allocator/lib.rs:101:5
error: undefined symbol: __rust_no_alloc_shim_is_unstable
diff -up chromium-141.0.7390.37/build/rust/allocator/lib.rs.rust-no-alloc-shim-is-unstable chromium-141.0.7390.37/build/rust/allocator/lib.rs
--- chromium-141.0.7390.37/build/rust/allocator/lib.rs.rust-no-alloc-shim-is-unstable 2025-09-23 22:21:14.000000000 +0200
+++ chromium-141.0.7390.37/build/rust/allocator/lib.rs 2025-09-27 15:14:54.661952048 +0200
@@ -103,6 +103,11 @@ mod both_allocators {
#[linkage = "weak"]
static __rust_alloc_error_handler_should_panic: u8 = 0;
+ // Mangle the symbol name as rustc (1.84) expects on EL9
+ #[unsafe(no_mangle)]
+ #[linkage = "weak"]
+ static __rust_no_alloc_shim_is_unstable: u8 = 0;
+
// Mangle the symbol name as rustc expects.
#[rustc_std_internal_symbol]
#[allow(non_upper_case_globals)]

View file

@ -1,17 +0,0 @@
diff -up chromium-142.0.7444.162/build/rust/allocator/lib.rs.el9-rust_alloc_error_handler_should_panic chromium-142.0.7444.162/build/rust/allocator/lib.rs
--- chromium-142.0.7444.162/build/rust/allocator/lib.rs.el9-rust_alloc_error_handler_should_panic 2025-11-12 09:39:31.616713829 +0100
+++ chromium-142.0.7444.162/build/rust/allocator/lib.rs 2025-11-14 11:43:32.115426831 +0100
@@ -96,6 +96,13 @@ mod both_allocators {
0
}
+ // Mangle the symbol name as rustc (1.88) expects on EL9
+ #[rustc_std_internal_symbol]
+ #[linkage = "weak"]
+ fn __rust_alloc_error_handler_should_panic() -> u8 {
+ 0
+ }
+
// Mangle the symbol name as rustc (1.84) expects on EL9
#[unsafe(no_mangle)]
#[linkage = "weak"]

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,36 +0,0 @@
<!-- Copyright 2017 The Chromium Authors -->
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>chromium-browser.desktop</id>
<update_contact>chromium-dev@chromium.org</update_contact>
<metadata_license>CC0-1.0</metadata_license>
<project_license>BSD-3-Clause and LGPL-2.1+ and Apache-2.0 and IJG and MIT and GPL-2.0+ and ISC and OpenSSL and (MPL-1.1 or GPL-2.0 or LGPL-2.0)</project_license>
<name>Chromium Web Browser</name>
<summary>The web browser from Chromium project</summary>
<description>
<p>
Chromium is an open-source browser project that aims to build a safer, faster,
and more stable way to experience the web.
</p>
<p>
We invite you to join our effort to build a powerful platform for developing a
new generation of web applications.
</p>
<p>
Chromium supports Vorbis, Theora, WebM and HTML5 audio and video standards, but
does not include the non-free AAC, H.264, MP3 or Adobe Flash code that is found
in Chrome.
</p>
</description>
<url type="homepage">https://www.chromium.org/Home</url>
<screenshots>
<screenshot type="default">
<image>https://www.gstatic.com/chrome/appstream/chrome-2.png</image>
<caption/>
</screenshot>
</screenshots>
<translation/>
<developer_name>The Chromium Authors</developer_name>
<url type="bugtracker">https://www.chromium.org/for-testers/bug-reporting-guidelines</url>
<url type="help">https://chromium.googlesource.com/chromium/src/+/main/docs/linux/debugging.md</url>
</component>

View file

@ -150,8 +150,8 @@ Name[ast]=Ventana nueva
Name[az]=Yeni Pəncərə
Name[be]=Новае акно
Name[bg]=Нов прозорец
Name[bn_BD]= (N)
Name[bn_IN]=
Name[bn-BD]= (N)
Name[bn-IN]=
Name[br]=Prenestr nevez
Name[brx]= '(N)
Name[bs]=Novi prozor
@ -163,37 +163,37 @@ Name[da]=Nyt vindue
Name[de]=Neues Fenster
Name[dsb]=Nowe wokno
Name[el]=Νέο παράθυρο
Name[en_GB]=New Window
Name[en_US]=New Window
Name[en_ZA]=New Window
Name[en-GB]=New Window
Name[en-US]=New Window
Name[en-ZA]=New Window
Name[eo]=Nova fenestro
Name[es_AR]=Nueva ventana
Name[es_CL]=Nueva ventana
Name[es_ES]=Nueva ventana
Name[es_MX]=Nueva ventana
Name[es-AR]=Nueva ventana
Name[es-CL]=Nueva ventana
Name[es-ES]=Nueva ventana
Name[es-MX]=Nueva ventana
Name[et]=Uus aken
Name[eu]=Leiho berria
Name[fa]=پنجره جدید
Name[ff]=Henorde Hesere
Name[fi]=Uusi ikkuna
Name[fr]=Nouvelle fenêtre
Name[fy_NL]=Nij finster
Name[ga_IE]=Fuinneog Nua
Name[fy-NL]=Nij finster
Name[ga-IE]=Fuinneog Nua
Name[gd]=Uinneag ùr
Name[gl]=Nova xanela
Name[gn]=Ovetã pyahu
Name[gu_IN]= િ
Name[gu-IN]= િ
Name[he]=חלון חדש
Name[hi_IN]= ि
Name[hi-IN]= ि
Name[hr]=Novi prozor
Name[hsb]=Nowe wokno
Name[hu]=Új ablak
Name[hy_AM]=Նոր Պատուհան
Name[hy-AM]=Նոր Պատուհան
Name[id]=Jendela Baru
Name[is]=Nýr gluggi
Name[it]=Nuova finestra
Name[ja]=
Name[ja_JP@mac]=
Name[ja-JP-mac]=
Name[ka]=
Name[kk]=Жаңа терезе
Name[km]=
@ -212,15 +212,15 @@ Name[ml]=പുതിയ ജാലകം
Name[mr]=
Name[ms]=Tetingkap Baru
Name[my]=
Name[nb_NO]=Nytt vindu
Name[ne_NP]=
Name[nb-NO]=Nytt vindu
Name[ne-NP]=
Name[nl]=Nieuw venster
Name[nn_NO]=Nytt vindauge
Name[nn-NO]=Nytt vindauge
Name[or]= ି
Name[pa_IN]= ਿ
Name[pa-IN]= ਿ
Name[pl]=Nowe okno
Name[pt_BR]=Nova janela
Name[pt_PT]=Nova janela
Name[pt-BR]=Nova janela
Name[pt-PT]=Nova janela
Name[rm]=Nova fanestra
Name[ro]=Fereastră nouă
Name[ru]=Новое окно
@ -231,7 +231,7 @@ Name[sl]=Novo okno
Name[son]=Zanfun taaga
Name[sq]=Dritare e Re
Name[sr]=Нови прозор
Name[sv_SE]=Nytt fönster
Name[sv-SE]=Nytt fönster
Name[ta]=ி
Name[te]= ి
Name[th]=
@ -243,8 +243,8 @@ Name[uz]=Yangi oyna
Name[vi]=Ca s mi
Name[wo]=Palanteer bu bees
Name[xh]=Ifestile entsha
Name[zh_CN]=
Name[zh_TW]=
Name[zh-CN]=
Name[zh-TW]=
Exec=chromium-browser %U
[Desktop Action new-private-window]
@ -258,8 +258,8 @@ Name[ast]=Ventana privada nueva
Name[az]=Yeni Məxfi Pəncərə
Name[be]=Новае акно адасаблення
Name[bg]=Нов прозорец за поверително сърфиране
Name[bn_BD]= ি
Name[bn_IN]= ি
Name[bn-BD]= ি
Name[bn-IN]= ি
Name[br]=Prenestr merdeiñ prevez nevez
Name[brx]= '
Name[bs]=Novi privatni prozor
@ -271,37 +271,37 @@ Name[da]=Nyt privat vindue
Name[de]=Neues privates Fenster
Name[dsb]=Nowe priwatne wokno
Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
Name[en_GB]=New Private Window
Name[en_US]=New Private Window
Name[en_ZA]=New Private Window
Name[en-GB]=New Private Window
Name[en-US]=New Private Window
Name[en-ZA]=New Private Window
Name[eo]=Nova privata fenestro
Name[es_AR]=Nueva ventana privada
Name[es_CL]=Nueva ventana privada
Name[es_ES]=Nueva ventana privada
Name[es_MX]=Nueva ventana privada
Name[es-AR]=Nueva ventana privada
Name[es-CL]=Nueva ventana privada
Name[es-ES]=Nueva ventana privada
Name[es-MX]=Nueva ventana privada
Name[et]=Uus privaatne aken
Name[eu]=Leiho pribatu berria
Name[fa]=پنجره ناشناس جدید
Name[ff]=Henorde Suturo Hesere
Name[fi]=Uusi yksityinen ikkuna
Name[fr]=Nouvelle fenêtre de navigation privée
Name[fy_NL]=Nij priveefinster
Name[ga_IE]=Fuinneog Nua Phríobháideach
Name[fy-NL]=Nij priveefinster
Name[ga-IE]=Fuinneog Nua Phríobháideach
Name[gd]=Uinneag phrìobhaideach ùr
Name[gl]=Nova xanela privada
Name[gn]=Ovetã ñemi pyahu
Name[gu_IN]= િ
Name[gu-IN]= િ
Name[he]=חלון פרטי חדש
Name[hi-IN]= ि ि
Name[hr]=Novi privatni prozor
Name[hsb]=Nowe priwatne wokno
Name[hu]=Új privát ablak
Name[hy_AM]=Սկսել Գաղտնի դիտարկում
Name[hy-AM]=Սկսել Գաղտնի դիտարկում
Name[id]=Jendela Mode Pribadi Baru
Name[is]=Nýr huliðsgluggi
Name[it]=Nuova finestra anonima
Name[ja]=
Name[ja_JP@mac]=
Name[ja-JP-mac]=
Name[ka]=
Name[kk]=Жаңа жекелік терезе
Name[km]=
@ -320,15 +320,15 @@ Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
Name[mr]= ि
Name[ms]=Tetingkap Persendirian Baharu
Name[my]=New Private Window
Name[nb_NO]=Nytt privat vindu
Name[ne_NP]= ि
Name[nb-NO]=Nytt privat vindu
Name[ne-NP]= ि
Name[nl]=Nieuw privévenster
Name[nn_NO]=Nytt privat vindauge
Name[nn-NO]=Nytt privat vindauge
Name[or]= ି ି
Name[pa_IN]= ਿ
Name[pa-IN]= ਿ
Name[pl]=Nowe okno prywatne
Name[pt_BR]=Nova janela privativa
Name[pt_PT]=Nova janela privada
Name[pt-BR]=Nova janela privativa
Name[pt-PT]=Nova janela privada
Name[rm]=Nova fanestra privata
Name[ro]=Fereastră privată nouă
Name[ru]=Новое приватное окно
@ -339,7 +339,7 @@ Name[sl]=Novo zasebno okno
Name[son]=Sutura zanfun taaga
Name[sq]=Dritare e Re Private
Name[sr]=Нови приватан прозор
Name[sv_SE]=Nytt privat fönster
Name[sv-SE]=Nytt privat fönster
Name[ta]=ி ி
Name[te]= ి ి
Name[th]=
@ -351,6 +351,6 @@ Name[uz]=Yangi maxfiy oyna
Name[vi]=Ca s riêng tư mi
Name[wo]=Panlanteeru biir bu bees
Name[xh]=Ifestile yangasese entsha
Name[zh_CN]=
Name[zh_TW]=
Name[zh-CN]=
Name[zh-TW]=
Exec=chromium-browser --incognito %U

View file

@ -48,4 +48,4 @@ exec < /dev/null
exec > >(exec cat)
exec 2> >(exec cat >&2)
exec -a "$0" "$HERE/chromium-browser" $CHROMIUM_FLAGS $CHROMIUM_DISTRO_FLAGS "$@"
exec -a "$0" "$HERE/@@CHROMIUM_BROWSER_CHANNEL@@" $CHROMIUM_FLAGS $CHROMIUM_DISTRO_FLAGS "$@"

View file

@ -8,9 +8,11 @@
<command>/usr/bin/chromium-browser %s</command>
<icon-name>chromium-browser</icon-name>
<run-in-terminal>false</run-in-terminal>
<netscape-remote>true</netscape-remote>
<tab-command>/usr/bin/chromium-browser %s</tab-command>
<win-command>/usr/bin/chromium-browser --new-window %s</win-command>
<netscape-remote>false</netscape-remote>
<!--
<tab-command>false</tab-command>
<win-command>false</win-command>
-->
</web-browser>
</web-browsers>
</default-apps>

View file

@ -1,12 +0,0 @@
diff -up chromium-140.0.7339.80/media/filters/ffmpeg_video_decoder.cc.me chromium-140.0.7339.80/media/filters/ffmpeg_video_decoder.cc
--- chromium-140.0.7339.80/media/filters/ffmpeg_video_decoder.cc.me 2025-09-05 02:43:56.666833745 +0200
+++ chromium-140.0.7339.80/media/filters/ffmpeg_video_decoder.cc 2025-09-05 03:09:01.121397898 +0200
@@ -486,7 +486,7 @@ bool FFmpegVideoDecoder::ConfigureDecode
codec_context_->opaque = this;
codec_context_->get_buffer2 = GetVideoBufferImpl;
- codec_context_->flags |= AV_CODEC_FLAG_COPY_OPAQUE;
+ //codec_context_->flags |= AV_CODEC_FLAG_COPY_OPAQUE;
if (decode_nalus_) {
codec_context_->flags2 |= AV_CODEC_FLAG2_CHUNKS;

View file

@ -1,5 +1,5 @@
#!/usr/bin/python3
# Copyright 2021-2025, Than Ngo <than@redhat.com>
# Copyright 2021-2024, Than Ngo <than@redhat.com>
# Copyright 2010,2015-2019 Tom Callaway <tcallawa@redhat.com>
# Copyright 2013-2016 Tomas Popela <tpopela@redhat.com>
# Permission is hereby granted, free of charge, to any person obtaining
@ -73,11 +73,10 @@ def delete_chromium_files(files):
full_path = "%s/%s" % (latest_dir, files)
print('Deleting ' + full_path + ' ', end=' ')
for filename in glob.glob(full_path):
if os.path.isfile(filename):
os.remove(filename)
print('[DONE]')
else:
print('[NOT FOUND]')
print('Deleting ' + filename + ' ', end=' ')
os.remove(filename)
print('[DONE]')
def check_omahaproxy(channel="stable"):
@ -243,9 +242,6 @@ if __name__ == '__main__':
parser_add_argument(
'--ffmpegclean', action='store_true',
help='Get the latest Chromium release from given channel and cleans ffmpeg sources from proprietary stuff')
parser_add_argument(
'--ffmpegremove', action='store_true',
help='Get the latest Chromium release from given channel and remove ffmpeg sources')
parser_add_argument(
'--chrome', action='store_true',
help='Get the latest Chrome rpms for the given channel')
@ -323,23 +319,11 @@ if __name__ == '__main__':
'build/linux/debian_bullseye_i386-sysroot',
'third_party/node/linux/node-linux-x64',
'third_party/rust-toolchain',
'third_party/rust-src',
'third_party/devtools-frontend/src/third_party/esbuild',
'third_party/enterprise_companion/chromium_linux64',
'third_party/enterprise_companion/chromium_mac_amd64',
'third_party/enterprise_companion/chromium_mac_arm64',
'third_party/enterprise_companion/chromium_win_x86',
'third_party/enterprise_companion/chromium_win_x86_64']
junk_files = ['third_party/node/linux/node-linux-x64.tar.gz',
'buildtools/third_party/eu-strip/bin/eu-strip',
'buildtools/linux64/gn']
'third_party/rust-src']
# First, the dirs:
for directory in junk_dirs:
delete_chromium_dir(directory)
# Remove junk files
for file in junk_files:
delete_chromium_files(file)
# There has got to be a better, more portable way to do this.
os.system("find %s -depth -name reference_build -type d -exec rm -rf {} \\;" % latest_dir)
@ -353,19 +337,12 @@ if __name__ == '__main__':
print("Cleaning ffmpeg from proprietary things...")
os.system("./clean_ffmpeg.sh %s %d" % (latest_dir, 0 if args.ffmpegarm else 1))
print("Cleaning openh264 from proprietary things...")
os.system("find %s/third_party/openh264/* -type d | xargs rm -rf" % latest_dir)
print("Done!")
if (args.ffmpegremove):
print("Removing ffmpeg source...")
os.system("find %s/third_party/ffmpeg/* -type d | xargs rm -rf" % latest_dir)
print("Cleaning openh264 from proprietary things...")
os.system("find %s/third_party/openh264/* -type d | xargs rm -rf" % latest_dir)
os.system("find %s/third_party/openh264/src -type f -not -name '*.h' -delete " % latest_dir)
print("Done!")
if (not args.prep):
print("Compressing cleaned tree, please wait...")
os.chdir(chromium_root_dir)
os.system("tar --exclude=\\.svn -cf - chromium-%s | xz -6 -T0 -f > %s" % (chromium_version, chromium_clean_xz_file))
os.system("tar --exclude=\\.svn -cf - chromium-%s | xz -9 -T 0 -f > %s" % (chromium_version, chromium_clean_xz_file))
print("Finished!")

View file

@ -1,72 +1,58 @@
# system wide chromium flags
ARCH="$(arch)"
MODE="$(systemd-detect-virt)"
# GRAPHIC_DRIVER=[amd|intel|nvidia|default]
GRAPHIC_DRIVER=default
# WEB_AUTO_DARKMODE_WEBCONTENT=[on|off]
WEB_AUTO_DARKMODE_WEBCONTENT=off
# WEB_DARKMODE=[on|off]
WEB_DARKMODE=off
# NATIVE_WAYLAND=[on|off]
# chromium >=141 switched to --ozone-platform-hint=auto
if [ ! -z "$WAYLAND_DISPLAY" ]; then
NATIVE_WAYLAND=on
else
NATIVE_WAYLAND=off
fi
NATIVE_WAYLAND=off
DISABLE_FEATURES="LensOverlay"
ENABLE_FEATURES="AllowQt"
CHROMIUM_FLAGS=" --enable-chrome-browser-cloud-management"
if [ "$NATIVE_WAYLAND" == "on" ] ; then
ENABLE_FEATURES+=",WaylandLinuxDrmSyncobj,WaylandPerSurfaceScale,WaylandUiScale"
else
CHROMIUM_FLAGS=""
if [ "$NATIVE_WAYLAND" == "off" ] ; then
CHROMIUM_FLAGS+=" --enable-native-gpu-memory-buffers"
CHROMIUM_FLAGS+=" --enable-gpu-memory-buffer-video-frames"
CHROMIUM_FLAGS+=" --enable-zero-copy"
CHROMIUM_FLAGS+=" --ignore-gpu-blocklist --disable-gpu-driver-bug-workaround"
CHROMIUM_FLAGS+=" --enable-chrome-browser-cloud-management"
CHROMIUM_FLAGS+=" --enable-gpu-rasterization"
fi
ENABLE_FEATURES+=",AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL"
FEATURES=""
case "$GRAPHIC_DRIVER" in
amd|intel)
amd)
# Need new mesa with AMD multi planes support, is supported in fedora >= 40 (mesa-24.1.1 or newer)
# see https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26165
CHROMIUM_FLAGS+=" --enable-accelerated-video-decode"
ENABLE_FEATURES+=",VaapiIgnoreDriverChecks,UseMultiPlaneFormatForHardwareVideo"
CHROMIUM_FLAGS+=" --use-gl=angle --use-angle=vulkan --enable-accelerated-video-decode"
FEATURES+="Vulkan,VulkanFromANGLE,DefaultANGLEVulkan,VaapiIgnoreDriverChecks,VaapiVideoDecoder,UseMultiPlaneFormatForHardwareVideo"
;;
nvidia)
# The NVIDIA VaAPI drivers are known to not support Chromium
# see https://crbug.com/1492880. This feature switch is
# provided for developers to test VaAPI drivers on NVIDIA GPUs
ENABLE_FEATURES+=",VaapiOnNvidiaGPUs"
export CUDA_DISABLE_PERF_BOOST=1
CHROMIUM_FLAGS+=" --use-gl=angle --use-angle=gl"
FEATURES+="VaapiVideoDecodeLinuxGL,VaapiVideoEncoder,VaapiOnNvidiaGPUs"
;;
intel)
CHROMIUM_FLAGS+=" --use-gl=angle --use-angle=gl"
FEATURES+="VaapiVideoEncoder,VaapiVideoDecodeLinuxGL"
;;
*)
ENABLE_FEATURES+=",AcceleratedVideoEncoder"
CHROMIUM_FLAGS+=" --use-gl=angle --use-angle=gl --disable-gpu-compositing"
FEATURES+="VaapiVideoEncoder,VaapiVideoDecodeLinuxGL"
;;
esac
if [ "$MODE" != "none" ] ; then
# chromium in VM, running with standard setting
CHROMIUM_FLAGS=""
DISABLE_FEATURES=""
ENABLE_FEATURES=""
fi
# Web Dark mode
if [ "$WEB_AUTO_DARKMODE_WEBCONTENT" == "on" ] ; then
darktype="WebContentsForceDark"
if [ -z "$ENABLE_FEATURES" ] ; then
ENABLE_FEATURES+="$darktype"
else
ENABLE_FEATURES+=",$darktype"
fi
CHROMIUM_FLAGS+=" --force-dark-mode"
if [ "$WEB_DARKMODE" == "on" ] ; then
darktype="WebContentsForceDark:inversion_method/cielab_based/image_behavior/none/foreground_lightness_threshold/150/background_lightness_threshold/205"
FEATURES+=",$darktype"
fi
[ -z "$DISABLE_FEATURES" ] || CHROMIUM_FLAGS+=" --disable-features=$DISABLE_FEATURES"
[ -z "$ENABLE_FEATURES" ] || CHROMIUM_FLAGS+=" --enable-features=$ENABLE_FEATURES"
if [ "$ARCH" == "x86_64" ] ; then
CHROMIUM_FLAGS+=" --enable-features=$FEATURES"
fi

File diff suppressed because it is too large Load diff

View file

@ -72,7 +72,6 @@ header_files=" libavcodec/x86/inline_asm.h \
libavcodec/aacpsdsp.h \
libavcodec/aacsbrdata.h \
libavcodec/aac_ac3_parser.h \
libavcodec/parser.h \
libavcodec/aac_defines.h \
libavcodec/ac3.h \
libavcodec/ac3defs.h \
@ -100,7 +99,6 @@ header_files=" libavcodec/x86/inline_asm.h \
libavcodec/get_bits.h \
libavcodec/h263dsp.h \
libavcodec/h264chroma.h \
libavcodec/hevc/hevc.h \
libavcodec/hpeldsp.h \
libavcodec/hwaccels.h \
libavcodec/hwaccel_internal.h \
@ -126,8 +124,6 @@ header_files=" libavcodec/x86/inline_asm.h \
libavcodec/mpegvideo.h \
libavcodec/mpegvideodata.h \
libavcodec/mpegvideoencdsp.h \
libavcodec/opus/enc.h \
libavcodec/opus/opus.h \
libavcodec/options_table.h \
libavcodec/packet.h \
libavcodec/packet_internal.h \
@ -183,9 +179,7 @@ header_files=" libavcodec/x86/inline_asm.h \
libavformat/iamf_parse.h \
libavformat/iamf_reader.h \
libavformat/iamf.h \
libavformat/dvdclut.h \
libavutil/aarch64/cpu.h \
libavutil/aarch64/intreadwrite.h \
libavutil/x86/asm.h \
libavutil/x86/bswap.h \
libavutil/x86/cpu.h \
@ -226,19 +220,17 @@ header_files=" libavcodec/x86/inline_asm.h \
libavutil/tx_priv.h \
libavutil/version.h \
libavutil/sfc64.h \
libavutil/executor.h \
libswresample/swresample.h \
libswresample/version.h \
libswresample/version_major.h \
compat/va_copy.h "
compat/va_copy.h \
compat/atomics/gcc/stdatomic.h "
manual_files=" libavcodec/aarch64/h264pred_neon.S \
libavcodec/aarch64/hpeldsp_neon.S \
libavcodec/aarch64/neon.S \
libavcodec/aarch64/vorbisdsp_neon.S \
libavcodec/aarch64/autorename_libavcodec_aarch64_vorbisdsp_neon.S \
libavcodec/aarch64/autorename_libavcodec_aarch64_vorbisdsp_init.c \
libavcodec/aarch64/autorename_libavcodec_aarch64_videodsp_init.c \
libavcodec/aarch64/vorbisdsp_init.c \
libavcodec/aarch64/vp8dsp_neon.S \
libavcodec/x86/hpeldsp.asm \
@ -258,7 +250,6 @@ manual_files=" libavcodec/aarch64/h264pred_neon.S \
libavcodec/hpel_template.c \
libavcodec/hpeldsp.c \
libavcodec/options.c \
libavcodec/parser.c \
libavcodec/pcm.c \
libavcodec/pel_template.c \
libavcodec/utils.c \
@ -272,14 +263,10 @@ manual_files=" libavcodec/aarch64/h264pred_neon.S \
libavformat/pcm.c \
libavformat/utils.c \
libavformat/version.c \
libavformat/dvdclut.c \
libavutil/aarch64/asm.S \
libavutil/aarch64/cpu.c \
libavutil/aarch64/cpu_sve.S \
libavutil/aarch64/float_dsp_init.c \
libavutil/aarch64/float_dsp_neon.S \
libavutil/aarch64/autorename_libavutil_aarch64_cpu.c \
libavutil/aarch64/autorename_libavutil_aarch64_float_dsp_init.c \
libavutil/aarch64/autorename_libavutil_aarch64_float_dsp_neon.S \
libavutil/aarch64/tx_float_neon.S \
libavutil/aarch64/timer.h \
@ -295,7 +282,6 @@ manual_files=" libavcodec/aarch64/h264pred_neon.S \
libavutil/x86/float_dsp_init.c \
libavutil/x86/tx_float_init.c \
libavutil/aarch64/tx_float_init.c \
libavutil/executor.c \
libavutil/x86/x86inc.asm \
libavutil/x86/x86util.asm "

View file

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

Some files were not shown because too many files have changed in this diff Show more