- update to 123.0.6312.86

* Critical CVE-2024-2883: Use after free in ANGLE
   * High CVE-2024-2885: Use after free in Daw
   * High CVE-2024-2886: Use after free in WebCodecs
   * High CVE-2024-2887: Type Confusion in WebAssembly
- fixed bz#2269768 - enable build ppc64le package for F40
- fixed bz#2270321 - VAAPI flags in chromium.conf are out of date
- fixed bz#2271183 - disable screen ai service
i9e changed/i9e/chromium-123.0.6312.86-1.el9
Arkady L. Shane 9 months ago
parent b6baa31193
commit 2509006083
Signed by: tigro
GPG Key ID: 1EC08A25C9DB2503

@ -1,4 +1,4 @@
4fc55a6b3696c0519d0b75666ca0074f9cc3b1dd SOURCES/chromium-123.0.6312.58.tar.xz
d246086f4346e21e34db1a7999617e9f82c42f82 SOURCES/chromium-123.0.6312.86.tar.xz
dea187019741602d57aaf189a80abba261fbd2aa SOURCES/linux-x64-0.19.2.tgz
7e5d2c7864c5c83ec789b59c77cd9c20d2594916 SOURCES/linux-arm64-0.19.2.tgz
769196d081c6a0ad37f1c63dec56febfff3370de SOURCES/node-v20.6.1-linux-x64.tar.xz

2
.gitignore vendored

@ -1,4 +1,4 @@
SOURCES/chromium-123.0.6312.58.tar.xz
SOURCES/chromium-123.0.6312.86.tar.xz
SOURCES/linux-x64-0.19.2.tgz
SOURCES/linux-arm64-0.19.2.tgz
SOURCES/node-v20.6.1-linux-x64.tar.xz

@ -1,7 +1,7 @@
Index: chromium-122.0.6261.57/third_party/boringssl/src/cmake/perlasm.cmake
Index: chromium-123.0.6312.58/third_party/boringssl/src/cmake/perlasm.cmake
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/cmake/perlasm.cmake
+++ chromium-122.0.6261.57/third_party/boringssl/src/cmake/perlasm.cmake
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/cmake/perlasm.cmake
+++ chromium-123.0.6312.58/third_party/boringssl/src/cmake/perlasm.cmake
@@ -17,6 +17,7 @@ function(add_perlasm_target dest src)
DEPENDS
${src}
@ -10,20 +10,20 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/cmake/perlasm.cmake
${PROJECT_SOURCE_DIR}/crypto/perlasm/x86_64-xlate.pl
${PROJECT_SOURCE_DIR}/crypto/perlasm/x86asm.pl
${PROJECT_SOURCE_DIR}/crypto/perlasm/x86gas.pl
@@ -40,6 +41,9 @@ function(perlasm var arch dest src)
add_perlasm_target("${dest}-apple.S" ${src} ios32 ${ARGN})
@@ -39,6 +40,9 @@ function(perlasm var arch dest src)
elseif(arch STREQUAL "arm")
add_perlasm_target("${dest}-linux.S" ${src} linux32 ${ARGN})
append_to_parent_scope("${var}_ASM" "${dest}-apple.S" "${dest}-linux.S")
append_to_parent_scope("${var}_ASM" "${dest}-linux.S")
+ elseif(arch STREQUAL "ppc64le")
+ add_perlasm_target("${dest}-linux.S" ${src} linux64le)
+ append_to_parent_scope("${var}_ASM" "${dest}-linux.S")
elseif(arch STREQUAL "x86")
add_perlasm_target("${dest}-apple.S" ${src} macosx -fPIC -DOPENSSL_IA32_SSE2 ${ARGN})
add_perlasm_target("${dest}-linux.S" ${src} elf -fPIC -DOPENSSL_IA32_SSE2 ${ARGN})
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/CMakeLists.txt
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/CMakeLists.txt
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/CMakeLists.txt
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/CMakeLists.txt
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/CMakeLists.txt
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/CMakeLists.txt
@@ -26,6 +26,7 @@ perlasm(CRYPTO_SOURCES aarch64 cipher_ex
perlasm(CRYPTO_SOURCES aarch64 test/trampoline-armv8 test/asm/trampoline-armv8.pl)
perlasm(CRYPTO_SOURCES arm chacha/chacha-armv4 chacha/asm/chacha-armv4.pl)
@ -40,10 +40,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/CMakeLists.txt
crypto.c
curve25519/curve25519.c
curve25519/curve25519_64_adx.c
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/abi_self_test.cc
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/abi_self_test.cc
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/abi_self_test.cc
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/abi_self_test.cc
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/abi_self_test.cc
+++ chromium-123.0.6312.58/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);
}
@ -334,10 +334,10 @@ Index: chromium-122.0.6261.57/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-122.0.6261.57/third_party/boringssl/src/crypto/cpu_ppc64le.c
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/cpu_ppc64le.c
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/cpu_ppc64le.c
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/cpu_ppc64le.c
@@ -0,0 +1,38 @@
+/* Copyright (c) 2016, Google Inc.
+ *
@ -377,10 +377,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/cpu_ppc64le.c
+}
+
+#endif // OPENSSL_PPC64LE
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/crypto.c
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/crypto.c
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/crypto.c
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/crypto.c
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/crypto.c
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/crypto.c
@@ -25,10 +25,12 @@ static_assert(sizeof(ossl_ssize_t) == si
"ossl_ssize_t should be the same size as size_t");
@ -419,10 +419,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/crypto.c
#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
#include <openssl/arm_arch.h>
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/CMakeLists.txt
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/CMakeLists.txt
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/fipsmodule/CMakeLists.txt
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/CMakeLists.txt
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/fipsmodule/CMakeLists.txt
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/CMakeLists.txt
@@ -19,6 +19,8 @@ perlasm(BCM_SOURCES arm sha1-armv4-large
perlasm(BCM_SOURCES arm sha256-armv4 sha/asm/sha256-armv4.pl)
perlasm(BCM_SOURCES arm sha512-armv4 sha/asm/sha512-armv4.pl)
@ -432,10 +432,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/CMakeL
perlasm(BCM_SOURCES x86 aesni-x86 aes/asm/aesni-x86.pl)
perlasm(BCM_SOURCES x86 bn-586 bn/asm/bn-586.pl)
perlasm(BCM_SOURCES x86 co-586 bn/asm/co-586.pl)
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
+++ chromium-123.0.6312.58/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.
@ -4246,10 +4246,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/aes/as
+}
+
+close STDOUT or die "error closing STDOUT: $!";
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
@@ -59,6 +59,12 @@ OPENSSL_INLINE int vpaes_capable(void) {
OPENSSL_INLINE int vpaes_capable(void) { return CRYPTO_is_NEON_capable(); }
#endif
@ -4263,10 +4263,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/aes/in
#endif
#endif // !NO_ASM
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/bcm.c
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/bcm.c
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.c
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/bcm.c
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.c
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/bcm.c
@@ -102,6 +102,7 @@
#include "self_check/fips.c"
#include "self_check/self_check.c"
@ -4275,10 +4275,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/bcm.c
#include "sha/sha1.c"
#include "sha/sha256.c"
#include "sha/sha512.c"
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
@@ -384,6 +384,23 @@ int bn_expand(BIGNUM *bn, size_t bits) {
}
@ -4303,10 +4303,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/bn/bn.
if ((size_t)bn->width <= words) {
if (!bn_wexpand(bn, words)) {
return 0;
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
@@ -1455,6 +1455,8 @@ int EVP_has_aes_hardware(void) {
return hwaes_capable() && crypto_gcm_clmul_enabled();
#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
@ -4316,10 +4316,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/cipher
#else
return 0;
#endif
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
+++ chromium-123.0.6312.58/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.
@ -4992,10 +4992,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/modes/
+}
+
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
@@ -228,6 +228,13 @@ void CRYPTO_ghash_init(gmult_func *out_m
*out_hash = gcm_ghash_neon;
return;
@ -5010,10 +5010,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/modes/
#endif
gcm_init_nohw(out_table, H);
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
@@ -215,5 +215,15 @@ TEST(GCMTest, ABI) {
}
}
@ -5030,10 +5030,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/modes/
+#endif // GHASH_ASM_PPC64LE
}
#endif // SUPPORTS_ABI_TEST && !OPENSSL_NO_ASM
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
+++ chromium-123.0.6312.58/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
@ -5048,10 +5048,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/modes/
#endif
#endif // OPENSSL_NO_ASM
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
@@ -30,6 +30,8 @@
#define EXPECTED_NR_getrandom 278
#elif defined(OPENSSL_ARM)
@ -5061,10 +5061,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/rand/g
#elif defined(OPENSSL_RISCV64)
#define EXPECTED_NR_getrandom 278
#endif
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
@@ -431,6 +431,11 @@ void RAND_bytes_with_additional_data(uin
// Take a read lock around accesses to |state->drbg|. This is needed to
// avoid returning bad entropy if we race with
@ -5077,16 +5077,16 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/rand/r
CRYPTO_MUTEX_lock_read(&state->clear_drbg_lock);
#endif
if (!CTR_DRBG_reseed(&state->drbg, seed, reseed_additional_data,
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
@@ -23,17 +23,25 @@
extern "C" {
#endif
+#if defined(OPENSSL_PPC64LE) || \
+ (!defined(OPENSSL_NO_ASM) && (defined(OPENSSL_X86) || defined(OPENSSL_ARM)))
+ (!defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86))
+// POWER has an intrinsics-based implementation of SHA-1 and thus the functions
+// normally defined in assembly are available even with |OPENSSL_NO_ASM| in
+// this case.
@ -5099,7 +5099,7 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/sha/in
// Define SHA{n}[_{variant}]_ASM if sha{n}_block_data_order[_{variant}] is
// defined in assembly.
#if !defined(OPENSSL_NO_ASM) && (defined(OPENSSL_X86) || defined(OPENSSL_ARM))
#if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86)
-#define SHA1_ASM
#define SHA256_ASM
@ -5110,10 +5110,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/sha/in
void sha256_block_data_order(uint32_t *state, const uint8_t *data,
size_t num_blocks);
void sha512_block_data_order(uint64_t *state, const uint8_t *data,
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c
@@ -0,0 +1,361 @@
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
@ -5476,10 +5476,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/fipsmodule/sha/sh
+#undef BODY_20_39
+#undef BODY_40_59
+#undef BODY_60_79
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/internal.h
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/internal.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/internal.h
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/internal.h
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/internal.h
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/internal.h
@@ -181,7 +181,7 @@ extern "C" {
@ -5489,7 +5489,7 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/internal.h
// OPENSSL_cpuid_setup initializes the platform-specific feature cache.
void OPENSSL_cpuid_setup(void);
#endif
@@ -1606,6 +1606,16 @@ OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA51
@@ -1622,6 +1622,16 @@ OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA51
#endif // OPENSSL_ARM || OPENSSL_AARCH64
@ -5506,10 +5506,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/internal.h
#if defined(BORINGSSL_DISPATCH_TEST)
// Runtime CPU dispatch testing support
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
+++ chromium-123.0.6312.58/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.
@ -5831,10 +5831,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/perlasm/ppc-xlate
+___
+
+close STDOUT or die "error closing STDOUT: $!";
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/test/abi_test.h
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/test/abi_test.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/crypto/test/abi_test.h
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/test/abi_test.h
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/crypto/test/abi_test.h
+++ chromium-123.0.6312.58/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)
@ -5941,10 +5941,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/test/abi_test.h
static_assert(sizeof...(args) <= 8,
"too many arguments for abi_test_trampoline");
Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
@@ -0,0 +1,262 @@
+#!/usr/bin/env perl
+# Copyright (c) 2019, Google Inc.
@ -6208,10 +6208,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/crypto/test/asm/trampoli
+
+print $code;
+close STDOUT or die "error closing STDOUT: $!";
Index: chromium-122.0.6261.57/third_party/boringssl/src/include/openssl/target.h
Index: chromium-123.0.6312.58/third_party/boringssl/src/include/openssl/target.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/include/openssl/target.h
+++ chromium-122.0.6261.57/third_party/boringssl/src/include/openssl/target.h
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/include/openssl/target.h
+++ chromium-123.0.6312.58/third_party/boringssl/src/include/openssl/target.h
@@ -34,6 +34,9 @@
#elif defined(__ARMEL__) || defined(_M_ARM)
#define OPENSSL_32_BIT
@ -6222,10 +6222,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/include/openssl/target.h
#elif defined(__MIPSEL__) && !defined(__LP64__)
#define OPENSSL_32_BIT
#define OPENSSL_MIPS
Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+++ chromium-123.0.6312.58/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)
@ -6235,10 +6235,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/acvp/modu
#else
#error "FIPS build not supported on this architecture"
#endif
Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/delocate.go
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/delocate.go
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/delocate.go
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/delocate.go
@@ -54,7 +54,8 @@ type stringWriter interface {
type processorType int
@ -6838,10 +6838,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/
case "str", "bl", "ldr", "st1":
return aarch64
}
Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+++ chromium-123.0.6312.58/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. */
@ -6851,10 +6851,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/
# https://github.com/pointlander/peg. delocate.go has a go:generate line for
# rebuilding delocate.peg.go from this file.
Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
@@ -39,6 +39,11 @@ func (test *delocateTest) Path(file stri
var delocateTests = []delocateTest{
@ -6867,10 +6867,10 @@ Index: chromium-122.0.6261.57/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-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
@@ -0,0 +1,9 @@
+ .text
+foo:
@ -6881,10 +6881,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/
+ .localentry foo,.-foo
+.LVL0:
+ bl
Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
@@ -0,0 +1,62 @@
+.text
+.file 1 "inserted_by_delocate.c"
@ -6948,19 +6948,19 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
+++ chromium-123.0.6312.58/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-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
@@ -0,0 +1,72 @@
+.text
+.file 1 "inserted_by_delocate.c"
@ -7034,10 +7034,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
@@ -0,0 +1,161 @@
+ .file "foo.c"
+ .abiversion 2
@ -7200,10 +7200,10 @@ Index: chromium-122.0.6261.57/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-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
@@ -0,0 +1,552 @@
+.text
+.file 1 "inserted_by_delocate.c"
@ -7757,10 +7757,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
@@ -0,0 +1,226 @@
+ .file "foo.c"
+ .abiversion 2
@ -7988,10 +7988,10 @@ Index: chromium-122.0.6261.57/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-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
@@ -0,0 +1,677 @@
+.text
+.file 1 "inserted_by_delocate.c"
@ -8670,10 +8670,10 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
@@ -0,0 +1,23 @@
+ .text
+foo:
@ -8698,10 +8698,10 @@ Index: chromium-122.0.6261.57/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-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
===================================================================
--- /dev/null
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
@@ -0,0 +1,178 @@
+.text
+.file 1 "inserted_by_delocate.c"
@ -8881,11 +8881,11 @@ Index: chromium-122.0.6261.57/third_party/boringssl/src/util/fipstools/delocate/
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-122.0.6261.57/third_party/boringssl/src/util/generate_build_files.py
Index: chromium-123.0.6312.58/third_party/boringssl/src/util/generate_build_files.py
===================================================================
--- chromium-122.0.6261.57.orig/third_party/boringssl/src/util/generate_build_files.py
+++ chromium-122.0.6261.57/third_party/boringssl/src/util/generate_build_files.py
@@ -35,6 +35,7 @@ OS_ARCH_COMBOS = [
--- chromium-123.0.6312.58.orig/third_party/boringssl/src/util/generate_build_files.py
+++ chromium-123.0.6312.58/third_party/boringssl/src/util/generate_build_files.py
@@ -34,6 +34,7 @@ OS_ARCH_COMBOS = [
('apple', 'x86_64', 'macosx', [], 'S'),
('linux', 'arm', 'linux32', [], 'S'),
('linux', 'aarch64', 'linux64', [], 'S'),

@ -1,8 +1,8 @@
Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
===================================================================
--- /dev/null
+++ chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
@@ -0,0 +1,92 @@
+++ chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
@@ -0,0 +1,93 @@
+;
+; Copyright (c) 2024, Alliance for Open Media. All rights reserved
+;
@ -45,6 +45,7 @@ Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/confi
+CONFIG_INSPECTION equ 0
+CONFIG_INTERNAL_STATS equ 0
+CONFIG_INTER_STATS_ONLY equ 0
+CONFIG_LIBVMAF_PSNR_PEAK equ 1
+CONFIG_LIBYUV equ 0
+CONFIG_MAX_DECODE_PROFILE equ 0
+CONFIG_MISMATCH_DEBUG equ 0
@ -95,10 +96,10 @@ Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/confi
+HAVE_VSX equ 1
+HAVE_WXWIDGETS equ 0
+STATIC_LINK_JXL equ 0
Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
===================================================================
--- /dev/null
+++ chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
+++ chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
@@ -0,0 +1,13 @@
+/*
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved
@ -113,11 +114,11 @@ Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/confi
+#include "aom/aom_codec.h"
+static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/ppc-linux-gcc.cmake\" -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_MAX_DECODE_PROFILE=0 -DCONFIG_NORMAL_TILE_MODE=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384";
+const char *aom_codec_build_config(void) {return cfg;}
Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
===================================================================
--- /dev/null
+++ chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
@@ -0,0 +1,96 @@
+++ chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved
+ *
@ -162,6 +163,7 @@ Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/confi
+#define CONFIG_INSPECTION 0
+#define CONFIG_INTERNAL_STATS 0
+#define CONFIG_INTER_STATS_ONLY 0
+#define CONFIG_LIBVMAF_PSNR_PEAK 1
+#define CONFIG_LIBYUV 0
+#define CONFIG_MAX_DECODE_PROFILE 0
+#define CONFIG_MISMATCH_DEBUG 0
@ -214,10 +216,10 @@ Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/confi
+#define INLINE inline
+#define STATIC_LINK_JXL 0
+#endif // AOM_CONFIG_H_
Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
===================================================================
--- /dev/null
+++ chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
+++ chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
@@ -0,0 +1,1541 @@
+// This file is generated. Do not edit.
+#ifndef AOM_DSP_RTCD_H_
@ -1760,11 +1762,11 @@ Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/confi
+#endif
+
+#endif
Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
===================================================================
--- /dev/null
+++ chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
@@ -0,0 +1,105 @@
+++ chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
@@ -0,0 +1,107 @@
+// This file is generated. Do not edit.
+#ifndef AOM_SCALE_RTCD_H_
+#define AOM_SCALE_RTCD_H_
@ -1775,6 +1777,8 @@ Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/confi
+#define RTCD_EXTERN extern
+#endif
+
+#include <stdbool.h>
+
+struct yv12_buffer_config;
+
+#ifdef __cplusplus
@ -1817,13 +1821,13 @@ Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/confi
+void aom_yv12_copy_frame_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc, const int num_planes);
+#define aom_yv12_copy_frame aom_yv12_copy_frame_c
+
+void aom_yv12_copy_u_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc);
+void aom_yv12_copy_u_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc, int use_crop);
+#define aom_yv12_copy_u aom_yv12_copy_u_c
+
+void aom_yv12_copy_v_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc);
+void aom_yv12_copy_v_c(const struct yv12_buffer_config *src_bc, struct yv12_buffer_config *dst_bc, int use_crop);
+#define aom_yv12_copy_v aom_yv12_copy_v_c
+
+void aom_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
+void aom_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc, int use_crop);
+#define aom_yv12_copy_y aom_yv12_copy_y_c
+
+void aom_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf, const int num_planes);
@ -1847,7 +1851,7 @@ Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/confi
+void aom_yv12_partial_copy_y_c(const struct yv12_buffer_config *src_ybc, int hstart1, int hend1, int vstart1, int vend1, struct yv12_buffer_config *dst_ybc, int hstart2, int vstart2);
+#define aom_yv12_partial_copy_y aom_yv12_partial_copy_y_c
+
+int aom_yv12_realloc_with_new_border_c(struct yv12_buffer_config *ybf, int new_border, int byte_alignment, int num_pyramid_levels, int num_planes);
+int aom_yv12_realloc_with_new_border_c(struct yv12_buffer_config *ybf, int new_border, int byte_alignment, bool alloc_pyramid, int num_planes);
+#define aom_yv12_realloc_with_new_border aom_yv12_realloc_with_new_border_c
+
+void aom_scale_rtcd(void);
@ -1870,10 +1874,10 @@ Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/confi
+#endif
+
+#endif
Index: chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
Index: chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
===================================================================
--- /dev/null
+++ chromium-121.0.6167.75/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
+++ chromium-123.0.6312.58/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
@@ -0,0 +1,478 @@
+// This file is generated. Do not edit.
+#ifndef AV1_RTCD_H_

@ -0,0 +1,13 @@
diff -up chromium-123.0.6312.58/chrome/browser/component_updater/screen_ai_component_installer.cc.me chromium-123.0.6312.58/chrome/browser/component_updater/screen_ai_component_installer.cc
--- chromium-123.0.6312.58/chrome/browser/component_updater/screen_ai_component_installer.cc.me 2024-03-24 10:58:43.033885904 +0100
+++ chromium-123.0.6312.58/chrome/browser/component_updater/screen_ai_component_installer.cc 2024-03-24 11:00:38.861979740 +0100
@@ -143,8 +143,7 @@ void ScreenAIComponentInstallerPolicy::D
void ManageScreenAIComponentRegistration(ComponentUpdateService* cus,
PrefService* local_state) {
if (screen_ai::ScreenAIInstallState::ShouldInstall(local_state)) {
- RegisterScreenAIComponent(cus);
- return;
+ // don't register the screenn ai service
}
// Clean up.

@ -0,0 +1,46 @@
commit 4bdca157e7edfeb5b9c0ac77e3afbfe288f7f9cf
Author: Stefan Zager <szager@chromium.org>
Date: Mon Feb 26 02:36:37 2024 +0000
Make SameSizeAsShapeResult robust against uncommon gn args
When using uncommon build configurations, it's currently possible
to fail this assert due to details of struct field packing:
ASSERT_SIZE(ShapeResult, SameSizeAsShapeResult);
In particular, `cppgc_enable_pointer_compression = false` in args.gn
will trigger it.
This changes makes the struct layout of SameSizeAsShapeResult more
closely match that of ShapeResult, which should make it harder to
fail the assert.
Change-Id: I7406b0ac333303b6808807fa1eaf5cbecb85d858
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5323558
Auto-Submit: Stefan Zager <szager@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1265024}
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 28aabc7d66cd8..a2bfdec2775e4 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
@@ -78,10 +78,13 @@ struct SameSizeAsRunInfo {
ASSERT_SIZE(ShapeResult::RunInfo, SameSizeAsRunInfo);
struct SameSizeAsShapeResult {
- Vector<int> vectors[2];
- UntracedMember<void*> members[2];
float width;
- unsigned integers[2];
+ UntracedMember<void*> deprecated_ink_bounds_;
+ Vector<int> runs_;
+ Vector<int> character_position_;
+ UntracedMember<void*> primary_font_;
+ unsigned start_index_;
+ unsigned num_characters_;
unsigned bitfields : 32;
};

@ -0,0 +1,12 @@
Index: chromium-123.0.6312.86/build/config/BUILDCONFIG.gn
===================================================================
--- chromium-123.0.6312.86.orig/build/config/BUILDCONFIG.gn
+++ chromium-123.0.6312.86/build/config/BUILDCONFIG.gn
@@ -138,7 +138,6 @@ declare_args() {
# Set to true when compiling with the Clang compiler.
is_clang = current_os != "linux" ||
(current_cpu != "s390x" && current_cpu != "s390" &&
- current_cpu != "ppc64" && current_cpu != "ppc" &&
current_cpu != "mips" && current_cpu != "mips64" &&
current_cpu != "riscv64")

@ -1,8 +1,8 @@
Index: chromium-122.0.6261.57/third_party/skia/BUILD.gn
Index: chromium-123.0.6312.58/third_party/skia/BUILD.gn
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/BUILD.gn
+++ chromium-122.0.6261.57/third_party/skia/BUILD.gn
@@ -198,6 +198,12 @@ opts("skx") {
--- chromium-123.0.6312.58.orig/third_party/skia/BUILD.gn
+++ chromium-123.0.6312.58/third_party/skia/BUILD.gn
@@ -199,6 +199,12 @@ opts("skx") {
}
}
@ -15,7 +15,7 @@ Index: chromium-122.0.6261.57/third_party/skia/BUILD.gn
# Any feature of Skia that requires third-party code should be optional and use this template.
template("optional") {
if (invoker.enabled) {
@@ -1467,6 +1473,7 @@ skia_component("skia") {
@@ -1474,6 +1480,7 @@ skia_component("skia") {
":skx",
":typeface_fontations",
":vello",
@ -23,7 +23,7 @@ Index: chromium-122.0.6261.57/third_party/skia/BUILD.gn
":webp_decode",
":wuffs",
":xml",
@@ -1644,7 +1651,10 @@ skia_static_library("pathkit") {
@@ -1651,7 +1658,10 @@ skia_static_library("pathkit") {
public_configs = [ ":skia_public" ]
configs = skia_library_configs
@ -35,10 +35,10 @@ Index: chromium-122.0.6261.57/third_party/skia/BUILD.gn
sources = []
sources += skia_pathops_sources
Index: chromium-122.0.6261.57/third_party/skia/gn/skia/BUILD.gn
Index: chromium-123.0.6312.58/third_party/skia/gn/skia/BUILD.gn
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/gn/skia/BUILD.gn
+++ chromium-122.0.6261.57/third_party/skia/gn/skia/BUILD.gn
--- chromium-123.0.6312.58.orig/third_party/skia/gn/skia/BUILD.gn
+++ chromium-123.0.6312.58/third_party/skia/gn/skia/BUILD.gn
@@ -163,6 +163,8 @@ config("default") {
"-mfpmath=sse",
]
@ -48,10 +48,10 @@ Index: chromium-122.0.6261.57/third_party/skia/gn/skia/BUILD.gn
}
if (malloc != "" && !is_win) {
Index: chromium-122.0.6261.57/third_party/skia/include/core/SkTypes.h
Index: chromium-123.0.6312.58/third_party/skia/include/core/SkTypes.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/include/core/SkTypes.h
+++ chromium-122.0.6261.57/third_party/skia/include/core/SkTypes.h
--- chromium-123.0.6312.58.orig/third_party/skia/include/core/SkTypes.h
+++ chromium-123.0.6312.58/third_party/skia/include/core/SkTypes.h
@@ -195,5 +195,44 @@ static constexpr uint32_t SK_InvalidGenI
*/
static constexpr uint32_t SK_InvalidUniqueID = 0;
@ -97,10 +97,10 @@ Index: chromium-122.0.6261.57/third_party/skia/include/core/SkTypes.h
+
#endif
Index: chromium-122.0.6261.57/third_party/skia/src/base/SkSpinlock.cpp
Index: chromium-123.0.6312.58/third_party/skia/src/base/SkSpinlock.cpp
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/src/base/SkSpinlock.cpp
+++ chromium-122.0.6261.57/third_party/skia/src/base/SkSpinlock.cpp
--- chromium-123.0.6312.58.orig/third_party/skia/src/base/SkSpinlock.cpp
+++ chromium-123.0.6312.58/third_party/skia/src/base/SkSpinlock.cpp
@@ -33,7 +33,8 @@
#endif
@ -111,10 +111,10 @@ Index: chromium-122.0.6261.57/third_party/skia/src/base/SkSpinlock.cpp
#include <emmintrin.h>
static void do_pause() { _mm_pause(); }
#else
Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkBitmapProcState_opts.h
Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkBitmapProcState_opts.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h
+++ chromium-122.0.6261.57/third_party/skia/src/opts/SkBitmapProcState_opts.h
--- chromium-123.0.6312.58.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h
+++ chromium-123.0.6312.58/third_party/skia/src/opts/SkBitmapProcState_opts.h
@@ -21,7 +21,13 @@
// The rest are scattershot at the moment but I want to get them
// all migrated to be normal code inside SkBitmapProcState.cpp.
@ -130,10 +130,10 @@ Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkBitmapProcState_opts.h
#include <immintrin.h>
#elif defined(SK_ARM_HAS_NEON)
#include <arm_neon.h>
Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkBlitRow_opts.h
Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkBlitRow_opts.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/src/opts/SkBlitRow_opts.h
+++ chromium-122.0.6261.57/third_party/skia/src/opts/SkBlitRow_opts.h
--- chromium-123.0.6312.58.orig/third_party/skia/src/opts/SkBlitRow_opts.h
+++ chromium-123.0.6312.58/third_party/skia/src/opts/SkBlitRow_opts.h
@@ -69,7 +69,7 @@
#endif
@ -143,10 +143,10 @@ Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkBlitRow_opts.h
static inline __m128i SkPMSrcOver_SSE2(const __m128i& src, const __m128i& dst) {
__m128i scale = _mm_sub_epi32(_mm_set1_epi32(256),
Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkRasterPipeline_opts.h
Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h
+++ chromium-122.0.6261.57/third_party/skia/src/opts/SkRasterPipeline_opts.h
--- chromium-123.0.6312.58.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h
+++ chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h
@@ -1,5 +1,6 @@
/*
* Copyright 2018 Google Inc.
@ -397,7 +397,7 @@ Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkRasterPipeline_opts.h
// These platforms are ideal for wider stages, and their default ABI is ideal.
#define ABI
#define JUMPER_NARROW_STAGES 0
@@ -4856,6 +5056,10 @@ SI F sqrt_(F x) {
@@ -4874,6 +5074,10 @@ SI F sqrt_(F x) {
float32x4_t lo,hi;
split(x, &lo,&hi);
return join<F>(sqrt(lo), sqrt(hi));
@ -408,7 +408,7 @@ Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkRasterPipeline_opts.h
#else
return F{
sqrtf(x[0]), sqrtf(x[1]), sqrtf(x[2]), sqrtf(x[3]),
@@ -4879,6 +5083,10 @@ SI F floor_(F x) {
@@ -4897,6 +5101,10 @@ SI F floor_(F x) {
__m128 lo,hi;
split(x, &lo,&hi);
return join<F>(_mm_floor_ps(lo), _mm_floor_ps(hi));
@ -419,7 +419,7 @@ Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkRasterPipeline_opts.h
#else
F roundtrip = cast<F>(cast<I32>(x));
return roundtrip - if_then_else(roundtrip > x, F_(1), F_(0));
@@ -4890,6 +5098,7 @@ SI F floor_(F x) {
@@ -4908,6 +5116,7 @@ SI F floor_(F x) {
// (2 * a * b + (1 << 15)) >> 16
// The result is a number on [-1, 1).
// Note: on neon this is a saturating multiply while the others are not.
@ -427,7 +427,7 @@ Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkRasterPipeline_opts.h
SI I16 scaled_mult(I16 a, I16 b) {
#if defined(JUMPER_IS_SKX)
return (I16)_mm256_mulhrs_epi16((__m256i)a, (__m256i)b);
@@ -4901,6 +5110,22 @@ SI I16 scaled_mult(I16 a, I16 b) {
@@ -4919,6 +5128,22 @@ SI I16 scaled_mult(I16 a, I16 b) {
return vqrdmulhq_s16(a, b);
#elif defined(JUMPER_IS_NEON)
return vqrdmulhq_s16(a, b);
@ -450,7 +450,7 @@ Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkRasterPipeline_opts.h
#else
const I32 roundingTerm = I32_(1 << 14);
return cast<I16>((cast<I32>(a) * cast<I32>(b) + roundingTerm) >> 15);
@@ -4922,7 +5147,26 @@ SI U16 constrained_add(I16 a, U16 b) {
@@ -4940,7 +5165,26 @@ SI U16 constrained_add(I16 a, U16 b) {
SkASSERT(-ib <= ia && ia <= 65535 - ib);
}
#endif
@ -477,7 +477,7 @@ Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkRasterPipeline_opts.h
}
SI F fract(F x) { return x - floor_(x); }
@@ -5778,8 +6022,14 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
@@ -5798,8 +6042,14 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
// 2^-8 * v = 2^-9 * (tx*(R - L) + (R + L))
// v = 1/2 * (tx*(R - L) + (R + L))
auto lerpX = [&](U16 left, U16 right) -> U16 {
@ -492,7 +492,7 @@ Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkRasterPipeline_opts.h
// The constrained_add is the most subtle part of lerp. The first term is on the interval
// [-1, 1), and the second term is on the interval is on the interval [0, 1) because
// both terms are too high by a factor of 2 which will be handled below. (Both R and L are
@@ -5791,7 +6041,12 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
@@ -5811,7 +6061,12 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
U16 v2 = constrained_add(scaled_mult(tx, width), middle) + 1;
// Divide by 2 to calculate v and at the same time bring the intermediate value onto the
// interval [0, 1/2] to set up for the lerpY.
@ -505,7 +505,7 @@ Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkRasterPipeline_opts.h
};
const uint32_t* ptr;
@@ -5825,9 +6080,15 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
@@ -5845,9 +6100,15 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
I16 width = (I16)bottom - (I16)top;
U16 middle = bottom + top;
// Add + 0x80 for rounding.
@ -522,26 +522,60 @@ Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkRasterPipeline_opts.h
};
r = lerpY(topR, bottomR);
Index: chromium-122.0.6261.57/third_party/skia/src/opts/SkSwizzler_opts.h
Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkSwizzler_opts.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/src/opts/SkSwizzler_opts.h
+++ chromium-122.0.6261.57/third_party/skia/src/opts/SkSwizzler_opts.h
@@ -12,7 +12,10 @@
#include "src/base/SkVx.h"
--- chromium-123.0.6312.58.orig/third_party/skia/src/opts/SkSwizzler_opts.h
+++ chromium-123.0.6312.58/third_party/skia/src/opts/SkSwizzler_opts.h
@@ -17,7 +17,10 @@
#include <cmath>
#include <utility>
-#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3
-#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1
+#if defined(SK_PPC64_HAS_SSE_COMPAT)
+ #include <emmintrin.h>
+ #include <tmmintrin.h>
+#elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSSE3
+#elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1
#include <immintrin.h>
#elif defined(SK_ARM_HAS_NEON)
#include <arm_neon.h>
Index: chromium-122.0.6261.57/third_party/skia/src/base/SkVx.h
@@ -43,6 +43,33 @@
static inline float SkReciprocalAlpha(float a) {
return SkReciprocalAlpha_portable(a);
}
+#elif defined(SK_PPC64_HAS_SSE_COMPAT)
+// -- VSX -- Harden against timing attacks
+SK_NO_SANITIZE("float-divide-by-zero")
+static inline float SkReciprocalAlphaTimes255(float a) {
+ SkASSERT(0 <= a && a <= 255);
+
+ vector float vA{a,a,a,a};
+ vector float vB{255.0f,255.0f,255.0f,255.0f};
+ vector float vC{0.0f,0.0f,0.0f,0.0f};
+ vector float q = vec_div(vB, vA);
+ vector float vCmp{static_cast<float>(vA != vC)};
+
+ return vec_and(vCmp, q)[0];
+}
+
+SK_NO_SANITIZE("float-divide-by-zero")
+static inline float SkReciprocalAlpha(float a) {
+ SkASSERT(0 <= a && a <= 1);
+
+ vector float vA{a,a,a,a};
+ vector float vB{1.0f,1.0f,1.0f,1.0f};
+ vector float vC{0.0f,0.0f,0.0f,0.0f};
+ vector float q = vec_div(vB, vA);
+ vector float vCmp{static_cast<float>(vA != vC)};
+
+ return vec_and(vCmp, q)[0];
+}
#elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 && (defined(__clang__) || !defined(_MSC_VER))
// -- SSE -- Harden against timing attacks -- MSVC is not supported.
using F4 = __m128;
Index: chromium-123.0.6312.58/third_party/skia/src/base/SkVx.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/src/base/SkVx.h
+++ chromium-122.0.6261.57/third_party/skia/src/base/SkVx.h
--- chromium-123.0.6312.58.orig/third_party/skia/src/base/SkVx.h
+++ chromium-123.0.6312.58/third_party/skia/src/base/SkVx.h
@@ -42,7 +42,13 @@
#if SKVX_USE_SIMD
@ -557,10 +591,10 @@ Index: chromium-122.0.6261.57/third_party/skia/src/base/SkVx.h
#elif defined(SK_ARM_HAS_NEON)
#include <arm_neon.h>
#elif defined(__wasm_simd128__)
Index: chromium-122.0.6261.57/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
Index: chromium-123.0.6312.58/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
+++ chromium-122.0.6261.57/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
--- chromium-123.0.6312.58.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
+++ chromium-123.0.6312.58/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
@@ -9,7 +9,7 @@
#include "src/core/SkBlitMask.h"
#include "src/core/SkOptsTargets.h"
@ -570,10 +604,10 @@ Index: chromium-122.0.6261.57/third_party/skia/src/core/SkBlitMask_opts_ssse3.cp
// The order of these includes is important:
// 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
Index: chromium-122.0.6261.57/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
Index: chromium-123.0.6312.58/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
+++ chromium-122.0.6261.57/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
--- chromium-123.0.6312.58.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
+++ chromium-123.0.6312.58/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
@@ -11,7 +11,7 @@
#include "src/core/SkOptsTargets.h"
#include "src/core/SkSwizzlePriv.h"
@ -583,10 +617,10 @@ Index: chromium-122.0.6261.57/third_party/skia/src/core/SkSwizzler_opts_ssse3.cp
// The order of these includes is important:
// 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
Index: chromium-122.0.6261.57/third_party/skia/src/core/SkBlitMask_opts.cpp
Index: chromium-123.0.6312.58/third_party/skia/src/core/SkBlitMask_opts.cpp
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/src/core/SkBlitMask_opts.cpp
+++ chromium-122.0.6261.57/third_party/skia/src/core/SkBlitMask_opts.cpp
--- chromium-123.0.6312.58.orig/third_party/skia/src/core/SkBlitMask_opts.cpp
+++ chromium-123.0.6312.58/third_party/skia/src/core/SkBlitMask_opts.cpp
@@ -25,7 +25,7 @@ namespace SkOpts {
static bool init() {
#if defined(SK_ENABLE_OPTIMIZE_SIZE)
@ -596,11 +630,11 @@ Index: chromium-122.0.6261.57/third_party/skia/src/core/SkBlitMask_opts.cpp
#if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BlitMask_ssse3(); }
#endif
Index: chromium-122.0.6261.57/third_party/skia/src/core/SkBitmapProcState_opts.cpp
Index: chromium-123.0.6312.58/third_party/skia/src/core/SkBitmapProcState_opts.cpp
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp
+++ chromium-122.0.6261.57/third_party/skia/src/core/SkBitmapProcState_opts.cpp
@@ -26,7 +26,7 @@ namespace SkOpts {
--- chromium-123.0.6312.58.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp
+++ chromium-123.0.6312.58/third_party/skia/src/core/SkBitmapProcState_opts.cpp
@@ -25,7 +25,7 @@ namespace SkOpts {
static bool init() {
#if defined(SK_ENABLE_OPTIMIZE_SIZE)
// All Init_foo functions are omitted when optimizing for size
@ -609,10 +643,10 @@ Index: chromium-122.0.6261.57/third_party/skia/src/core/SkBitmapProcState_opts.c
#if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BitmapProcState_ssse3(); }
#endif
Index: chromium-122.0.6261.57/third_party/skia/src/core/SkCpu.h
Index: chromium-123.0.6312.58/third_party/skia/src/core/SkCpu.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/src/core/SkCpu.h
+++ chromium-122.0.6261.57/third_party/skia/src/core/SkCpu.h
--- chromium-123.0.6312.58.orig/third_party/skia/src/core/SkCpu.h
+++ chromium-123.0.6312.58/third_party/skia/src/core/SkCpu.h
@@ -55,7 +55,7 @@ inline bool SkCpu::Supports(uint32_t mas
// If we mask in compile-time known lower limits, the compiler can
@ -622,23 +656,10 @@ Index: chromium-122.0.6261.57/third_party/skia/src/core/SkCpu.h
#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1
features |= SSE1;
#endif
Index: chromium-122.0.6261.57/third_party/skia/src/core/SkBitmapProcState_opts_hsw.cpp
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/src/core/SkBitmapProcState_opts_hsw.cpp
+++ chromium-122.0.6261.57/third_party/skia/src/core/SkBitmapProcState_opts_hsw.cpp
@@ -8,7 +8,7 @@
#include "include/private/base/SkFeatures.h"
#include "src/core/SkOptsTargets.h"
-#if defined(SK_CPU_X86) && !defined(SK_ENABLE_OPTIMIZE_SIZE)
+#if (defined(SK_CPU_X86) || defined(SK_CPU_PPC64)) && !defined(SK_ENABLE_OPTIMIZE_SIZE)
// The order of these includes is important:
// 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
Index: chromium-122.0.6261.57/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
Index: chromium-123.0.6312.58/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
+++ chromium-122.0.6261.57/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
--- chromium-123.0.6312.58.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
+++ chromium-123.0.6312.58/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
@@ -8,7 +8,7 @@
#include "include/private/base/SkFeatures.h"
#include "src/core/SkOptsTargets.h"
@ -648,10 +669,10 @@ Index: chromium-122.0.6261.57/third_party/skia/src/core/SkBitmapProcState_opts_s
// The order of these includes is important:
// 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
Index: chromium-122.0.6261.57/third_party/skia/include/private/base/SkFeatures.h
Index: chromium-123.0.6312.58/third_party/skia/include/private/base/SkFeatures.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/include/private/base/SkFeatures.h
+++ chromium-122.0.6261.57/third_party/skia/include/private/base/SkFeatures.h
--- chromium-123.0.6312.58.orig/third_party/skia/include/private/base/SkFeatures.h
+++ chromium-123.0.6312.58/third_party/skia/include/private/base/SkFeatures.h
@@ -63,6 +63,8 @@
#if defined(__i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64)
@ -661,10 +682,10 @@ Index: chromium-122.0.6261.57/third_party/skia/include/private/base/SkFeatures.h
#endif
/**
Index: chromium-122.0.6261.57/third_party/skia/modules/skcms/src/skcms_internals.h
Index: chromium-123.0.6312.58/third_party/skia/modules/skcms/src/skcms_internals.h
===================================================================
--- chromium-122.0.6261.57.orig/third_party/skia/modules/skcms/src/skcms_internals.h
+++ chromium-122.0.6261.57/third_party/skia/modules/skcms/src/skcms_internals.h
--- chromium-123.0.6312.58.orig/third_party/skia/modules/skcms/src/skcms_internals.h
+++ chromium-123.0.6312.58/third_party/skia/modules/skcms/src/skcms_internals.h
@@ -46,6 +46,7 @@ extern "C" {
&& !defined(__EMSCRIPTEN__) \
&& !defined(__arm__) \

@ -38,6 +38,9 @@
%global build_headless 0
%else
%global build_headless 1
%ifarch ppc64le
%global build_headless 0
%endif
%endif
# exclude build-id files for chromium-gost
@ -333,7 +336,7 @@
%endif
Name: chromium%{chromium_channel}
Version: 123.0.6312.58
Version: 123.0.6312.86
Release: 1%{?dist}.inferit
Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
Url: http://www.chromium.org/Home
@ -360,8 +363,11 @@ Patch8: chromium-117-widevine-other-locations.patch
# Tell bootstrap.py to always use the version of Python we specify
Patch11: chromium-93.0.4577.63-py3-bootstrap.patch
# debian patch, disable font-test
# debian patches
# disable font-test
Patch20: chromium-disable-font-tests.patch
# don't download binary blob
Patch21: chromium-123-screen-ai-service.patch
# https://gitweb.gentoo.org/repo/gentoo.git/tree/www-client/chromium/files/chromium-unbundle-zlib.patch
Patch52: chromium-81.0.4044.92-unbundle-zlib.patch
@ -586,9 +592,13 @@ Patch413: fix-unknown-warning-option-messages.diff
# and Highway gets confused when building in POWER8 mode
# (POWER8 compiler flags) on POWER9 hosts.
Patch414: 0002-Highway-disable-128-bit-vsx.patch
Patch415: fix-clang-selection.patch
# upstream patches
# 64kpage support on el8
Patch500: chromium-122-el8-support-64kpage.patch
# error: static assertion failed due to requirement '::WTF::internal::SizesEqual<72, 64>::value': ShapeResult should stay small
Patch501: chromium-123-shape_result-assert.patch
# Old Yandex patch
Patch600: 0001-Yandex-as-default-search-engine.patch
@ -987,7 +997,7 @@ Requires: %{name}-common%{_isa} = %{version}-%{release}
%if 0%{?rhel} == 7
ExclusiveArch: x86_64
%else
%if 0%{?fedora} > 40
%if 0%{?fedora} >= 40
ExclusiveArch: x86_64 aarch64 ppc64le
%else
ExclusiveArch: x86_64 aarch64
@ -1247,6 +1257,7 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%patch -P11 -p1 -b .py3
%patch -P20 -p1 -b .disable-font-test
%patch -P21 -p1 -b .screen-ai-service
%if ! %{bundleminizip}
%patch -P52 -p1 -b .unbundle-zlib
@ -1418,6 +1429,7 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%patch -P413 -p1 -b .fix-unknown-warning-option-messages
%patch -P414 -p1 -b .0002-Highway-disable-128-bit-vsx
%patch -P415 -p1 -b .fix-clang-selection
%endif
%%ifarch aarch64
@ -1426,6 +1438,8 @@ sed -i 's/std::string data_dir_basename = "chromium"/std::string data_dir_basena
%endif
%endif
%patch -P501 -p1 -b .shape_result-assert
%patch -P601 -p1 -b .Added-Russian-description-and-summary-for-gnome-soft
%if ! %{with gost}
%patch -P602 -p1 -b .Yandex-as-default-search-engine
@ -2240,6 +2254,16 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%endif
%changelog
* Thu Mar 28 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 123.0.6312.86-1.inferit
- update to 123.0.6312.86
* Critical CVE-2024-2883: Use after free in ANGLE
* High CVE-2024-2885: Use after free in Daw
* High CVE-2024-2886: Use after free in WebCodecs
* High CVE-2024-2887: Type Confusion in WebAssembly
- fixed bz#2269768 - enable build ppc64le package for F40
- fixed bz#2270321 - VAAPI flags in chromium.conf are out of date
- fixed bz#2271183 - disable screen ai service
* Thu Mar 21 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 123.0.6312.58-1.inferit
- update to 123.0.6312.58
* High CVE-2024-2625: Object lifecycle issue in V8

Loading…
Cancel
Save