diff --git a/.chromium.metadata b/.chromium.metadata index 010773d5..4aefcf35 100644 --- a/.chromium.metadata +++ b/.chromium.metadata @@ -1,3 +1,3 @@ -909b0a81ff419fcfc0e0ead0406e5117cdca3bbb SOURCES/chromium-124.0.6367.60-clean.tar.xz +bd1f89e3ea273b074ddb2356d9572fdfc148326a SOURCES/chromium-124.0.6367.78-clean.tar.xz 7e5d2c7864c5c83ec789b59c77cd9c20d2594916 SOURCES/linux-arm64-0.19.2.tgz dea187019741602d57aaf189a80abba261fbd2aa SOURCES/linux-x64-0.19.2.tgz diff --git a/.gitignore b/.gitignore index 2d64ad81..53e1ef23 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -SOURCES/chromium-124.0.6367.60-clean.tar.xz +SOURCES/chromium-124.0.6367.78-clean.tar.xz SOURCES/linux-arm64-0.19.2.tgz SOURCES/linux-x64-0.19.2.tgz diff --git a/SOURCES/0001-Add-PPC64-support-for-boringssl.patch b/SOURCES/0001-Add-PPC64-support-for-boringssl.patch index 2e35ef92..52c6cb49 100644 --- a/SOURCES/0001-Add-PPC64-support-for-boringssl.patch +++ b/SOURCES/0001-Add-PPC64-support-for-boringssl.patch @@ -1,7 +1,7 @@ -Index: chromium-123.0.6312.58/third_party/boringssl/src/cmake/perlasm.cmake +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/cmake/perlasm.cmake ++++ chromium-124.0.6367.60/third_party/boringssl/src/cmake/perlasm.cmake @@ -17,6 +17,7 @@ function(add_perlasm_target dest src) DEPENDS ${src} @@ -18,12 +18,12 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/cmake/perlasm.cmake + 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-123.0.6312.58/third_party/boringssl/src/crypto/CMakeLists.txt + add_perlasm_target("${dest}-apple.S" ${src} macosx -fPIC ${ARGN}) + add_perlasm_target("${dest}-linux.S" ${src} elf -fPIC ${ARGN}) +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/CMakeLists.txt ++++ chromium-124.0.6367.60/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-123.0.6312.58/third_party/boringssl/src/crypto/CMakeLists.txt crypto.c curve25519/curve25519.c curve25519/curve25519_64_adx.c -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/abi_self_test.cc +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/abi_self_test.cc ++++ chromium-124.0.6367.60/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-123.0.6312.58/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-123.0.6312.58/third_party/boringssl/src/crypto/cpu_ppc64le.c +Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/cpu_ppc64le.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/cpu_ppc64le.c ++++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/cpu_ppc64le.c @@ -0,0 +1,38 @@ +/* Copyright (c) 2016, Google Inc. + * @@ -377,10 +377,10 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/cpu_ppc64le.c +} + +#endif // OPENSSL_PPC64LE -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/crypto.c +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/crypto.c ++++ chromium-124.0.6367.60/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-123.0.6312.58/third_party/boringssl/src/crypto/crypto.c #elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64) #include -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/CMakeLists.txt +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/CMakeLists.txt ++++ chromium-124.0.6367.60/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-123.0.6312.58/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-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl +Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl ++++ chromium-124.0.6367.60/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-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/aes/as +} + +close STDOUT or die "error closing STDOUT: $!"; -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h ++++ chromium-124.0.6367.60/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-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/aes/in #endif #endif // !NO_ASM -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/bcm.c +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.c ++++ chromium-124.0.6367.60/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-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/bcm.c #include "sha/sha1.c" #include "sha/sha256.c" #include "sha/sha512.c" -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c ++++ chromium-124.0.6367.60/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-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/bn/bn. if ((size_t)bn->width <= words) { if (!bn_wexpand(bn, words)) { return 0; -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c ++++ chromium-124.0.6367.60/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-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/cipher #else return 0; #endif -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl +Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl ++++ chromium-124.0.6367.60/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-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/ +} + +close STDOUT or die "error closing STDOUT: $!"; # enforce flush -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c ++++ chromium-124.0.6367.60/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-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/ #endif gcm_init_nohw(out_table, H); -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc ++++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc @@ -215,5 +215,15 @@ TEST(GCMTest, ABI) { } } @@ -5030,10 +5030,10 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/ +#endif // GHASH_ASM_PPC64LE } #endif // SUPPORTS_ABI_TEST && !OPENSSL_NO_ASM -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h ++++ chromium-124.0.6367.60/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-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/modes/ #endif #endif // OPENSSL_NO_ASM -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h ++++ chromium-124.0.6367.60/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-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/rand/g #elif defined(OPENSSL_RISCV64) #define EXPECTED_NR_getrandom 278 #endif -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c ++++ chromium-124.0.6367.60/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,11 +5077,11 @@ Index: chromium-123.0.6312.58/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-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h +Index: chromium-124.0.6367.60/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 @@ +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h ++++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h +@@ -23,6 +23,17 @@ extern "C" { #endif @@ -5090,8 +5090,8 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/sha/in +// 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. -+#define SHA1_ASM -+void sha1_block_data_order(uint32_t *state, const uint8_t *in, ++#define SHA1_ASM_PPC64 ++void sha1_block_data_order_ppc64(uint32_t *state, const uint8_t *in, + size_t num_blocks); +#endif + @@ -5099,21 +5099,10 @@ Index: chromium-123.0.6312.58/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) - --#define SHA1_ASM - #define SHA256_ASM - #define SHA512_ASM - --void sha1_block_data_order(uint32_t *state, const uint8_t *data, -- size_t num_blocks); - 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-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c +Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c ++++ chromium-124.0.6367.60/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. @@ -5186,7 +5175,7 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/sha/sh + +#include + -+void sha1_block_data_order(uint32_t *state, const uint8_t *data, size_t num); ++void sha1_block_data_order_ppc64(uint32_t *state, const uint8_t *data, size_t num); + +static uint32_t rotate(uint32_t a, int n) { return (a << n) | (a >> (32 - n)); } + @@ -5304,7 +5293,7 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/sha/sh + (b) = rotate((b), 30); \ + } while (0) + -+void sha1_block_data_order(uint32_t *state, const uint8_t *data, size_t num) { ++void sha1_block_data_order_ppc64(uint32_t *state, const uint8_t *data, size_t num) { + uint32_t A, B, C, D, E, T; + + A = state[0]; @@ -5476,10 +5465,10 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/fipsmodule/sha/sh +#undef BODY_20_39 +#undef BODY_40_59 +#undef BODY_60_79 -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/internal.h +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/internal.h ++++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/internal.h @@ -181,7 +181,7 @@ extern "C" { @@ -5489,7 +5478,7 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/internal.h // OPENSSL_cpuid_setup initializes the platform-specific feature cache. void OPENSSL_cpuid_setup(void); #endif -@@ -1622,6 +1622,16 @@ OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA51 +@@ -1632,6 +1632,16 @@ OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA51 #endif // OPENSSL_ARM || OPENSSL_AARCH64 @@ -5506,10 +5495,10 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/internal.h #if defined(BORINGSSL_DISPATCH_TEST) // Runtime CPU dispatch testing support -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl +Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl ++++ chromium-124.0.6367.60/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 +5820,10 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/perlasm/ppc-xlate +___ + +close STDOUT or die "error closing STDOUT: $!"; -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/test/abi_test.h +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/test/abi_test.h ++++ chromium-124.0.6367.60/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 +5930,10 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/test/abi_test.h static_assert(sizeof...(args) <= 8, "too many arguments for abi_test_trampoline"); -Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl +Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl ++++ chromium-124.0.6367.60/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 +6197,10 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/crypto/test/asm/trampoli + +print $code; +close STDOUT or die "error closing STDOUT: $!"; -Index: chromium-123.0.6312.58/third_party/boringssl/src/include/openssl/target.h +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/include/openssl/target.h ++++ chromium-124.0.6367.60/third_party/boringssl/src/include/openssl/target.h @@ -34,6 +34,9 @@ #elif defined(__ARMEL__) || defined(_M_ARM) #define OPENSSL_32_BIT @@ -6222,10 +6211,10 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/include/openssl/target.h #elif defined(__MIPSEL__) && !defined(__LP64__) #define OPENSSL_32_BIT #define OPENSSL_MIPS -Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc ++++ chromium-124.0.6367.60/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 +6224,10 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/acvp/modu #else #error "FIPS build not supported on this architecture" #endif -Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/delocate.go +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go ++++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate.go @@ -54,7 +54,8 @@ type stringWriter interface { type processorType int @@ -6838,10 +6827,10 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/ case "str", "bl", "ldr", "st1": return aarch64 } -Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/delocate.peg +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg ++++ chromium-124.0.6367.60/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 +6840,10 @@ Index: chromium-123.0.6312.58/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-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go ++++ chromium-124.0.6367.60/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 +6856,10 @@ Index: chromium-123.0.6312.58/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-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s ++++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s @@ -0,0 +1,9 @@ + .text +foo: @@ -6881,10 +6870,10 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/ + .localentry foo,.-foo +.LVL0: + bl -Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s ++++ chromium-124.0.6367.60/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 +6937,19 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/ +.byte 0xff +.byte 0x31 +.byte 0x80 -Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s ++++ chromium-124.0.6367.60/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-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s ++++ chromium-124.0.6367.60/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 +7023,10 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/ +.byte 0xff +.byte 0x31 +.byte 0x80 -Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s ++++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s @@ -0,0 +1,161 @@ + .file "foo.c" + .abiversion 2 @@ -7200,10 +7189,10 @@ Index: chromium-123.0.6312.58/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-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s ++++ chromium-124.0.6367.60/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 +7746,10 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/ +.byte 0xff +.byte 0x31 +.byte 0x80 -Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s ++++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s @@ -0,0 +1,226 @@ + .file "foo.c" + .abiversion 2 @@ -7988,10 +7977,10 @@ Index: chromium-123.0.6312.58/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-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s ++++ chromium-124.0.6367.60/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 +8659,10 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/ +.byte 0xff +.byte 0x31 +.byte 0x80 -Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s ++++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s @@ -0,0 +1,23 @@ + .text +foo: @@ -8698,10 +8687,10 @@ Index: chromium-123.0.6312.58/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-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s ++++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s @@ -0,0 +1,178 @@ +.text +.file 1 "inserted_by_delocate.c" @@ -8881,15 +8870,30 @@ Index: chromium-123.0.6312.58/third_party/boringssl/src/util/fipstools/delocate/ +.byte 0xff +.byte 0x31 +.byte 0x80 -Index: chromium-123.0.6312.58/third_party/boringssl/src/util/generate_build_files.py +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/generate_build_files.py =================================================================== ---- 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 +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/util/generate_build_files.py ++++ chromium-124.0.6367.60/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'), + ('linux', 'ppc64le', 'linux64le', [], 'S'), - ('linux', 'x86', 'elf', ['-fPIC', '-DOPENSSL_IA32_SSE2'], 'S'), + ('linux', 'x86', 'elf', ['-fPIC'], 'S'), ('linux', 'x86_64', 'elf', [], 'S'), - ('win', 'x86', 'win32n', ['-DOPENSSL_IA32_SSE2'], 'asm'), + ('win', 'x86', 'win32n', [], 'asm'), +Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c +=================================================================== +--- chromium-124.0.6367.60.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c ++++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c +@@ -416,6 +416,10 @@ static void sha1_block_data_order(uint32 + return; + } + #endif ++#if defined(SHA1_ASM_PPC64) ++ sha1_block_data_order_ppc64(state, data, num); ++ return; ++#endif + sha1_block_data_order_nohw(state, data, num); + } + diff --git a/SOURCES/0001-Implement-support-for-ppc64-on-Linux.patch b/SOURCES/0001-Implement-support-for-ppc64-on-Linux.patch index 52d5bb83..efb08d38 100644 --- a/SOURCES/0001-Implement-support-for-ppc64-on-Linux.patch +++ b/SOURCES/0001-Implement-support-for-ppc64-on-Linux.patch @@ -54,10 +54,8 @@ https://wiki.raptorcs.com/wiki/Porting/Chromium src/tools/linux/md2core/minidump-2-core.cc | 45 +++++++++++++++ 25 files changed, 281 insertions(+), 35 deletions(-) -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h +--- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h ++++ b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h @@ -51,6 +51,8 @@ typedef MDRawContextRISCV64 RawContextCP # else # error "Unexpected __riscv_xlen" @@ -67,10 +65,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dum #else #error "This code has not been ported to your platform yet." #endif -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc +--- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc ++++ b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc @@ -336,7 +336,42 @@ void ThreadInfo::FillCPUContext(RawConte #error "Unexpected __riscv_xlen" #endif @@ -153,10 +149,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dum +#endif + } // namespace google_breakpad -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h +--- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h ++++ b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h @@ -67,6 +67,10 @@ struct ThreadInfo { // Use the structures defined in struct user_regs_struct regs; @@ -180,10 +174,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dum }; } // namespace google_breakpad -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc +--- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc ++++ b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc @@ -324,6 +324,48 @@ void UContextReader::FillCPUContext(RawC #error "Unexpected __riscv_xlen" #endif @@ -233,10 +225,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dum #endif } // namespace google_breakpad -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h +--- a/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h ++++ b/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h @@ -54,6 +54,9 @@ struct UContextReader { #elif defined(__aarch64__) static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc, @@ -247,10 +237,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/dum #else static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc); #endif -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc +--- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc ++++ b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc @@ -464,6 +464,13 @@ bool ExceptionHandler::HandleSignal(int memcpy(&g_crash_context_.float_state, fp_ptr, sizeof(g_crash_context_.float_state)); @@ -295,10 +283,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/han #elif defined(__riscv) context.siginfo.si_addr = reinterpret_cast(context.context.uc_mcontext.__gregs[REG_PC]); -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h +--- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h ++++ b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h @@ -200,7 +200,11 @@ class ExceptionHandler { siginfo_t siginfo; pid_t tid; // the crashing thread. @@ -312,10 +298,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/han fpstate_t float_state; #endif }; -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc +--- a/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc ++++ b/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc @@ -321,7 +321,7 @@ TEST(ExceptionHandlerTest, ParallelChild ASSERT_EQ(SIGSEGV, WTERMSIG(status)); return; @@ -347,10 +331,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/han const int kOffset = kMemorySize - sizeof(kIllegalInstruction); const pid_t child = fork(); -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc +--- a/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc ++++ b/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc @@ -141,7 +141,9 @@ class MicrodumpWriter { const MicrodumpExtraInfo& microdump_extra_info, LinuxDumper* dumper) @@ -393,10 +375,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/mic const google_breakpad::fpstate_t* const float_state_; #endif LinuxDumper* dumper_; -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc +--- a/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc ++++ b/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc @@ -282,10 +282,19 @@ TEST(MicrodumpWriterTest, BasicWithMappi CrashAndGetMicrodump(mappings, MicrodumpExtraInfo(), &buf); ASSERT_TRUE(ContainsMicrodump(buf)); @@ -420,10 +400,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/mic #else ASSERT_NE(std::string::npos, buf.find("M 00001000 0000002A 00001000 " -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc +--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc ++++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc @@ -118,6 +118,9 @@ bool LinuxCoreDumper::GetThreadInfoByInd #elif defined(__riscv) stack_pointer = reinterpret_cast( @@ -446,10 +424,8 @@ Index: chromium-120.0.6099.71/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-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc +--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc ++++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc @@ -770,7 +770,9 @@ bool LinuxDumper::GetStackInfo(const voi reinterpret_cast(int_stack_pointer & ~(page_size - 1)); @@ -461,10 +437,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/min const MappingInfo* mapping = FindMapping(stack_pointer); if (!mapping) -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h +--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h ++++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h @@ -64,7 +64,8 @@ namespace google_breakpad { typedef Elf32_auxv_t elf_aux_entry; #elif defined(__x86_64) || defined(__aarch64__) || \ @@ -475,10 +449,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/min typedef Elf64_auxv_t elf_aux_entry; #endif -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc +--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc ++++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc @@ -56,6 +56,8 @@ #define TID_PTR_REGISTER "$1" #elif defined(__riscv) @@ -488,17 +460,9 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/min #else #error This test has not been ported to this platform. #endif -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc -@@ -152,19 +152,27 @@ bool LinuxPtraceDumper::CopyFromProcess( - return true; - } - --bool LinuxPtraceDumper::ReadRegisterSet(ThreadInfo* info, pid_t tid) --{ -+bool LinuxPtraceDumper::ReadRegisterSet(ThreadInfo* info, pid_t tid) { +--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc ++++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc +@@ -189,12 +189,12 @@ bool LinuxPtraceDumper::ReadRegisterSet( #ifdef PTRACE_GETREGSET struct iovec io; info->GetGeneralPurposeRegisters(&io.iov_base, &io.iov_len); @@ -510,7 +474,12 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/min info->GetFloatingPointRegisters(&io.iov_base, &io.iov_len); - if (sys_ptrace(PTRACE_GETREGSET, tid, (void*)NT_FPREGSET, (void*)&io) == -1) { + if (ptrace(PTRACE_GETREGSET, tid, (void*)NT_FPREGSET, (void*)&io) == -1) { - return false; + // We are going to check if we can read VFP registers on ARM32. + // Currently breakpad does not support VFP registers to be a part of minidump, + // so this is only to confirm that we can actually read FP registers. +@@ -214,6 +214,15 @@ bool LinuxPtraceDumper::ReadRegisterSet( + } + #endif // defined(__arm__) } + +#if defined(__powerpc64__) @@ -524,7 +493,7 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/min return true; #else return false; -@@ -312,6 +320,9 @@ bool LinuxPtraceDumper::GetThreadInfoByI +@@ -378,6 +387,9 @@ bool LinuxPtraceDumper::GetThreadInfoByI #elif defined(__riscv) stack_pointer = reinterpret_cast( info->mcontext.__gregs[MD_CONTEXT_RISCV_REG_SP]); @@ -534,10 +503,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/min #else # error "This code hasn't been ported to your platform yet." #endif -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc +--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc ++++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc @@ -470,6 +470,9 @@ TEST(LinuxPtraceDumperTest, VerifyStackR #elif defined(__riscv) pid_t* process_tid_location = @@ -557,10 +524,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/min #else #error This test has not been ported to this platform. #endif -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc +--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc ++++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc @@ -144,7 +144,9 @@ class MinidumpWriter { : fd_(minidump_fd), path_(minidump_path), @@ -614,10 +579,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/min const google_breakpad::fpstate_t* const float_state_; // ditto #endif LinuxDumper* dumper_; -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h +--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h ++++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h @@ -47,6 +47,8 @@ class ExceptionHandler; #if defined(__aarch64__) @@ -627,10 +590,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/min #elif !defined(__ARM_EABI__) && !defined(__mips__) typedef std::remove_pointer::type fpstate_t; #endif -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc +--- a/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc ++++ b/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc @@ -723,6 +723,9 @@ TEST(MinidumpWriterTest, InvalidStackPoi #elif defined(__riscv) context.context.uc_mcontext.__gregs[MD_CONTEXT_RISCV_REG_SP] = @@ -641,10 +602,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/client/linux/min #else # error "This code has not been ported to your platform yet." #endif -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc +--- a/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc ++++ b/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc @@ -72,8 +72,7 @@ bool MemoryMappedFile::Map(const char* p #if defined(__x86_64__) || defined(__aarch64__) || \ @@ -655,10 +614,8 @@ Index: chromium-120.0.6099.71/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-120.0.6099.71/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc +--- a/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc ++++ b/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc @@ -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 @@ -673,10 +630,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/common/linux/mem for (size_t i = 0; i < data1_size; ++i) { data1[i] = i & 0x7f; } -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc +--- a/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc ++++ b/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc @@ -60,8 +60,9 @@ TEST(PageAllocatorTest, LargeObject) { EXPECT_EQ(0U, allocator.pages_allocated()); @@ -688,10 +643,8 @@ Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/common/memory_al for (unsigned i = 1; i < 10; ++i) { uint8_t* p = reinterpret_cast(allocator.Alloc(i)); ASSERT_FALSE(p == NULL); -Index: chromium-120.0.6099.71/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc -+++ chromium-120.0.6099.71/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc +--- a/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc ++++ b/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc @@ -82,6 +82,8 @@ #define ELF_ARCH EM_AARCH64 #elif defined(__riscv) diff --git a/SOURCES/0002-third_party-libvpx-Remove-bad-ppc64-config.patch b/SOURCES/0002-third_party-libvpx-Remove-bad-ppc64-config.patch index ea60d42a..2dc2cdf2 100644 --- a/SOURCES/0002-third_party-libvpx-Remove-bad-ppc64-config.patch +++ b/SOURCES/0002-third_party-libvpx-Remove-bad-ppc64-config.patch @@ -1,6 +1,3 @@ -diff --git a/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h b/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h -deleted file mode 100644 -index 225647f..0000000 --- a/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h +++ /dev/null @@ -1,320 +0,0 @@ @@ -324,9 +321,6 @@ index 225647f..0000000 -#endif - -#endif -diff --git a/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h b/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h -deleted file mode 100644 -index d0ceec1..0000000 --- a/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h +++ /dev/null @@ -1,193 +0,0 @@ @@ -523,12 +517,9 @@ index d0ceec1..0000000 -#endif - -#endif -diff --git a/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm b/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm -deleted file mode 100644 -index cf14597..0000000 --- a/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm +++ /dev/null -@@ -1,107 +0,0 @@ +@@ -1,108 +0,0 @@ -@ This file was created from a .asm file -@ using the ads2gas.pl script. -.syntax unified @@ -551,6 +542,7 @@ index cf14597..0000000 -.equ HAVE_NEON_DOTPROD , 0 -.equ HAVE_NEON_I8MM , 0 -.equ HAVE_SVE , 0 +-.equ HAVE_SVE2 , 0 -.equ HAVE_MIPS32 , 0 -.equ HAVE_DSPR2 , 0 -.equ HAVE_MSA , 0 @@ -636,9 +628,6 @@ index cf14597..0000000 -.equ DECODE_WIDTH_LIMIT , 16384 -.equ DECODE_HEIGHT_LIMIT , 16384 - .section .note.GNU-stack,"",%progbits -diff --git a/third_party/libvpx/source/config/linux/ppc64/vpx_config.c b/third_party/libvpx/source/config/linux/ppc64/vpx_config.c -deleted file mode 100644 -index 9b870e7..0000000 --- a/third_party/libvpx/source/config/linux/ppc64/vpx_config.c +++ /dev/null @@ -1,10 +0,0 @@ @@ -652,12 +641,9 @@ index 9b870e7..0000000 -#include "vpx/vpx_codec.h" -static const char* const cfg = "--target=ppc64le-linux-gcc --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv"; -const char *vpx_codec_build_config(void) {return cfg;} -diff --git a/third_party/libvpx/source/config/linux/ppc64/vpx_config.h b/third_party/libvpx/source/config/linux/ppc64/vpx_config.h -deleted file mode 100644 -index 8be04cc..0000000 --- a/third_party/libvpx/source/config/linux/ppc64/vpx_config.h +++ /dev/null -@@ -1,116 +0,0 @@ +@@ -1,117 +0,0 @@ -/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */ -/* */ -/* Use of this source code is governed by a BSD-style license */ @@ -689,6 +675,7 @@ index 8be04cc..0000000 -#define HAVE_NEON_DOTPROD 0 -#define HAVE_NEON_I8MM 0 -#define HAVE_SVE 0 +-#define HAVE_SVE2 0 -#define HAVE_MIPS32 0 -#define HAVE_DSPR2 0 -#define HAVE_MSA 0 @@ -774,9 +761,6 @@ index 8be04cc..0000000 -#define DECODE_WIDTH_LIMIT 16384 -#define DECODE_HEIGHT_LIMIT 16384 -#endif /* VPX_CONFIG_H */ -diff --git a/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h b/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h -deleted file mode 100644 -index 8749b43..0000000 --- a/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h +++ /dev/null @@ -1,2128 +0,0 @@ @@ -2908,9 +2892,6 @@ index 8749b43..0000000 -#endif - -#endif -diff --git a/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h b/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h -deleted file mode 100644 -index 37be459..0000000 --- a/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h +++ /dev/null @@ -1,100 +0,0 @@ diff --git a/SOURCES/0003-third_party-ffmpeg-Add-ppc64-generated-config.patch b/SOURCES/0003-third_party-ffmpeg-Add-ppc64-generated-config.patch index fb2a534a..b8786b50 100644 --- a/SOURCES/0003-third_party-ffmpeg-Add-ppc64-generated-config.patch +++ b/SOURCES/0003-third_party-ffmpeg-Add-ppc64-generated-config.patch @@ -1,12 +1,12 @@ -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/config.h +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/config.h =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/config.h -@@ -0,0 +1,768 @@ ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/config.h +@@ -0,0 +1,772 @@ +/* Automatically generated by configure - do not modify! */ +#ifndef FFMPEG_CONFIG_H +#define FFMPEG_CONFIG_H -+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/CHROMIUM_REBUILD/CHROMIUM_123/NEW.BUILD_TEST/chromium-123.0.6312.58/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=ppc64le --extra-cflags='-mcpu=power8' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */ ++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/CHROMIUM_REBUILD/CHROMIUM_124/NEW.BUILD_TEST/chromium-124.0.6367.60/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=ppc64le --extra-cflags='-mcpu=power8' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */ +#define FFMPEG_LICENSE "LGPL version 2.1 or later" +#define CONFIG_THIS_YEAR 2024 +#define FFMPEG_DATADIR "/usr/local/share/ffmpeg" @@ -18,7 +18,6 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp +#define EXTERN_ASM +#define BUILDSUF "" +#define SLIBSUF ".so" -+#define HAVE_MMX2 HAVE_MMXEXT +#define SWS_MAX_FILTER_SIZE 256 +#define ARCH_AARCH64 0 +#define ARCH_ALPHA 0 @@ -250,6 +249,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp +#define HAVE_OPENCV2_CORE_CORE_C_H 0 +#define HAVE_OPENGL_GL3_H 0 +#define HAVE_POLL_H 1 ++#define HAVE_PTHREAD_NP_H 0 +#define HAVE_SYS_PARAM_H 1 +#define HAVE_SYS_RESOURCE_H 1 +#define HAVE_SYS_SELECT_H 1 @@ -340,6 +340,8 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp +#define HAVE_POSIX_MEMALIGN 1 +#define HAVE_PRCTL 0 /* #define HAVE_PRCTL 1 -- forced to 0 for Fuchsia */ +#define HAVE_PTHREAD_CANCEL 1 ++#define HAVE_PTHREAD_SET_NAME_NP 0 ++#define HAVE_PTHREAD_SETNAME_NP 0 +#define HAVE_SCHED_GETAFFINITY 1 +#define HAVE_SECITEMIMPORT 0 +#define HAVE_SETCONSOLETEXTATTRIBUTE 0 @@ -711,10 +713,12 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp +#define CONFIG_H264_SEI 1 +#define CONFIG_HEVCPARSE 0 +#define CONFIG_HEVC_SEI 0 -+#define CONFIG_HPELDSP 1 ++#define CONFIG_HPELDSP 0 +#define CONFIG_HUFFMAN 0 +#define CONFIG_HUFFYUVDSP 0 +#define CONFIG_HUFFYUVENCDSP 0 ++#define CONFIG_IAMFDEC 0 ++#define CONFIG_IAMFENC 0 +#define CONFIG_IDCTDSP 0 +#define CONFIG_IIRFILTER 0 +#define CONFIG_INFLATE_WRAPPER 0 @@ -765,17 +769,17 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp +#define CONFIG_VAAPI_ENCODE 0 +#define CONFIG_VC1DSP 0 +#define CONFIG_VIDEODSP 1 -+#define CONFIG_VP3DSP 1 ++#define CONFIG_VP3DSP 0 +#define CONFIG_VP56DSP 0 -+#define CONFIG_VP8DSP 1 ++#define CONFIG_VP8DSP 0 +#define CONFIG_WMA_FREQS 0 +#define CONFIG_WMV2DSP 0 +#endif /* FFMPEG_CONFIG_H */ -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/config_components.h +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/config_components.h =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/config_components.h -@@ -0,0 +1,2217 @@ ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/config_components.h +@@ -0,0 +1,2218 @@ +/* Automatically generated by configure - do not modify! */ +#ifndef FFMPEG_CONFIG_COMPONENTS_H +#define FFMPEG_CONFIG_COMPONENTS_H @@ -813,6 +817,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp +#define CONFIG_PRORES_METADATA_BSF 0 +#define CONFIG_REMOVE_EXTRADATA_BSF 0 +#define CONFIG_SETTS_BSF 0 ++#define CONFIG_SHOWINFO_BSF 0 +#define CONFIG_TEXT2MOVSUB_BSF 0 +#define CONFIG_TRACE_HEADERS_BSF 0 +#define CONFIG_TRUEHD_CORE_BSF 0 @@ -1048,7 +1053,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp +#define CONFIG_TARGA_DECODER 0 +#define CONFIG_TARGA_Y216_DECODER 0 +#define CONFIG_TDSC_DECODER 0 -+#define CONFIG_THEORA_DECODER 1 ++#define CONFIG_THEORA_DECODER 0 +#define CONFIG_THP_DECODER 0 +#define CONFIG_TIERTEXSEQVIDEO_DECODER 0 +#define CONFIG_TIFF_DECODER 0 @@ -1079,14 +1084,14 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp +#define CONFIG_VMDVIDEO_DECODER 0 +#define CONFIG_VMIX_DECODER 0 +#define CONFIG_VMNC_DECODER 0 -+#define CONFIG_VP3_DECODER 1 ++#define CONFIG_VP3_DECODER 0 +#define CONFIG_VP4_DECODER 0 +#define CONFIG_VP5_DECODER 0 +#define CONFIG_VP6_DECODER 0 +#define CONFIG_VP6A_DECODER 0 +#define CONFIG_VP6F_DECODER 0 +#define CONFIG_VP7_DECODER 0 -+#define CONFIG_VP8_DECODER 1 ++#define CONFIG_VP8_DECODER 0 +#define CONFIG_VP8_RKMPP_DECODER 0 +#define CONFIG_VP8_V4L2M2M_DECODER 0 +#define CONFIG_VP9_DECODER 0 @@ -1426,6 +1431,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp +#define CONFIG_DNXHD_ENCODER 0 +#define CONFIG_DPX_ENCODER 0 +#define CONFIG_DVVIDEO_ENCODER 0 ++#define CONFIG_DXV_ENCODER 0 +#define CONFIG_EXR_ENCODER 0 +#define CONFIG_FFV1_ENCODER 0 +#define CONFIG_FFVHUFF_ENCODER 0 @@ -1786,8 +1792,8 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp +#define CONFIG_TAK_PARSER 0 +#define CONFIG_VC1_PARSER 0 +#define CONFIG_VORBIS_PARSER 1 -+#define CONFIG_VP3_PARSER 1 -+#define CONFIG_VP8_PARSER 1 ++#define CONFIG_VP3_PARSER 0 ++#define CONFIG_VP8_PARSER 0 +#define CONFIG_VP9_PARSER 1 +#define CONFIG_VVC_PARSER 0 +#define CONFIG_WEBP_PARSER 0 @@ -2399,8 +2405,6 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp +#define CONFIG_AVSYNCTEST_FILTER 0 +#define CONFIG_AMOVIE_FILTER 0 +#define CONFIG_MOVIE_FILTER 0 -+#define CONFIG_AFIFO_FILTER 0 -+#define CONFIG_FIFO_FILTER 0 +#define CONFIG_AA_DEMUXER 0 +#define CONFIG_AAC_DEMUXER 1 +#define CONFIG_AAX_DEMUXER 0 @@ -2894,6 +2898,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp +#define CONFIG_PCM_U8_MUXER 0 +#define CONFIG_PSP_MUXER 0 +#define CONFIG_RAWVIDEO_MUXER 0 ++#define CONFIG_RCWT_MUXER 0 +#define CONFIG_RM_MUXER 0 +#define CONFIG_ROQ_MUXER 0 +#define CONFIG_RSO_MUXER 0 @@ -2993,23 +2998,20 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp +#define CONFIG_IPFS_GATEWAY_PROTOCOL 0 +#define CONFIG_IPNS_GATEWAY_PROTOCOL 0 +#endif /* FFMPEG_CONFIG_COMPONENTS_H */ -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/bsf_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/bsf_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/bsf_list.c ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/bsf_list.c @@ -0,0 +1,2 @@ +static const FFBitStreamFilter * const bitstream_filters[] = { + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/codec_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/codec_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/codec_list.c -@@ -0,0 +1,20 @@ ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/codec_list.c +@@ -0,0 +1,17 @@ +static const FFCodec * const codec_list[] = { + &ff_h264_decoder, -+ &ff_theora_decoder, -+ &ff_vp3_decoder, -+ &ff_vp8_decoder, + &ff_aac_decoder, + &ff_flac_decoder, + &ff_mp3_decoder, @@ -3025,11 +3027,11 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp + &ff_pcm_u8_decoder, + &ff_libopus_decoder, + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/parser_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/parser_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/parser_list.c -@@ -0,0 +1,11 @@ ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/parser_list.c +@@ -0,0 +1,9 @@ +static const AVCodecParser * const parser_list[] = { + &ff_aac_parser, + &ff_flac_parser, @@ -3037,14 +3039,37 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp + &ff_mpegaudio_parser, + &ff_opus_parser, + &ff_vorbis_parser, -+ &ff_vp3_parser, -+ &ff_vp8_parser, + &ff_vp9_parser, + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavformat/demuxer_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavdevice/indev_list.c +=================================================================== +--- /dev/null ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavdevice/indev_list.c +@@ -0,0 +1,2 @@ ++static const AVInputFormat * const indev_list[] = { ++ NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavdevice/outdev_list.c +=================================================================== +--- /dev/null ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavdevice/outdev_list.c +@@ -0,0 +1,2 @@ ++static const FFOutputFormat * const outdev_list[] = { ++ NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavfilter/filter_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavformat/demuxer_list.c ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavfilter/filter_list.c +@@ -0,0 +1,6 @@ ++static const AVFilter * const filter_list[] = { ++ &ff_asrc_abuffer, ++ &ff_vsrc_buffer, ++ &ff_asink_abuffer, ++ &ff_vsink_buffer, ++ NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavformat/demuxer_list.c +=================================================================== +--- /dev/null ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavformat/demuxer_list.c @@ -0,0 +1,9 @@ +static const AVInputFormat * const demuxer_list[] = { + &ff_aac_demuxer, @@ -3055,24 +3080,24 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp + &ff_ogg_demuxer, + &ff_wav_demuxer, + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavformat/muxer_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavformat/muxer_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavformat/muxer_list.c ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavformat/muxer_list.c @@ -0,0 +1,2 @@ +static const FFOutputFormat * const muxer_list[] = { + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavformat/protocol_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavformat/protocol_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavformat/protocol_list.c ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavformat/protocol_list.c @@ -0,0 +1,2 @@ +static const URLProtocol * const url_protocols[] = { + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavutil/avconfig.h +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavutil/avconfig.h =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavutil/avconfig.h ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavutil/avconfig.h @@ -0,0 +1,6 @@ +/* Generated by ffmpeg configure */ +#ifndef AVUTIL_AVCONFIG_H @@ -3080,25 +3105,25 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/pp +#define AV_HAVE_BIGENDIAN 0 +#define AV_HAVE_FAST_UNALIGNED 1 +#endif /* AVUTIL_AVCONFIG_H */ -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavutil/ffversion.h +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavutil/ffversion.h =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavutil/ffversion.h ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavutil/ffversion.h @@ -0,0 +1,5 @@ +/* Automatically generated by version.sh, do not manually edit! */ +#ifndef AVUTIL_FFVERSION_H +#define AVUTIL_FFVERSION_H +#define FFMPEG_VERSION "N-113309-gf89a6e7576" +#endif /* AVUTIL_FFVERSION_H */ -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/config.h +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/config.h =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/config.h -@@ -0,0 +1,768 @@ ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/config.h +@@ -0,0 +1,772 @@ +/* Automatically generated by configure - do not modify! */ +#ifndef FFMPEG_CONFIG_H +#define FFMPEG_CONFIG_H -+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/CHROMIUM_REBUILD/CHROMIUM_123/NEW.BUILD_TEST/chromium-123.0.6312.58/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=ppc64le --extra-cflags='-mcpu=power8' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264' --enable-decoder=mpeg4 --enable-parser='h263,mpeg4video' --enable-demuxer=avi" -- elide long configuration string from binary */ ++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/CHROMIUM_REBUILD/CHROMIUM_124/NEW.BUILD_TEST/chromium-124.0.6367.60/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=ppc64le --extra-cflags='-mcpu=power8' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264' --enable-decoder=mpeg4 --enable-parser='h263,mpeg4video' --enable-demuxer=avi" -- elide long configuration string from binary */ +#define FFMPEG_LICENSE "LGPL version 2.1 or later" +#define CONFIG_THIS_YEAR 2024 +#define FFMPEG_DATADIR "/usr/local/share/ffmpeg" @@ -3110,7 +3135,6 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ +#define EXTERN_ASM +#define BUILDSUF "" +#define SLIBSUF ".so" -+#define HAVE_MMX2 HAVE_MMXEXT +#define SWS_MAX_FILTER_SIZE 256 +#define ARCH_AARCH64 0 +#define ARCH_ALPHA 0 @@ -3342,6 +3366,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ +#define HAVE_OPENCV2_CORE_CORE_C_H 0 +#define HAVE_OPENGL_GL3_H 0 +#define HAVE_POLL_H 1 ++#define HAVE_PTHREAD_NP_H 0 +#define HAVE_SYS_PARAM_H 1 +#define HAVE_SYS_RESOURCE_H 1 +#define HAVE_SYS_SELECT_H 1 @@ -3432,6 +3457,8 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ +#define HAVE_POSIX_MEMALIGN 1 +#define HAVE_PRCTL 0 /* #define HAVE_PRCTL 1 -- forced to 0 for Fuchsia */ +#define HAVE_PTHREAD_CANCEL 1 ++#define HAVE_PTHREAD_SET_NAME_NP 0 ++#define HAVE_PTHREAD_SETNAME_NP 0 +#define HAVE_SCHED_GETAFFINITY 1 +#define HAVE_SECITEMIMPORT 0 +#define HAVE_SETCONSOLETEXTATTRIBUTE 0 @@ -3807,6 +3834,8 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ +#define CONFIG_HUFFMAN 0 +#define CONFIG_HUFFYUVDSP 0 +#define CONFIG_HUFFYUVENCDSP 0 ++#define CONFIG_IAMFDEC 0 ++#define CONFIG_IAMFENC 0 +#define CONFIG_IDCTDSP 1 +#define CONFIG_IIRFILTER 0 +#define CONFIG_INFLATE_WRAPPER 0 @@ -3857,17 +3886,17 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ +#define CONFIG_VAAPI_ENCODE 0 +#define CONFIG_VC1DSP 0 +#define CONFIG_VIDEODSP 1 -+#define CONFIG_VP3DSP 1 ++#define CONFIG_VP3DSP 0 +#define CONFIG_VP56DSP 0 -+#define CONFIG_VP8DSP 1 ++#define CONFIG_VP8DSP 0 +#define CONFIG_WMA_FREQS 0 +#define CONFIG_WMV2DSP 0 +#endif /* FFMPEG_CONFIG_H */ -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/config_components.h +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/config_components.h =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/config_components.h -@@ -0,0 +1,2217 @@ ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/config_components.h +@@ -0,0 +1,2218 @@ +/* Automatically generated by configure - do not modify! */ +#ifndef FFMPEG_CONFIG_COMPONENTS_H +#define FFMPEG_CONFIG_COMPONENTS_H @@ -3905,6 +3934,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ +#define CONFIG_PRORES_METADATA_BSF 0 +#define CONFIG_REMOVE_EXTRADATA_BSF 0 +#define CONFIG_SETTS_BSF 0 ++#define CONFIG_SHOWINFO_BSF 0 +#define CONFIG_TEXT2MOVSUB_BSF 0 +#define CONFIG_TRACE_HEADERS_BSF 0 +#define CONFIG_TRUEHD_CORE_BSF 0 @@ -4140,7 +4170,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ +#define CONFIG_TARGA_DECODER 0 +#define CONFIG_TARGA_Y216_DECODER 0 +#define CONFIG_TDSC_DECODER 0 -+#define CONFIG_THEORA_DECODER 1 ++#define CONFIG_THEORA_DECODER 0 +#define CONFIG_THP_DECODER 0 +#define CONFIG_TIERTEXSEQVIDEO_DECODER 0 +#define CONFIG_TIFF_DECODER 0 @@ -4171,14 +4201,14 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ +#define CONFIG_VMDVIDEO_DECODER 0 +#define CONFIG_VMIX_DECODER 0 +#define CONFIG_VMNC_DECODER 0 -+#define CONFIG_VP3_DECODER 1 ++#define CONFIG_VP3_DECODER 0 +#define CONFIG_VP4_DECODER 0 +#define CONFIG_VP5_DECODER 0 +#define CONFIG_VP6_DECODER 0 +#define CONFIG_VP6A_DECODER 0 +#define CONFIG_VP6F_DECODER 0 +#define CONFIG_VP7_DECODER 0 -+#define CONFIG_VP8_DECODER 1 ++#define CONFIG_VP8_DECODER 0 +#define CONFIG_VP8_RKMPP_DECODER 0 +#define CONFIG_VP8_V4L2M2M_DECODER 0 +#define CONFIG_VP9_DECODER 0 @@ -4518,6 +4548,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ +#define CONFIG_DNXHD_ENCODER 0 +#define CONFIG_DPX_ENCODER 0 +#define CONFIG_DVVIDEO_ENCODER 0 ++#define CONFIG_DXV_ENCODER 0 +#define CONFIG_EXR_ENCODER 0 +#define CONFIG_FFV1_ENCODER 0 +#define CONFIG_FFVHUFF_ENCODER 0 @@ -4878,8 +4909,8 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ +#define CONFIG_TAK_PARSER 0 +#define CONFIG_VC1_PARSER 0 +#define CONFIG_VORBIS_PARSER 1 -+#define CONFIG_VP3_PARSER 1 -+#define CONFIG_VP8_PARSER 1 ++#define CONFIG_VP3_PARSER 0 ++#define CONFIG_VP8_PARSER 0 +#define CONFIG_VP9_PARSER 1 +#define CONFIG_VVC_PARSER 0 +#define CONFIG_WEBP_PARSER 0 @@ -5491,8 +5522,6 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ +#define CONFIG_AVSYNCTEST_FILTER 0 +#define CONFIG_AMOVIE_FILTER 0 +#define CONFIG_MOVIE_FILTER 0 -+#define CONFIG_AFIFO_FILTER 0 -+#define CONFIG_FIFO_FILTER 0 +#define CONFIG_AA_DEMUXER 0 +#define CONFIG_AAC_DEMUXER 1 +#define CONFIG_AAX_DEMUXER 0 @@ -5986,6 +6015,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ +#define CONFIG_PCM_U8_MUXER 0 +#define CONFIG_PSP_MUXER 0 +#define CONFIG_RAWVIDEO_MUXER 0 ++#define CONFIG_RCWT_MUXER 0 +#define CONFIG_RM_MUXER 0 +#define CONFIG_ROQ_MUXER 0 +#define CONFIG_RSO_MUXER 0 @@ -6085,25 +6115,22 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ +#define CONFIG_IPFS_GATEWAY_PROTOCOL 0 +#define CONFIG_IPNS_GATEWAY_PROTOCOL 0 +#endif /* FFMPEG_CONFIG_COMPONENTS_H */ -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/bsf_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/bsf_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/bsf_list.c ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/bsf_list.c @@ -0,0 +1,2 @@ +static const FFBitStreamFilter * const bitstream_filters[] = { + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/codec_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/codec_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/codec_list.c -@@ -0,0 +1,22 @@ ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/codec_list.c +@@ -0,0 +1,19 @@ +static const FFCodec * const codec_list[] = { + &ff_h263_decoder, + &ff_h264_decoder, + &ff_mpeg4_decoder, -+ &ff_theora_decoder, -+ &ff_vp3_decoder, -+ &ff_vp8_decoder, + &ff_aac_decoder, + &ff_flac_decoder, + &ff_mp3_decoder, @@ -6119,11 +6146,11 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ + &ff_pcm_u8_decoder, + &ff_libopus_decoder, + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/parser_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/parser_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/parser_list.c -@@ -0,0 +1,13 @@ ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/parser_list.c +@@ -0,0 +1,11 @@ +static const AVCodecParser * const parser_list[] = { + &ff_aac_parser, + &ff_flac_parser, @@ -6133,14 +6160,37 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ + &ff_mpegaudio_parser, + &ff_opus_parser, + &ff_vorbis_parser, -+ &ff_vp3_parser, -+ &ff_vp8_parser, + &ff_vp9_parser, + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavformat/demuxer_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavdevice/indev_list.c +=================================================================== +--- /dev/null ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavdevice/indev_list.c +@@ -0,0 +1,2 @@ ++static const AVInputFormat * const indev_list[] = { ++ NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavdevice/outdev_list.c +=================================================================== +--- /dev/null ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavdevice/outdev_list.c +@@ -0,0 +1,2 @@ ++static const FFOutputFormat * const outdev_list[] = { ++ NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavfilter/filter_list.c +=================================================================== +--- /dev/null ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavfilter/filter_list.c +@@ -0,0 +1,6 @@ ++static const AVFilter * const filter_list[] = { ++ &ff_asrc_abuffer, ++ &ff_vsrc_buffer, ++ &ff_asink_abuffer, ++ &ff_vsink_buffer, ++ NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavformat/demuxer_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavformat/demuxer_list.c ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavformat/demuxer_list.c @@ -0,0 +1,10 @@ +static const AVInputFormat * const demuxer_list[] = { + &ff_aac_demuxer, @@ -6152,24 +6202,24 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ + &ff_ogg_demuxer, + &ff_wav_demuxer, + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavformat/muxer_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavformat/muxer_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavformat/muxer_list.c ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavformat/muxer_list.c @@ -0,0 +1,2 @@ +static const FFOutputFormat * const muxer_list[] = { + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavformat/protocol_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavformat/protocol_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavformat/protocol_list.c ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavformat/protocol_list.c @@ -0,0 +1,2 @@ +static const URLProtocol * const url_protocols[] = { + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavutil/avconfig.h +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavutil/avconfig.h =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavutil/avconfig.h ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavutil/avconfig.h @@ -0,0 +1,6 @@ +/* Generated by ffmpeg configure */ +#ifndef AVUTIL_AVCONFIG_H @@ -6177,25 +6227,25 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ +#define AV_HAVE_BIGENDIAN 0 +#define AV_HAVE_FAST_UNALIGNED 1 +#endif /* AVUTIL_AVCONFIG_H */ -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavutil/ffversion.h +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavutil/ffversion.h =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavutil/ffversion.h ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavutil/ffversion.h @@ -0,0 +1,5 @@ +/* Automatically generated by version.sh, do not manually edit! */ +#ifndef AVUTIL_FFVERSION_H +#define AVUTIL_FFVERSION_H +#define FFMPEG_VERSION "N-113309-gf89a6e7576" +#endif /* AVUTIL_FFVERSION_H */ -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/config.h +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/config.h =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/config.h -@@ -0,0 +1,768 @@ ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/config.h +@@ -0,0 +1,772 @@ +/* Automatically generated by configure - do not modify! */ +#ifndef FFMPEG_CONFIG_H +#define FFMPEG_CONFIG_H -+/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/CHROMIUM_REBUILD/CHROMIUM_123/NEW.BUILD_TEST/chromium-123.0.6312.58/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=ppc64le --extra-cflags='-mcpu=power8' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld'" -- elide long configuration string from binary */ ++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/CHROMIUM_REBUILD/CHROMIUM_124/NEW.BUILD_TEST/chromium-124.0.6367.60/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --arch=ppc64le --extra-cflags='-mcpu=power8' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld'" -- elide long configuration string from binary */ +#define FFMPEG_LICENSE "LGPL version 2.1 or later" +#define CONFIG_THIS_YEAR 2024 +#define FFMPEG_DATADIR "/usr/local/share/ffmpeg" @@ -6207,7 +6257,6 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ +#define EXTERN_ASM +#define BUILDSUF "" +#define SLIBSUF ".so" -+#define HAVE_MMX2 HAVE_MMXEXT +#define SWS_MAX_FILTER_SIZE 256 +#define ARCH_AARCH64 0 +#define ARCH_ALPHA 0 @@ -6439,6 +6488,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ +#define HAVE_OPENCV2_CORE_CORE_C_H 0 +#define HAVE_OPENGL_GL3_H 0 +#define HAVE_POLL_H 1 ++#define HAVE_PTHREAD_NP_H 0 +#define HAVE_SYS_PARAM_H 1 +#define HAVE_SYS_RESOURCE_H 1 +#define HAVE_SYS_SELECT_H 1 @@ -6529,6 +6579,8 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ +#define HAVE_POSIX_MEMALIGN 1 +#define HAVE_PRCTL 0 /* #define HAVE_PRCTL 1 -- forced to 0 for Fuchsia */ +#define HAVE_PTHREAD_CANCEL 1 ++#define HAVE_PTHREAD_SET_NAME_NP 0 ++#define HAVE_PTHREAD_SETNAME_NP 0 +#define HAVE_SCHED_GETAFFINITY 1 +#define HAVE_SECITEMIMPORT 0 +#define HAVE_SETCONSOLETEXTATTRIBUTE 0 @@ -6895,15 +6947,17 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ +#define CONFIG_H264CHROMA 0 +#define CONFIG_H264DSP 0 +#define CONFIG_H264PARSE 0 -+#define CONFIG_H264PRED 1 ++#define CONFIG_H264PRED 0 +#define CONFIG_H264QPEL 0 +#define CONFIG_H264_SEI 0 +#define CONFIG_HEVCPARSE 0 +#define CONFIG_HEVC_SEI 0 -+#define CONFIG_HPELDSP 1 ++#define CONFIG_HPELDSP 0 +#define CONFIG_HUFFMAN 0 +#define CONFIG_HUFFYUVDSP 0 +#define CONFIG_HUFFYUVENCDSP 0 ++#define CONFIG_IAMFDEC 0 ++#define CONFIG_IAMFENC 0 +#define CONFIG_IDCTDSP 0 +#define CONFIG_IIRFILTER 0 +#define CONFIG_INFLATE_WRAPPER 0 @@ -6953,18 +7007,18 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ +#define CONFIG_VAAPI_1 0 +#define CONFIG_VAAPI_ENCODE 0 +#define CONFIG_VC1DSP 0 -+#define CONFIG_VIDEODSP 1 -+#define CONFIG_VP3DSP 1 ++#define CONFIG_VIDEODSP 0 ++#define CONFIG_VP3DSP 0 +#define CONFIG_VP56DSP 0 -+#define CONFIG_VP8DSP 1 ++#define CONFIG_VP8DSP 0 +#define CONFIG_WMA_FREQS 0 +#define CONFIG_WMV2DSP 0 +#endif /* FFMPEG_CONFIG_H */ -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/config_components.h +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/config_components.h =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/config_components.h -@@ -0,0 +1,2217 @@ ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/config_components.h +@@ -0,0 +1,2218 @@ +/* Automatically generated by configure - do not modify! */ +#ifndef FFMPEG_CONFIG_COMPONENTS_H +#define FFMPEG_CONFIG_COMPONENTS_H @@ -7002,6 +7056,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ +#define CONFIG_PRORES_METADATA_BSF 0 +#define CONFIG_REMOVE_EXTRADATA_BSF 0 +#define CONFIG_SETTS_BSF 0 ++#define CONFIG_SHOWINFO_BSF 0 +#define CONFIG_TEXT2MOVSUB_BSF 0 +#define CONFIG_TRACE_HEADERS_BSF 0 +#define CONFIG_TRUEHD_CORE_BSF 0 @@ -7237,7 +7292,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ +#define CONFIG_TARGA_DECODER 0 +#define CONFIG_TARGA_Y216_DECODER 0 +#define CONFIG_TDSC_DECODER 0 -+#define CONFIG_THEORA_DECODER 1 ++#define CONFIG_THEORA_DECODER 0 +#define CONFIG_THP_DECODER 0 +#define CONFIG_TIERTEXSEQVIDEO_DECODER 0 +#define CONFIG_TIFF_DECODER 0 @@ -7268,14 +7323,14 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ +#define CONFIG_VMDVIDEO_DECODER 0 +#define CONFIG_VMIX_DECODER 0 +#define CONFIG_VMNC_DECODER 0 -+#define CONFIG_VP3_DECODER 1 ++#define CONFIG_VP3_DECODER 0 +#define CONFIG_VP4_DECODER 0 +#define CONFIG_VP5_DECODER 0 +#define CONFIG_VP6_DECODER 0 +#define CONFIG_VP6A_DECODER 0 +#define CONFIG_VP6F_DECODER 0 +#define CONFIG_VP7_DECODER 0 -+#define CONFIG_VP8_DECODER 1 ++#define CONFIG_VP8_DECODER 0 +#define CONFIG_VP8_RKMPP_DECODER 0 +#define CONFIG_VP8_V4L2M2M_DECODER 0 +#define CONFIG_VP9_DECODER 0 @@ -7615,6 +7670,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ +#define CONFIG_DNXHD_ENCODER 0 +#define CONFIG_DPX_ENCODER 0 +#define CONFIG_DVVIDEO_ENCODER 0 ++#define CONFIG_DXV_ENCODER 0 +#define CONFIG_EXR_ENCODER 0 +#define CONFIG_FFV1_ENCODER 0 +#define CONFIG_FFVHUFF_ENCODER 0 @@ -7975,8 +8031,8 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ +#define CONFIG_TAK_PARSER 0 +#define CONFIG_VC1_PARSER 0 +#define CONFIG_VORBIS_PARSER 1 -+#define CONFIG_VP3_PARSER 1 -+#define CONFIG_VP8_PARSER 1 ++#define CONFIG_VP3_PARSER 0 ++#define CONFIG_VP8_PARSER 0 +#define CONFIG_VP9_PARSER 1 +#define CONFIG_VVC_PARSER 0 +#define CONFIG_WEBP_PARSER 0 @@ -8588,8 +8644,6 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ +#define CONFIG_AVSYNCTEST_FILTER 0 +#define CONFIG_AMOVIE_FILTER 0 +#define CONFIG_MOVIE_FILTER 0 -+#define CONFIG_AFIFO_FILTER 0 -+#define CONFIG_FIFO_FILTER 0 +#define CONFIG_AA_DEMUXER 0 +#define CONFIG_AAC_DEMUXER 0 +#define CONFIG_AAX_DEMUXER 0 @@ -9083,6 +9137,7 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ +#define CONFIG_PCM_U8_MUXER 0 +#define CONFIG_PSP_MUXER 0 +#define CONFIG_RAWVIDEO_MUXER 0 ++#define CONFIG_RCWT_MUXER 0 +#define CONFIG_RM_MUXER 0 +#define CONFIG_ROQ_MUXER 0 +#define CONFIG_RSO_MUXER 0 @@ -9182,22 +9237,19 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ +#define CONFIG_IPFS_GATEWAY_PROTOCOL 0 +#define CONFIG_IPNS_GATEWAY_PROTOCOL 0 +#endif /* FFMPEG_CONFIG_COMPONENTS_H */ -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/bsf_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/bsf_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/bsf_list.c ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/bsf_list.c @@ -0,0 +1,2 @@ +static const FFBitStreamFilter * const bitstream_filters[] = { + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/codec_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/codec_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/codec_list.c -@@ -0,0 +1,18 @@ ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/codec_list.c +@@ -0,0 +1,15 @@ +static const FFCodec * const codec_list[] = { -+ &ff_theora_decoder, -+ &ff_vp3_decoder, -+ &ff_vp8_decoder, + &ff_flac_decoder, + &ff_mp3_decoder, + &ff_vorbis_decoder, @@ -9212,24 +9264,47 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ + &ff_pcm_u8_decoder, + &ff_libopus_decoder, + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/parser_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/parser_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/parser_list.c -@@ -0,0 +1,9 @@ ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/parser_list.c +@@ -0,0 +1,7 @@ +static const AVCodecParser * const parser_list[] = { + &ff_flac_parser, + &ff_mpegaudio_parser, + &ff_opus_parser, + &ff_vorbis_parser, -+ &ff_vp3_parser, -+ &ff_vp8_parser, + &ff_vp9_parser, + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavformat/demuxer_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavdevice/indev_list.c +=================================================================== +--- /dev/null ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavdevice/indev_list.c +@@ -0,0 +1,2 @@ ++static const AVInputFormat * const indev_list[] = { ++ NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavdevice/outdev_list.c +=================================================================== +--- /dev/null ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavdevice/outdev_list.c +@@ -0,0 +1,2 @@ ++static const FFOutputFormat * const outdev_list[] = { ++ NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavfilter/filter_list.c +=================================================================== +--- /dev/null ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavfilter/filter_list.c +@@ -0,0 +1,6 @@ ++static const AVFilter * const filter_list[] = { ++ &ff_asrc_abuffer, ++ &ff_vsrc_buffer, ++ &ff_asink_abuffer, ++ &ff_vsink_buffer, ++ NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavformat/demuxer_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavformat/demuxer_list.c ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavformat/demuxer_list.c @@ -0,0 +1,8 @@ +static const AVInputFormat * const demuxer_list[] = { + &ff_flac_demuxer, @@ -9239,24 +9314,24 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ + &ff_ogg_demuxer, + &ff_wav_demuxer, + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavformat/muxer_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavformat/muxer_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavformat/muxer_list.c ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavformat/muxer_list.c @@ -0,0 +1,2 @@ +static const FFOutputFormat * const muxer_list[] = { + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavformat/protocol_list.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavformat/protocol_list.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavformat/protocol_list.c ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavformat/protocol_list.c @@ -0,0 +1,2 @@ +static const URLProtocol * const url_protocols[] = { + NULL }; -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavutil/avconfig.h +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavutil/avconfig.h =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavutil/avconfig.h ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavutil/avconfig.h @@ -0,0 +1,6 @@ +/* Generated by ffmpeg configure */ +#ifndef AVUTIL_AVCONFIG_H @@ -9264,21 +9339,21 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ +#define AV_HAVE_BIGENDIAN 0 +#define AV_HAVE_FAST_UNALIGNED 1 +#endif /* AVUTIL_AVCONFIG_H */ -Index: chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavutil/ffversion.h +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavutil/ffversion.h =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavutil/ffversion.h ++++ chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavutil/ffversion.h @@ -0,0 +1,5 @@ +/* Automatically generated by version.sh, do not manually edit! */ +#ifndef AVUTIL_FFVERSION_H +#define AVUTIL_FFVERSION_H +#define FFMPEG_VERSION "N-113309-gf89a6e7576" +#endif /* AVUTIL_FFVERSION_H */ -Index: chromium-123.0.6312.58/third_party/ffmpeg/ffmpeg_generated.gni +Index: chromium-124.0.6367.60/third_party/ffmpeg/ffmpeg_generated.gni =================================================================== ---- chromium-123.0.6312.58.orig/third_party/ffmpeg/ffmpeg_generated.gni -+++ chromium-123.0.6312.58/third_party/ffmpeg/ffmpeg_generated.gni -@@ -315,6 +315,40 @@ if ((use_linux_config && current_cpu == +--- chromium-124.0.6367.60.orig/third_party/ffmpeg/ffmpeg_generated.gni ++++ chromium-124.0.6367.60/third_party/ffmpeg/ffmpeg_generated.gni +@@ -281,6 +281,40 @@ if ((is_apple && ffmpeg_branding == "Chr ] } @@ -9316,13 +9391,13 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/ffmpeg_generated.gni + ] +} + - if ((is_apple && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) { - ffmpeg_c_sources += [ - "libavcodec/x86/h264_qpel.c", -Index: chromium-123.0.6312.58/third_party/ffmpeg/libavcodec/ppc/h264dsp_ppc.c + if ((is_apple && current_cpu == "x64" && ffmpeg_branding == "Chrome") || + (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || + (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || +Index: chromium-124.0.6367.60/third_party/ffmpeg/libavcodec/ppc/h264dsp_ppc.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/libavcodec/ppc/h264dsp_ppc.c ++++ chromium-124.0.6367.60/third_party/ffmpeg/libavcodec/ppc/h264dsp_ppc.c @@ -0,0 +1,815 @@ +/* + * Copyright (c) 2004 Romain Dolbeau @@ -10139,10 +10214,10 @@ Index: chromium-123.0.6312.58/third_party/ffmpeg/libavcodec/ppc/h264dsp_ppc.c + } +#endif /* HAVE_ALTIVEC */ +} -Index: chromium-123.0.6312.58/third_party/ffmpeg/libavcodec/ppc/h264qpel_ppc.c +Index: chromium-124.0.6367.60/third_party/ffmpeg/libavcodec/ppc/h264qpel_ppc.c =================================================================== --- /dev/null -+++ chromium-123.0.6312.58/third_party/ffmpeg/libavcodec/ppc/h264qpel_ppc.c ++++ chromium-124.0.6367.60/third_party/ffmpeg/libavcodec/ppc/h264qpel_ppc.c @@ -0,0 +1,315 @@ +/* + * Copyright (c) 2004 Romain Dolbeau diff --git a/SOURCES/HACK-third_party-libvpx-use-generic-gnu.patch b/SOURCES/HACK-third_party-libvpx-use-generic-gnu.patch index c8aaab61..a8498721 100644 --- a/SOURCES/HACK-third_party-libvpx-use-generic-gnu.patch +++ b/SOURCES/HACK-third_party-libvpx-use-generic-gnu.patch @@ -1,8 +1,6 @@ -Index: chromium-120.0.6099.71/third_party/libvpx/generate_gni.sh -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/libvpx/generate_gni.sh -+++ chromium-120.0.6099.71/third_party/libvpx/generate_gni.sh -@@ -411,7 +411,7 @@ gen_config_files linux/mipsel "--target= +--- a/third_party/libvpx/generate_gni.sh ++++ b/third_party/libvpx/generate_gni.sh +@@ -423,7 +423,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}" @@ -10,11 +8,9 @@ Index: chromium-120.0.6099.71/third_party/libvpx/generate_gni.sh +gen_config_files linux/ppc64 "--target=generic-gnu $HIGHBD ${all_platforms}" gen_config_files linux/generic "--target=generic-gnu $HIGHBD ${all_platforms}" gen_config_files win/arm64-highbd \ - "--target=arm64-win64-vs15 ${all_platforms} ${HIGHBD}" -Index: chromium-120.0.6099.71/third_party/libvpx/source/libvpx/build/make/rtcd.pl -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/libvpx/source/libvpx/build/make/rtcd.pl -+++ chromium-120.0.6099.71/third_party/libvpx/source/libvpx/build/make/rtcd.pl + "--target=arm64-win64-vs15 ${all_platforms} ${HIGHBD} ${disable_sve}" +--- a/third_party/libvpx/source/libvpx/build/make/rtcd.pl ++++ b/third_party/libvpx/source/libvpx/build/make/rtcd.pl @@ -492,8 +492,9 @@ if ($opts{arch} eq 'x86') { &require(@REQUIRES); arm; @@ -27,11 +23,9 @@ Index: chromium-120.0.6099.71/third_party/libvpx/source/libvpx/build/make/rtcd.p } elsif ($opts{arch} =~ /loongarch/ ) { @ALL_ARCHS = filter(qw/lsx lasx/); loongarch; -Index: chromium-120.0.6099.71/third_party/libvpx/BUILD.gn -=================================================================== ---- chromium-120.0.6099.71.orig/third_party/libvpx/BUILD.gn -+++ chromium-120.0.6099.71/third_party/libvpx/BUILD.gn -@@ -93,6 +93,14 @@ config("libvpx_config") { +--- a/third_party/libvpx/BUILD.gn ++++ b/third_party/libvpx/BUILD.gn +@@ -94,6 +94,14 @@ config("libvpx_config") { "-Wno-sign-compare", ] } diff --git a/SOURCES/chromium-122-arm64-memory_tagging.patch b/SOURCES/chromium-122-arm64-memory_tagging.patch deleted file mode 100644 index 6850e586..00000000 --- a/SOURCES/chromium-122-arm64-memory_tagging.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-122.0.6261.57/base/allocator/partition_allocator/partition_alloc.gni.me chromium-122.0.6261.57/base/allocator/partition_allocator/partition_alloc.gni ---- chromium-122.0.6261.57/base/allocator/partition_allocator/partition_alloc.gni.me 2024-02-22 20:22:44.115269845 +0100 -+++ chromium-122.0.6261.57/base/allocator/partition_allocator/partition_alloc.gni 2024-02-22 20:23:07.067681890 +0100 -@@ -29,8 +29,7 @@ if (is_nacl) { - assert(false, "Unknown CPU: $current_cpu") - } - --has_memory_tagging = -- current_cpu == "arm64" && is_clang && !is_asan && (is_linux || is_android) -+has_memory_tagging = false - - declare_args() { - # Causes all the allocations to be routed via allocator_shim.cc. Usually, diff --git a/SOURCES/chromium-124-arm64-memory_tagging.patch b/SOURCES/chromium-124-arm64-memory_tagging.patch new file mode 100644 index 00000000..3a3766aa --- /dev/null +++ b/SOURCES/chromium-124-arm64-memory_tagging.patch @@ -0,0 +1,13 @@ +diff -up chromium-124.0.6367.60/base/allocator/partition_allocator/partition_alloc.gni.me chromium-124.0.6367.60/base/allocator/partition_allocator/partition_alloc.gni +--- chromium-124.0.6367.60/base/allocator/partition_allocator/partition_alloc.gni.me 2024-04-18 15:12:34.007397489 +0200 ++++ chromium-124.0.6367.60/base/allocator/partition_allocator/partition_alloc.gni 2024-04-18 15:13:06.166051954 +0200 +@@ -32,8 +32,7 @@ if (is_nacl) { + # Increases the size of the empty slot span ring. + use_large_empty_slot_span_ring = is_mac + +-has_memory_tagging = +- current_cpu == "arm64" && is_clang && !is_asan && (is_linux || is_android) ++has_memory_tagging = false + + declare_args() { + # Causes all the allocations to be routed via allocator_shim.cc. Usually, diff --git a/SOURCES/chromium-124-wayland-regression.patch b/SOURCES/chromium-124-wayland-regression.patch new file mode 100644 index 00000000..9cebf668 --- /dev/null +++ b/SOURCES/chromium-124-wayland-regression.patch @@ -0,0 +1,88 @@ +commit c7f4c58f896a651eba80ad805ebdb49d19ebdbd4 +Author: Tom Anderson +Date: Wed Mar 20 00:00:12 2024 +0000 + + Fix --ozone-platform-hint + + This fixes a regression after r1269993 which moved ozone platform + early initialization before the ozone platform hint flag was + processed. This CL ensures the flag processing happens even earlier. + + R=sky + + Change-Id: Icc9649beb0b86753265be2b6cdf3059611eb410f + Bug: None + Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5375669 + Reviewed-by: Scott Violet + Auto-Submit: Thomas Anderson + Commit-Queue: Thomas Anderson + Cr-Commit-Position: refs/heads/main@{#1275306} + +diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegate.cc +index 73b6ab0934b14..0b4c44be679d0 100644 +--- a/chrome/app/chrome_main_delegate.cc ++++ b/chrome/app/chrome_main_delegate.cc +@@ -249,6 +249,9 @@ + #include "base/scoped_add_feature_flags.h" + #include "ui/base/ui_base_features.h" + #include "ui/ozone/public/ozone_platform.h" ++#if BUILDFLAG(IS_LINUX) ++#include "chrome/browser/chrome_browser_main_extra_parts_linux.h" ++#endif + #endif // BUILDFLAG(IS_OZONE) + + base::LazyInstance::DestructorAtExit +@@ -959,6 +962,9 @@ std::optional ChromeMainDelegate::PostEarlyInitialization( + // Initialize Ozone platform and add required feature flags as per platform's + // properties. Must be added before feature list is created otherwise the + // added flag won't be picked up. ++#if BUILDFLAG(IS_LINUX) ++ ChromeBrowserMainExtraPartsLinux::InitOzonePlatformHint(); ++#endif + ui::OzonePlatform::PreEarlyInitialization(); + AddFeatureFlagsToCommandLine(); + #endif // BUILDFLAG(IS_OZONE) +diff --git a/chrome/browser/chrome_browser_main_extra_parts_linux.cc b/chrome/browser/chrome_browser_main_extra_parts_linux.cc +index dba7b116ecaa0..ea0487022dcdc 100644 +--- a/chrome/browser/chrome_browser_main_extra_parts_linux.cc ++++ b/chrome/browser/chrome_browser_main_extra_parts_linux.cc +@@ -168,7 +168,13 @@ ChromeBrowserMainExtraPartsLinux::ChromeBrowserMainExtraPartsLinux() = default; + + ChromeBrowserMainExtraPartsLinux::~ChromeBrowserMainExtraPartsLinux() = default; + +-void ChromeBrowserMainExtraPartsLinux::PreEarlyInitialization() { ++void ChromeBrowserMainExtraPartsLinux::PostBrowserStart() { ++ RecordDisplayServerProtocolSupport(); ++ ChromeBrowserMainExtraPartsOzone::PostBrowserStart(); ++} ++ ++// static ++void ChromeBrowserMainExtraPartsLinux::InitOzonePlatformHint() { + #if BUILDFLAG(IS_LINUX) + // On the desktop, we fix the platform name if necessary. + // See https://crbug.com/1246928. +@@ -189,8 +195,3 @@ void ChromeBrowserMainExtraPartsLinux::PreEarlyInitialization() { + } + #endif // BUILDFLAG(IS_LINUX) + } +- +-void ChromeBrowserMainExtraPartsLinux::PostBrowserStart() { +- RecordDisplayServerProtocolSupport(); +- ChromeBrowserMainExtraPartsOzone::PostBrowserStart(); +-} +diff --git a/chrome/browser/chrome_browser_main_extra_parts_linux.h b/chrome/browser/chrome_browser_main_extra_parts_linux.h +index 3847bd2090e28..4f188a7bdfe38 100644 +--- a/chrome/browser/chrome_browser_main_extra_parts_linux.h ++++ b/chrome/browser/chrome_browser_main_extra_parts_linux.h +@@ -17,9 +17,10 @@ class ChromeBrowserMainExtraPartsLinux + const ChromeBrowserMainExtraPartsLinux&) = delete; + ~ChromeBrowserMainExtraPartsLinux() override; + ++ static void InitOzonePlatformHint(); ++ + private: + // ChromeBrowserMainExtraParts overrides. +- void PreEarlyInitialization() override; + void PostBrowserStart() override; + }; + diff --git a/SOURCES/skia-vsx-instructions.patch b/SOURCES/skia-vsx-instructions.patch index d42b1ce6..1cec31ee 100644 --- a/SOURCES/skia-vsx-instructions.patch +++ b/SOURCES/skia-vsx-instructions.patch @@ -1,8 +1,8 @@ -Index: chromium-123.0.6312.58/third_party/skia/BUILD.gn +Index: chromium-124.0.6367.60/third_party/skia/BUILD.gn =================================================================== ---- 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") { +--- chromium-124.0.6367.60.orig/third_party/skia/BUILD.gn ++++ chromium-124.0.6367.60/third_party/skia/BUILD.gn +@@ -191,6 +191,12 @@ opts("skx") { } } @@ -15,7 +15,7 @@ Index: chromium-123.0.6312.58/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) { -@@ -1474,6 +1480,7 @@ skia_component("skia") { +@@ -1482,6 +1488,7 @@ skia_component("skia") { ":skx", ":typeface_fontations", ":vello", @@ -23,7 +23,7 @@ Index: chromium-123.0.6312.58/third_party/skia/BUILD.gn ":webp_decode", ":wuffs", ":xml", -@@ -1651,7 +1658,10 @@ skia_static_library("pathkit") { +@@ -1659,7 +1666,10 @@ skia_static_library("pathkit") { public_configs = [ ":skia_public" ] configs = skia_library_configs @@ -35,10 +35,10 @@ Index: chromium-123.0.6312.58/third_party/skia/BUILD.gn sources = [] sources += skia_pathops_sources -Index: chromium-123.0.6312.58/third_party/skia/gn/skia/BUILD.gn +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/skia/gn/skia/BUILD.gn ++++ chromium-124.0.6367.60/third_party/skia/gn/skia/BUILD.gn @@ -163,6 +163,8 @@ config("default") { "-mfpmath=sse", ] @@ -48,10 +48,10 @@ Index: chromium-123.0.6312.58/third_party/skia/gn/skia/BUILD.gn } if (malloc != "" && !is_win) { -Index: chromium-123.0.6312.58/third_party/skia/include/core/SkTypes.h +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/skia/include/core/SkTypes.h ++++ chromium-124.0.6367.60/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-123.0.6312.58/third_party/skia/include/core/SkTypes.h + #endif -Index: chromium-123.0.6312.58/third_party/skia/src/base/SkSpinlock.cpp +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/skia/src/base/SkSpinlock.cpp ++++ chromium-124.0.6367.60/third_party/skia/src/base/SkSpinlock.cpp @@ -33,7 +33,8 @@ #endif @@ -111,10 +111,10 @@ Index: chromium-123.0.6312.58/third_party/skia/src/base/SkSpinlock.cpp #include static void do_pause() { _mm_pause(); } #else -Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkBitmapProcState_opts.h +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h ++++ chromium-124.0.6367.60/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-123.0.6312.58/third_party/skia/src/opts/SkBitmapProcState_opts.h #include #elif defined(SK_ARM_HAS_NEON) #include -Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkBlitRow_opts.h +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/skia/src/opts/SkBlitRow_opts.h ++++ chromium-124.0.6367.60/third_party/skia/src/opts/SkBlitRow_opts.h @@ -69,7 +69,7 @@ #endif @@ -143,10 +143,10 @@ Index: chromium-123.0.6312.58/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-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h ++++ chromium-124.0.6367.60/third_party/skia/src/opts/SkRasterPipeline_opts.h @@ -1,5 +1,6 @@ /* * Copyright 2018 Google Inc. @@ -154,7 +154,7 @@ Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. -@@ -74,6 +75,8 @@ using NoCtx = const void*; +@@ -75,6 +76,8 @@ using NoCtx = const void*; #define JUMPER_IS_SCALAR #elif defined(SK_ARM_HAS_NEON) #define JUMPER_IS_NEON @@ -163,7 +163,7 @@ Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SKX #define JUMPER_IS_SKX #elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_AVX2 -@@ -106,6 +109,8 @@ using NoCtx = const void*; +@@ -107,6 +110,8 @@ using NoCtx = const void*; #include #elif defined(JUMPER_IS_NEON) #include @@ -172,7 +172,7 @@ Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h #else #include #endif -@@ -197,6 +202,182 @@ namespace SK_OPTS_NS { +@@ -200,6 +205,184 @@ namespace SK_OPTS_NS { ptr[3] = a; } @@ -227,10 +227,12 @@ Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h + } + + SI F mad(F f, F m, F a) { return vec_madd(f,m,a); } ++ SI F nmad(F f, F m, F a) { return vec_msub(f,m,a); } + SI F floor_(F v) { return vec_floor(v); } + SI F ceil_(F v) { return vec_ceil(v); } + SI F sqrt_(F v) { return vec_sqrt(v); } -+ SI U32 round(F v) { return vec_cts((vector float)vec_rint(v), 0); } ++ SI I32 iround(F v) { return vec_cts((vector float)vec_rint(v), 0); } ++ SI U32 round(F v) { return vec_ctu((vector float)vec_rint(v), 0); } + SI U32 round(F v, F scale) { return vec_cts((vector float)vec_rint(v*scale), 0); } + + template @@ -355,7 +357,7 @@ Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h #elif defined(JUMPER_IS_NEON) template using V = Vec<4, T>; using F = V; -@@ -1004,6 +1185,15 @@ SI F from_half(U16 h) { +@@ -1025,6 +1208,15 @@ SI F from_half(U16 h) { #elif defined(JUMPER_IS_HSW) return _mm256_cvtph_ps((__m128i)h); @@ -371,7 +373,7 @@ Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h #else // Remember, a half is 1-5-10 (sign-exponent-mantissa) with 15 exponent bias. U32 sem = expand(h), -@@ -1027,6 +1217,16 @@ SI U16 to_half(F f) { +@@ -1048,6 +1240,16 @@ SI U16 to_half(F f) { #elif defined(JUMPER_IS_HSW) return (U16)_mm256_cvtps_ph(f, _MM_FROUND_CUR_DIRECTION); @@ -388,7 +390,7 @@ Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h #else // Remember, a float is 1-8-23 (sign-exponent-mantissa) with 127 exponent bias. U32 sem = sk_bit_cast(f), -@@ -1102,7 +1302,7 @@ static constexpr size_t N = sizeof(F) / +@@ -1123,7 +1325,7 @@ static constexpr size_t N = sizeof(F) / // instead of {b,a} on the stack. Narrow stages work best for __vectorcall. #define ABI __vectorcall #define JUMPER_NARROW_STAGES 1 @@ -397,7 +399,7 @@ Index: chromium-123.0.6312.58/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 -@@ -4874,6 +5074,10 @@ SI F sqrt_(F x) { +@@ -5023,6 +5225,10 @@ SI F sqrt_(F x) { float32x4_t lo,hi; split(x, &lo,&hi); return join(sqrt(lo), sqrt(hi)); @@ -408,7 +410,7 @@ Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h #else return F{ sqrtf(x[0]), sqrtf(x[1]), sqrtf(x[2]), sqrtf(x[3]), -@@ -4897,6 +5101,10 @@ SI F floor_(F x) { +@@ -5046,6 +5252,10 @@ SI F floor_(F x) { __m128 lo,hi; split(x, &lo,&hi); return join(_mm_floor_ps(lo), _mm_floor_ps(hi)); @@ -419,7 +421,7 @@ Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h #else F roundtrip = cast(cast(x)); return roundtrip - if_then_else(roundtrip > x, F_(1), F_(0)); -@@ -4908,6 +5116,7 @@ SI F floor_(F x) { +@@ -5057,6 +5267,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 +429,7 @@ Index: chromium-123.0.6312.58/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); -@@ -4919,6 +5128,22 @@ SI I16 scaled_mult(I16 a, I16 b) { +@@ -5068,6 +5279,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 +452,7 @@ Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h #else const I32 roundingTerm = I32_(1 << 14); return cast((cast(a) * cast(b) + roundingTerm) >> 15); -@@ -4940,7 +5165,26 @@ SI U16 constrained_add(I16 a, U16 b) { +@@ -5089,7 +5316,26 @@ SI U16 constrained_add(I16 a, U16 b) { SkASSERT(-ib <= ia && ia <= 65535 - ib); } #endif @@ -477,7 +479,7 @@ Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h } SI F fract(F x) { return x - floor_(x); } -@@ -5798,8 +6042,14 @@ STAGE_GP(bilerp_clamp_8888, const SkRast +@@ -5947,8 +6193,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 +494,7 @@ Index: chromium-123.0.6312.58/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 -@@ -5811,7 +6061,12 @@ STAGE_GP(bilerp_clamp_8888, const SkRast +@@ -5960,7 +6212,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 +507,7 @@ Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h }; const uint32_t* ptr; -@@ -5845,9 +6100,15 @@ STAGE_GP(bilerp_clamp_8888, const SkRast +@@ -5994,9 +6251,15 @@ STAGE_GP(bilerp_clamp_8888, const SkRast I16 width = (I16)bottom - (I16)top; U16 middle = bottom + top; // Add + 0x80 for rounding. @@ -522,60 +524,10 @@ Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkRasterPipeline_opts.h }; r = lerpY(topR, bottomR); -Index: chromium-123.0.6312.58/third_party/skia/src/opts/SkSwizzler_opts.h +Index: chromium-124.0.6367.60/third_party/skia/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 - #include - --#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 -+#if defined(SK_PPC64_HAS_SSE_COMPAT) -+ #include -+ #include -+#elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 - #include - #elif defined(SK_ARM_HAS_NEON) - #include -@@ -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(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(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-123.0.6312.58.orig/third_party/skia/src/base/SkVx.h -+++ chromium-123.0.6312.58/third_party/skia/src/base/SkVx.h +--- chromium-124.0.6367.60.orig/third_party/skia/src/base/SkVx.h ++++ chromium-124.0.6367.60/third_party/skia/src/base/SkVx.h @@ -42,7 +42,13 @@ #if SKVX_USE_SIMD @@ -591,10 +543,10 @@ Index: chromium-123.0.6312.58/third_party/skia/src/base/SkVx.h #elif defined(SK_ARM_HAS_NEON) #include #elif defined(__wasm_simd128__) -Index: chromium-123.0.6312.58/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp ++++ chromium-124.0.6367.60/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp @@ -9,7 +9,7 @@ #include "src/core/SkBlitMask.h" #include "src/core/SkOptsTargets.h" @@ -604,23 +556,23 @@ Index: chromium-123.0.6312.58/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-123.0.6312.58/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp +Index: chromium-124.0.6367.60/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 @@ +--- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp ++++ chromium-124.0.6367.60/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp +@@ -10,7 +10,7 @@ #include "src/core/SkOptsTargets.h" #include "src/core/SkSwizzlePriv.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) +-#if defined(SK_CPU_X86) && \ ++#if (defined(SK_CPU_X86) || defined(SK_CPU_PPC64)) && \ + !defined(SK_ENABLE_OPTIMIZE_SIZE) && \ + SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3 - // The order of these includes is important: - // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget -Index: chromium-123.0.6312.58/third_party/skia/src/core/SkBlitMask_opts.cpp +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBlitMask_opts.cpp ++++ chromium-124.0.6367.60/third_party/skia/src/core/SkBlitMask_opts.cpp @@ -25,7 +25,7 @@ namespace SkOpts { static bool init() { #if defined(SK_ENABLE_OPTIMIZE_SIZE) @@ -630,10 +582,10 @@ Index: chromium-123.0.6312.58/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-123.0.6312.58/third_party/skia/src/core/SkBitmapProcState_opts.cpp +Index: chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts.cpp =================================================================== ---- 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 +--- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp ++++ chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts.cpp @@ -25,7 +25,7 @@ namespace SkOpts { static bool init() { #if defined(SK_ENABLE_OPTIMIZE_SIZE) @@ -643,10 +595,10 @@ Index: chromium-123.0.6312.58/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-123.0.6312.58/third_party/skia/src/core/SkCpu.h +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkCpu.h ++++ chromium-124.0.6367.60/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 @@ -656,10 +608,10 @@ Index: chromium-123.0.6312.58/third_party/skia/src/core/SkCpu.h #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 features |= SSE1; #endif -Index: chromium-123.0.6312.58/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp ++++ chromium-124.0.6367.60/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp @@ -8,7 +8,7 @@ #include "include/private/base/SkFeatures.h" #include "src/core/SkOptsTargets.h" @@ -669,10 +621,10 @@ Index: chromium-123.0.6312.58/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-123.0.6312.58/third_party/skia/include/private/base/SkFeatures.h +Index: chromium-124.0.6367.60/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 +--- chromium-124.0.6367.60.orig/third_party/skia/include/private/base/SkFeatures.h ++++ chromium-124.0.6367.60/third_party/skia/include/private/base/SkFeatures.h @@ -63,6 +63,8 @@ #if defined(__i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64) @@ -682,15 +634,94 @@ Index: chromium-123.0.6312.58/third_party/skia/include/private/base/SkFeatures.h #endif /** -Index: chromium-123.0.6312.58/third_party/skia/modules/skcms/src/skcms_internals.h +Index: chromium-124.0.6367.60/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" { +--- chromium-124.0.6367.60.orig/third_party/skia/modules/skcms/src/skcms_internals.h ++++ chromium-124.0.6367.60/third_party/skia/modules/skcms/src/skcms_internals.h +@@ -47,6 +47,7 @@ extern "C" { && !defined(__EMSCRIPTEN__) \ && !defined(__arm__) \ && !defined(__riscv) \ + && !defined(__powerpc64__) \ + && !defined(__loongarch__) \ && !defined(_WIN32) && !defined(__SYMBIAN32__) #define SKCMS_HAS_MUSTTAIL 1 - #endif +Index: chromium-124.0.6367.60/third_party/skia/src/opts/SkSwizzler_opts.inc +=================================================================== +--- chromium-124.0.6367.60.orig/third_party/skia/src/opts/SkSwizzler_opts.inc ++++ chromium-124.0.6367.60/third_party/skia/src/opts/SkSwizzler_opts.inc +@@ -14,7 +14,10 @@ + #include + #include + +-#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 ++#if defined(SK_PPC64_HAS_SSE_COMPAT) ++ #include ++ #include ++#elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 + #include + #elif defined(SK_ARM_HAS_NEON) + #include +@@ -61,6 +64,33 @@ SI float reciprocal_alpha_times_255(floa + SI float reciprocal_alpha(float a) { + return reciprocal_alpha_portable(a); + } ++#elif defined(SK_PPC64_HAS_SSE_COMPAT) ++// -- VSX -- Harden against timing attacks ++SK_NO_SANITIZE("float-divide-by-zero") ++static inline float reciprocal_alpha_times_255(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(vA != vC)}; ++ ++ return vec_and(vCmp, q)[0]; ++} ++ ++SK_NO_SANITIZE("float-divide-by-zero") ++static inline float reciprocal_alpha(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(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-124.0.6367.60/third_party/skia/src/core/SkBlitter_ARGB32.cpp +=================================================================== +--- chromium-124.0.6367.60.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp ++++ chromium-124.0.6367.60/third_party/skia/src/core/SkBlitter_ARGB32.cpp +@@ -372,7 +372,11 @@ static inline SkPMColor blend_lcd16_opaq + // Load four destination pixels into dst_sse. + __m128i dst_sse = _mm_load_si128(d); + // Load four 16-bit masks into lower half of mask_sse. ++#if defined(SK_CPU_PPC64) ++ __m128i mask_sse = _mm_loadl_epi64(reinterpret_cast(mask)); ++#else + __m128i mask_sse = _mm_loadu_si64(mask); ++#endif + + // Check whether masks are equal to 0 and get the highest bit + // of each byte of result, if masks are all zero, we will get +@@ -438,7 +442,12 @@ static inline SkPMColor blend_lcd16_opaq + // Load four destination pixels into dst_sse. + __m128i dst_sse = _mm_load_si128(d); + // Load four 16-bit masks into lower half of mask_sse. ++#if defined(SK_CPU_PPC64) ++ __m128i mask_sse = _mm_loadl_epi64(reinterpret_cast(mask)); ++#else + __m128i mask_sse = _mm_loadu_si64(mask); ++#endif ++ + + // Check whether masks are equal to 0 and get the highest bit + // of each byte of result, if masks are all zero, we will get diff --git a/SOURCES/use-sysconf-page-size-on-ppc64.patch b/SOURCES/use-sysconf-page-size-on-ppc64.patch index 67e9f08e..1d8b6161 100644 --- a/SOURCES/use-sysconf-page-size-on-ppc64.patch +++ b/SOURCES/use-sysconf-page-size-on-ppc64.patch @@ -1,8 +1,6 @@ -Index: chromium-120.0.6099.71/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h -=================================================================== ---- chromium-120.0.6099.71.orig/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h -+++ chromium-120.0.6099.71/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h -@@ -172,7 +172,11 @@ SystemPageBaseMask() { +--- a/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h ++++ b/base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h +@@ -176,7 +176,11 @@ SystemPageBaseMask() { return ~SystemPageOffsetMask(); } @@ -13,12 +11,10 @@ Index: chromium-120.0.6099.71/base/allocator/partition_allocator/src/partition_a +#endif constexpr size_t kPageMetadataSize = 1 << kPageMetadataShift; - } // namespace partition_alloc::internal -Index: chromium-120.0.6099.71/base/allocator/partition_allocator/src/partition_alloc/partition_page.h -=================================================================== ---- chromium-120.0.6099.71.orig/base/allocator/partition_allocator/src/partition_alloc/partition_page.h -+++ chromium-120.0.6099.71/base/allocator/partition_allocator/src/partition_alloc/partition_page.h -@@ -90,7 +90,11 @@ struct SlotSpanMetadata { + } // namespace internal +--- a/base/allocator/partition_allocator/src/partition_alloc/partition_page.h ++++ b/base/allocator/partition_allocator/src/partition_alloc/partition_page.h +@@ -86,7 +86,11 @@ struct SlotSpanMetadata { // CHECK()ed in AllocNewSlotSpan(). // The maximum number of bits needed to cover all currently supported OSes. @@ -30,7 +26,7 @@ Index: chromium-120.0.6099.71/base/allocator/partition_allocator/src/partition_a static_assert(kMaxSlotsPerSlotSpan < (1 << kMaxSlotsPerSlotSpanBits), ""); // |marked_full| isn't equivalent to being full. Slot span is marked as full -@@ -104,7 +108,11 @@ struct SlotSpanMetadata { +@@ -100,7 +104,11 @@ struct SlotSpanMetadata { private: const uint32_t can_store_raw_size_ : 1; uint32_t freelist_is_sorted_ : 1; @@ -42,10 +38,8 @@ Index: chromium-120.0.6099.71/base/allocator/partition_allocator/src/partition_a // If |in_empty_cache_|==1, |empty_cache_index| is undefined and mustn't be // used. uint16_t in_empty_cache_ : 1; -Index: chromium-120.0.6099.71/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h -=================================================================== ---- chromium-120.0.6099.71.orig/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h -+++ chromium-120.0.6099.71/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h +--- a/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h ++++ b/base/allocator/partition_allocator/src/partition_alloc/partition_page_constants.h @@ -21,6 +21,11 @@ static constexpr size_t kMaxSlotsPerSlot // currently (kMaxSlotsPerSlotSpanBits == 13) not supported by the code, // so we use the 16 kiB maximum (64 kiB will crash). diff --git a/SPECS/chromium.spec b/SPECS/chromium.spec index 6404a506..c284cd03 100644 --- a/SPECS/chromium.spec +++ b/SPECS/chromium.spec @@ -184,9 +184,9 @@ %endif # enable qt backend -%if 0%{?fedora} >= 40 -%global use_qt6 1 -%global use_qt 0 +%if 0%{?rhel} > 9 || 0%{?fedora} +%global use_qt6 0 +%global use_qt 1 %else %global use_qt6 0 %global use_qt 1 @@ -306,7 +306,7 @@ %endif Name: chromium%{chromium_channel} -Version: 124.0.6367.60 +Version: 124.0.6367.78 Release: 1%{?dist} Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use Url: http://www.chromium.org/Home @@ -433,7 +433,7 @@ Patch304: chromium-117-string-convert.patch # disable memory tagging in epel7 and epel8 on aarch64 due to new feature IFUNC-Resolver # not supported in old glibc < 2.30, error: fatal error: 'sys/ifunc.h' file not found -Patch305: chromium-122-arm64-memory_tagging.patch +Patch305: chromium-124-arm64-memory_tagging.patch Patch306: chromium-119-assert.patch @@ -569,6 +569,7 @@ Patch415: fix-clang-selection.patch # upstream patches # 64kpage support on el8 Patch500: chromium-124-el8-support-64kpage.patch +Patch501: chromium-124-wayland-regression.patch # Use chromium-latest.py to generate clean tarball from released build tarballs, found here: # http://build.chromium.org/buildbot/official/ @@ -1326,6 +1327,7 @@ udev. %patch -P500 -p1 -b .el8-support-64kpage.patch %endif %endif +%patch -P501 -p1 -b .wayland-regression # Change shebang in all relevant files in this directory and all subdirectories # See `man find` for how the `-exec command {} +` syntax works @@ -2119,6 +2121,15 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt %endif %changelog +* Wed Apr 24 2024 Than Ngo - 124.0.6367.78-1 +- update to 124.0.6367.78 + * Critical CVE-2024-4058: Type Confusion in ANGLE + * High CVE-2024-4059: Out of bounds read in V8 API + * High CVE-2024-4060: Use after free in Dawn + +* Sat Apr 20 2024 Than Ngo - 124.0.6367.60-2 +- fix waylang regression + * Tue Apr 16 2024 Than Ngo - 124.0.6367.60-1 - update to 124.0.6367.60