From cd1739f1136641f17fd70fdf494bae40a649e1ea Mon Sep 17 00:00:00 2001 From: Than Ngo Date: Apr 22 2024 18:29:56 +0000 Subject: refresh ppc64 patches --- diff --git a/0001-Add-PPC64-support-for-boringssl.patch b/0001-Add-PPC64-support-for-boringssl.patch index e0048cb..52c6cb4 100644 --- a/0001-Add-PPC64-support-for-boringssl.patch +++ b/0001-Add-PPC64-support-for-boringssl.patch @@ -1,6 +1,7 @@ -diff -up chromium-124.0.6367.60/third_party/boringssl/src/cmake/perlasm.cmake.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/cmake/perlasm.cmake ---- chromium-124.0.6367.60/third_party/boringssl/src/cmake/perlasm.cmake.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/cmake/perlasm.cmake 2024-04-20 23:50:47.151392505 +0200 +Index: chromium-124.0.6367.60/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} @@ -19,9 +20,30 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/cmake/perlasm.cmake.00 elseif(arch STREQUAL "x86") add_perlasm_target("${dest}-apple.S" ${src} macosx -fPIC ${ARGN}) add_perlasm_target("${dest}-linux.S" ${src} elf -fPIC ${ARGN}) -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/abi_self_test.cc.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/abi_self_test.cc ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/abi_self_test.cc.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/abi_self_test.cc 2024-04-20 23:45:15.523300162 +0200 +Index: chromium-124.0.6367.60/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) + perlasm(CRYPTO_SOURCES arm test/trampoline-armv4 test/asm/trampoline-armv4.pl) ++perlasm(CRYPTO_SOURCES ppc64le test/trampoline-ppc test/asm/trampoline-ppc.pl) + perlasm(CRYPTO_SOURCES x86 chacha/chacha-x86 chacha/asm/chacha-x86.pl) + perlasm(CRYPTO_SOURCES x86 test/trampoline-x86 test/asm/trampoline-x86.pl) + perlasm(CRYPTO_SOURCES x86_64 chacha/chacha-x86_64 chacha/asm/chacha-x86_64.pl) +@@ -137,6 +138,7 @@ add_library( + cpu_arm_freebsd.c + cpu_arm_linux.c + cpu_intel.c ++ cpu_ppc64le.c + crypto.c + curve25519/curve25519.c + curve25519/curve25519_64_adx.c +Index: chromium-124.0.6367.60/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); } @@ -312,28 +334,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/abi_self_test.c + CHECK_ABI_NO_UNWIND(abi_test_clobber_lr); +} +#endif // OPENSSL_PPC64LE && SUPPORTS_ABI_TEST -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/CMakeLists.txt.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/CMakeLists.txt ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/CMakeLists.txt.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/CMakeLists.txt 2024-04-20 23:45:15.523300162 +0200 -@@ -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) - perlasm(CRYPTO_SOURCES arm test/trampoline-armv4 test/asm/trampoline-armv4.pl) -+perlasm(CRYPTO_SOURCES ppc64le test/trampoline-ppc test/asm/trampoline-ppc.pl) - perlasm(CRYPTO_SOURCES x86 chacha/chacha-x86 chacha/asm/chacha-x86.pl) - perlasm(CRYPTO_SOURCES x86 test/trampoline-x86 test/asm/trampoline-x86.pl) - perlasm(CRYPTO_SOURCES x86_64 chacha/chacha-x86_64 chacha/asm/chacha-x86_64.pl) -@@ -137,6 +138,7 @@ add_library( - cpu_arm_freebsd.c - cpu_arm_linux.c - cpu_intel.c -+ cpu_ppc64le.c - crypto.c - curve25519/curve25519.c - curve25519/curve25519_64_adx.c -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/cpu_ppc64le.c.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/cpu_ppc64le.c ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/cpu_ppc64le.c.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.523300162 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/cpu_ppc64le.c 2024-04-20 23:45:15.523300162 +0200 +Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/cpu_ppc64le.c +=================================================================== +--- /dev/null ++++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/cpu_ppc64le.c @@ -0,0 +1,38 @@ +/* Copyright (c) 2016, Google Inc. + * @@ -373,9 +377,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/cpu_ppc64le.c.0 +} + +#endif // OPENSSL_PPC64LE -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/crypto.c.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/crypto.c ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/crypto.c.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/crypto.c 2024-04-20 23:45:15.523300162 +0200 +Index: chromium-124.0.6367.60/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"); @@ -414,9 +419,23 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/crypto.c.0001-A #elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64) #include -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.531300378 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl 2024-04-20 23:45:15.531300378 +0200 +Index: chromium-124.0.6367.60/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) + perlasm(BCM_SOURCES arm vpaes-armv7 aes/asm/vpaes-armv7.pl) ++perlasm(BCM_SOURCES ppc64le aesp8-ppc aes/asm/aesp8-ppc.pl) ++perlasm(BCM_SOURCES ppc64le ghashp8-ppc modes/asm/ghashp8-ppc.pl) + 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-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl +=================================================================== +--- /dev/null ++++ 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. @@ -4227,9 +4246,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/ +} + +close STDOUT or die "error closing STDOUT: $!"; -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h 2024-04-20 23:45:15.531300378 +0200 +Index: chromium-124.0.6367.60/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 @@ -4243,9 +4263,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/aes/ #endif #endif // !NO_ASM -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bcm.c.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bcm.c ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bcm.c.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bcm.c 2024-04-20 23:45:15.531300378 +0200 +Index: chromium-124.0.6367.60/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" @@ -4254,9 +4275,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bcm. #include "sha/sha1.c" #include "sha/sha256.c" #include "sha/sha512.c" -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c 2024-04-20 23:45:15.531300378 +0200 +Index: chromium-124.0.6367.60/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) { } @@ -4281,9 +4303,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/bn/b if ((size_t)bn->width <= words) { if (!bn_wexpand(bn, words)) { return 0; -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c 2024-04-20 23:45:15.532300404 +0200 +Index: chromium-124.0.6367.60/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) @@ -4293,21 +4316,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/ciph #else return 0; #endif -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/CMakeLists.txt.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/CMakeLists.txt ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/CMakeLists.txt.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/CMakeLists.txt 2024-04-20 23:45:15.524300189 +0200 -@@ -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) - perlasm(BCM_SOURCES arm vpaes-armv7 aes/asm/vpaes-armv7.pl) -+perlasm(BCM_SOURCES ppc64le aesp8-ppc aes/asm/aesp8-ppc.pl) -+perlasm(BCM_SOURCES ppc64le ghashp8-ppc modes/asm/ghashp8-ppc.pl) - 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) -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.532300404 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl 2024-04-20 23:45:15.532300404 +0200 +Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl +=================================================================== +--- /dev/null ++++ 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. @@ -4980,9 +4992,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/mode +} + +close STDOUT or die "error closing STDOUT: $!"; # enforce flush -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c 2024-04-20 23:45:15.532300404 +0200 +Index: chromium-124.0.6367.60/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; @@ -4997,9 +5010,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/mode #endif gcm_init_nohw(out_table, H); -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc 2024-04-20 23:45:15.532300404 +0200 +Index: chromium-124.0.6367.60/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) { } } @@ -5016,9 +5030,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/mode +#endif // GHASH_ASM_PPC64LE } #endif // SUPPORTS_ABI_TEST && !OPENSSL_NO_ASM -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h 2024-04-20 23:45:15.532300404 +0200 +Index: chromium-124.0.6367.60/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 @@ -5033,9 +5048,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/mode #endif #endif // OPENSSL_NO_ASM -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h 2024-04-20 23:45:15.532300404 +0200 +Index: chromium-124.0.6367.60/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) @@ -5045,9 +5061,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/rand #elif defined(OPENSSL_RISCV64) #define EXPECTED_NR_getrandom 278 #endif -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c 2024-04-20 23:45:15.532300404 +0200 +Index: chromium-124.0.6367.60/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 @@ -5060,9 +5077,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/rand CRYPTO_MUTEX_lock_read(&state->clear_drbg_lock); #endif if (!CTR_DRBG_reseed(&state->drbg, seed, reseed_additional_data, -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.532300404 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h 2024-04-20 23:59:24.306417702 +0200 +Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h +=================================================================== +--- 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 @@ -5072,18 +5090,19 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/ +// 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[5], const uint8_t *data, -+ size_t num); ++#define SHA1_ASM_PPC64 ++void sha1_block_data_order_ppc64(uint32_t *state, const uint8_t *in, ++ size_t num_blocks); +#endif + + // Define SHA{n}[_{variant}]_ASM if sha{n}_block_data_order[_{variant}] is // defined in assembly. -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.533300432 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c 2024-04-20 23:45:15.533300432 +0200 +Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c +=================================================================== +--- /dev/null ++++ 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. @@ -5156,7 +5175,7 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/ + +#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)); } + @@ -5274,7 +5293,7 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/ + (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]; @@ -5446,9 +5465,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/fipsmodule/sha/ +#undef BODY_20_39 +#undef BODY_40_59 +#undef BODY_60_79 -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/internal.h.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/internal.h ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/internal.h.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:36.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/internal.h 2024-04-20 23:45:15.533300432 +0200 +Index: chromium-124.0.6367.60/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" { @@ -5475,9 +5495,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/internal.h.0001 #if defined(BORINGSSL_DISPATCH_TEST) // Runtime CPU dispatch testing support -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.533300432 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl 2024-04-20 23:45:15.533300432 +0200 +Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl +=================================================================== +--- /dev/null ++++ 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. @@ -5799,9 +5820,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/perlasm/ppc-xla +___ + +close STDOUT or die "error closing STDOUT: $!"; -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/abi_test.h.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/abi_test.h ---- chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/abi_test.h.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:37.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/abi_test.h 2024-04-20 23:45:15.533300432 +0200 +Index: chromium-124.0.6367.60/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) @@ -5908,9 +5930,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/abi_test.h static_assert(sizeof...(args) <= 8, "too many arguments for abi_test_trampoline"); -diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.533300432 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl 2024-04-20 23:45:15.533300432 +0200 +Index: chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl +=================================================================== +--- /dev/null ++++ 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. @@ -6174,9 +6197,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/crypto/test/asm/trampo + +print $code; +close STDOUT or die "error closing STDOUT: $!"; -diff -up chromium-124.0.6367.60/third_party/boringssl/src/include/openssl/target.h.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/include/openssl/target.h ---- chromium-124.0.6367.60/third_party/boringssl/src/include/openssl/target.h.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:37.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/include/openssl/target.h 2024-04-20 23:45:15.533300432 +0200 +Index: chromium-124.0.6367.60/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 @@ -6187,9 +6211,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/include/openssl/target #elif defined(__MIPSEL__) && !defined(__LP64__) #define OPENSSL_32_BIT #define OPENSSL_MIPS -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:38.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc 2024-04-20 23:45:15.533300432 +0200 +Index: chromium-124.0.6367.60/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) @@ -6199,9 +6224,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/acvp/mo #else #error "FIPS build not supported on this architecture" #endif -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate.go.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate.go ---- chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate.go.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:38.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate.go 2024-04-20 23:45:15.534300459 +0200 +Index: chromium-124.0.6367.60/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 @@ -6801,9 +6827,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat case "str", "bl", "ldr", "st1": return aarch64 } -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate.peg.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate.peg ---- chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate.peg.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:38.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate.peg 2024-04-20 23:45:15.534300459 +0200 +Index: chromium-124.0.6367.60/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. */ @@ -6813,9 +6840,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat # https://github.com/pointlander/peg. delocate.go has a go:generate line for # rebuilding delocate.peg.go from this file. -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-15 22:34:38.000000000 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go 2024-04-20 23:45:15.534300459 +0200 +Index: chromium-124.0.6367.60/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{ @@ -6828,9 +6856,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat {"x86_64-Basic", []string{"in.s"}, "out.s"}, {"x86_64-BSS", []string{"in.s"}, "out.s"}, {"x86_64-GOTRewrite", []string{"in.s"}, "out.s"}, -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.534300459 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s 2024-04-20 23:45:15.534300459 +0200 +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s +=================================================================== +--- /dev/null ++++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s @@ -0,0 +1,9 @@ + .text +foo: @@ -6841,9 +6870,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat + .localentry foo,.-foo +.LVL0: + bl -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.534300459 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s 2024-04-20 23:45:15.534300459 +0200 +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s +=================================================================== +--- /dev/null ++++ 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" @@ -6907,17 +6937,19 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat +.byte 0xff +.byte 0x31 +.byte 0x80 -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.534300459 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s 2024-04-20 23:45:15.534300459 +0200 +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s +=================================================================== +--- /dev/null ++++ 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) -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.534300459 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s 2024-04-20 23:45:15.534300459 +0200 +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s +=================================================================== +--- /dev/null ++++ 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" @@ -6991,14 +7023,54 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat +.byte 0xff +.byte 0x31 +.byte 0x80 -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.535300486 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s 2024-04-20 23:45:15.535300486 +0200 -@@ -0,0 +1,226 @@ +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s +=================================================================== +--- /dev/null ++++ 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 + .section ".toc","aw" + .section ".text" ++ .section .rodata ++ .align 3 ++ .type kString, @object ++ .size kString, 12 ++kString: ++ .string "hello world" ++ .globl kExportedString ++ .align 3 ++ .type kExportedString, @object ++ .size kExportedString, 26 ++kExportedString: ++ .string "hello world, more visibly" ++ .align 2 ++ .type kGiantArray, @object ++ .size kGiantArray, 400000 ++kGiantArray: ++ .long 1 ++ .long 0 ++ .zero 399992 ++ .lcomm bss,20,4 ++ .type bss, @object ++ .align 3 ++.LC1: ++ .string "kString is %p\n" ++ .align 3 ++.LC2: ++ .string "kExportedString is %p\n" ++ .align 3 ++.LC4: ++ .string "function is %p\n" ++ .align 3 ++.LC5: ++ .string "exported_function is %p\n" ++ .align 3 ++.LC7: ++ .string "&kString[5] is %p\n" ++ .align 3 ++.LC9: ++ .string "&kGiantArray[0x12345] is %p\n" + .section ".toc","aw" +.LC0: + .quad stderr @@ -7006,234 +7078,180 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat + .quad kExportedString +.LC6: + .quad exported_function ++.LC8: ++ .quad kString+5 ++.LC10: ++ .quad kGiantArray+298260 + .section ".text" + .align 2 -+ .p2align 4,,15 -+ .globl exported_function -+ .type exported_function, @function -+exported_function: ++ .type function, @function ++function: +0: addis 2,12,.TOC.-0b@ha + addi 2,2,.TOC.-0b@l -+ .localentry exported_function,.-exported_function ++ .localentry function,.-function + mflr 0 -+ std 19,-104(1) -+ std 20,-96(1) -+ std 21,-88(1) -+ std 22,-80(1) -+ addis 21,2,.LC1@toc@ha -+ addis 22,2,.LC2@toc@ha -+ std 23,-72(1) -+ std 24,-64(1) -+ addis 23,2,.LC4@toc@ha -+ addis 24,2,function@toc@ha -+ std 25,-56(1) -+ std 26,-48(1) -+ addis 25,2,.LC5@toc@ha -+ addis 26,2,.LC7@toc@ha -+ std 27,-40(1) -+ std 28,-32(1) -+ addis 28,2,.LC8@toc@ha -+ addi 21,21,.LC1@toc@l -+ std 29,-24(1) -+ std 30,-16(1) -+ addis 29,2,.LANCHOR0@toc@ha -+ addi 22,22,.LC2@toc@l -+ std 31,-8(1) + std 0,16(1) -+ addi 29,29,.LANCHOR0@toc@l -+ addi 23,23,.LC4@toc@l -+ stdu 1,-208(1) -+ addis 31,2,.LC0@toc@ha # gpr load fusion, type long -+ ld 31,.LC0@toc@l(31) -+ addis 19,2,.LC3@toc@ha # gpr load fusion, type long -+ ld 19,.LC3@toc@l(19) -+ addis 30,29,0x5 -+ addi 24,24,function@toc@l -+ addis 20,2,.LC6@toc@ha # gpr load fusion, type long -+ ld 20,.LC6@toc@l(20) -+ addi 25,25,.LC5@toc@l -+ addi 26,26,.LC7@toc@l -+ addi 27,29,5 -+ addi 28,28,.LC8@toc@l -+ addi 30,30,-29404 -+ .p2align 4,,15 -+.L2: -+ ld 3,0(31) -+ mr 5,21 -+ mr 6,29 -+ li 4,1 -+ bl __fprintf_chk ++ std 31,-8(1) ++ stdu 1,-112(1) ++ mr 31,1 ++ addis 10,2,.LC0@toc@ha ++ ld 9,.LC0@toc@l(10) ++ ld 9,0(9) ++ mr 3,9 ++ addis 4,2,.LC1@toc@ha ++ addi 4,4,.LC1@toc@l ++ addis 5,2,kString@toc@ha ++ addi 5,5,kString@toc@l ++ bl fprintf + nop -+ ld 3,0(31) -+ mr 5,22 -+ mr 6,19 -+ li 4,1 -+ bl __fprintf_chk ++ addis 10,2,.LC0@toc@ha ++ ld 9,.LC0@toc@l(10) ++ ld 9,0(9) ++ mr 3,9 ++ addis 4,2,.LC2@toc@ha ++ addi 4,4,.LC2@toc@l ++ addis 9,2,.LC3@toc@ha ++ ld 5,.LC3@toc@l(9) ++ bl fprintf + nop -+ ld 3,0(31) -+ mr 5,23 -+ mr 6,24 -+ li 4,1 -+ bl __fprintf_chk ++ addis 10,2,.LC0@toc@ha ++ ld 9,.LC0@toc@l(10) ++ ld 9,0(9) ++ mr 3,9 ++ addis 4,2,.LC4@toc@ha ++ addi 4,4,.LC4@toc@l ++ addis 5,2,function@toc@ha ++ addi 5,5,function@toc@l ++ bl fprintf + nop -+ ld 3,0(31) -+ mr 5,25 -+ mr 6,20 -+ li 4,1 -+ bl __fprintf_chk ++ addis 10,2,.LC0@toc@ha ++ ld 9,.LC0@toc@l(10) ++ ld 9,0(9) ++ mr 3,9 ++ addis 4,2,.LC5@toc@ha ++ addi 4,4,.LC5@toc@l ++ addis 9,2,.LC6@toc@ha ++ ld 5,.LC6@toc@l(9) ++ bl fprintf + nop -+ ld 3,0(31) -+ mr 5,26 -+ mr 6,27 -+ li 4,1 -+ bl __fprintf_chk ++ addis 10,2,.LC0@toc@ha ++ ld 9,.LC0@toc@l(10) ++ ld 9,0(9) ++ mr 3,9 ++ addis 4,2,.LC7@toc@ha ++ addi 4,4,.LC7@toc@l ++ addis 9,2,.LC8@toc@ha ++ ld 5,.LC8@toc@l(9) ++ bl fprintf + nop -+ ld 3,0(31) -+ li 4,1 -+ mr 5,28 -+ mr 6,30 -+ bl __fprintf_chk ++ addis 10,2,.LC0@toc@ha ++ ld 9,.LC0@toc@l(10) ++ ld 9,0(9) ++ mr 3,9 ++ addis 4,2,.LC9@toc@ha ++ addi 4,4,.LC9@toc@l ++ addis 9,2,.LC10@toc@ha ++ ld 5,.LC10@toc@l(9) ++ bl fprintf + nop -+ b .L2 ++ bl exported_function ++ nop ++ mr 3,9 ++ addi 1,31,112 ++ ld 0,16(1) ++ mtlr 0 ++ ld 31,-8(1) ++ blr + .long 0 -+ .byte 0,0,0,1,128,13,0,0 -+ .size exported_function,.-exported_function -+ .section ".toc","aw" -+ .set .LC11,.LC0 -+ .set .LC12,.LC3 -+ .set .LC13,.LC6 -+ .section ".text" ++ .byte 0,0,0,1,128,1,0,1 ++ .size function,.-function + .align 2 -+ .p2align 4,,15 -+ .type function, @function -+function: ++ .globl exported_function ++ .type exported_function, @function ++exported_function: +0: addis 2,12,.TOC.-0b@ha + addi 2,2,.TOC.-0b@l -+ .localentry function,.-function ++ .localentry exported_function,.-exported_function + mflr 0 -+ std 31,-8(1) -+ addis 31,2,.LC11@toc@ha # gpr load fusion, type long -+ ld 31,.LC11@toc@l(31) -+ addis 5,2,.LC1@toc@ha -+ std 30,-16(1) -+ addis 30,2,.LANCHOR0@toc@ha -+ addi 5,5,.LC1@toc@l -+ addi 30,30,.LANCHOR0@toc@l -+ li 4,1 -+ mr 6,30 + std 0,16(1) -+ stdu 1,-112(1) -+ ld 3,0(31) -+ bl __fprintf_chk -+ nop -+ addis 6,2,.LC12@toc@ha # gpr load fusion, type long -+ ld 6,.LC12@toc@l(6) -+ ld 3,0(31) -+ addis 5,2,.LC2@toc@ha -+ li 4,1 -+ addi 5,5,.LC2@toc@l -+ bl __fprintf_chk -+ nop -+ ld 3,0(31) -+ addis 5,2,.LC4@toc@ha -+ addis 6,2,function@toc@ha -+ addi 5,5,.LC4@toc@l -+ addi 6,6,function@toc@l -+ li 4,1 -+ bl __fprintf_chk -+ nop -+ addis 6,2,.LC13@toc@ha # gpr load fusion, type long -+ ld 6,.LC13@toc@l(6) -+ ld 3,0(31) -+ addis 5,2,.LC5@toc@ha -+ li 4,1 -+ addi 5,5,.LC5@toc@l -+ bl __fprintf_chk -+ nop -+ ld 3,0(31) -+ addis 5,2,.LC7@toc@ha -+ addi 6,30,5 -+ addi 5,5,.LC7@toc@l -+ li 4,1 -+ bl __fprintf_chk -+ nop -+ ld 3,0(31) -+ addis 6,30,0x5 -+ addis 5,2,.LC8@toc@ha -+ li 4,1 -+ addi 5,5,.LC8@toc@l -+ addi 6,6,-29404 -+ bl __fprintf_chk -+ nop -+ bl exported_function -+ nop -+ addi 1,1,112 ++ std 31,-8(1) ++ stdu 1,-48(1) ++ mr 31,1 ++ bl function ++ mr 3,9 ++ addi 1,31,48 + ld 0,16(1) -+ ld 30,-16(1) -+ ld 31,-8(1) + mtlr 0 ++ ld 31,-8(1) + blr + .long 0 -+ .byte 0,0,0,1,128,2,0,0 -+ .size function,.-function -+ .globl kExportedString -+ .section .rodata -+ .align 4 -+ .set .LANCHOR0,. + 0 ++ .byte 0,0,0,1,128,1,0,1 ++ .size exported_function,.-exported_function ++ .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" ++ .section .note.GNU-stack,"",@progbits +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s +=================================================================== +--- /dev/null ++++ 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" ++.loc 1 1 0 ++BORINGSSL_bcm_text_start: ++ .file "foo.c" ++ .abiversion 2 ++ .section ".toc","aw" ++# WAS .section ".text" ++.text ++# WAS .section .rodata ++.text ++ .align 3 + .type kString, @object + .size kString, 12 ++.LkString_local_target: +kString: + .string "hello world" -+ .zero 4 ++ .globl kExportedString ++ .align 3 ++ .type kExportedString, @object ++ .size kExportedString, 26 ++.LkExportedString_local_target: ++kExportedString: ++ .string "hello world, more visibly" ++ .align 2 + .type kGiantArray, @object + .size kGiantArray, 400000 ++.LkGiantArray_local_target: +kGiantArray: + .long 1 + .long 0 + .zero 399992 -+ .type kExportedString, @object -+ .size kExportedString, 26 -+kExportedString: -+ .string "hello world, more visibly" -+ .section .rodata.str1.8,"aMS",@progbits,1 ++ .lcomm bss,20,4 ++ .type bss, @object + .align 3 +.LC1: ++ + .string "kString is %p\n" -+ .zero 1 ++ .align 3 +.LC2: ++ + .string "kExportedString is %p\n" -+ .zero 1 ++ .align 3 +.LC4: ++ + .string "function is %p\n" ++ .align 3 +.LC5: ++ + .string "exported_function is %p\n" -+ .zero 7 ++ .align 3 +.LC7: ++ + .string "&kString[5] is %p\n" -+ .zero 5 -+.LC8: ++ .align 3 ++.LC9: ++ + .string "&kGiantArray[0x12345] is %p\n" -+ .section ".bss" -+ .align 2 -+ .type bss, @object -+ .size bss, 20 -+bss: -+ .zero 20 -+ .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" -+ .section .note.GNU-stack,"",@progbits -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.535300486 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s 2024-04-20 23:45:15.535300486 +0200 -@@ -0,0 +1,677 @@ -+.text -+.file 1 "inserted_by_delocate.c" -+.loc 1 1 0 -+BORINGSSL_bcm_text_start: -+ .file "foo.c" -+ .abiversion 2 -+ .section ".toc","aw" -+# WAS .section ".text" -+.text + .section ".toc","aw" +.LC0: + @@ -7244,14 +7262,18 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat +.LC6: + + .quad exported_function ++.LC8: ++ ++ .quad kString+5 ++.LC10: ++ ++ .quad kGiantArray+298260 +# WAS .section ".text" +.text + .align 2 -+ .p2align 4,,15 -+ .globl exported_function -+ .type exported_function, @function -+.Lexported_function_local_target: -+exported_function: ++ .type function, @function ++.Lfunction_local_target: ++function: +0: +999: + addis 2, 12, .LBORINGSSL_external_toc-999b@ha @@ -7259,533 +7281,355 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat + ld 12, 0(2) + add 2, 2, 12 +# WAS addi 2,2,.TOC.-0b@l -+ .localentry exported_function,.-exported_function -+.Lexported_function_local_entry: ++ .localentry function,.-function ++.Lfunction_local_entry: + mflr 0 -+ std 19,-104(1) -+ std 20,-96(1) -+ std 21,-88(1) -+ std 22,-80(1) -+# WAS addis 21,2,.LC1@toc@ha -+# WAS addis 22,2,.LC2@toc@ha -+ std 23,-72(1) -+ std 24,-64(1) -+# WAS addis 23,2,.LC4@toc@ha -+# WAS addis 24,2,function@toc@ha -+ std 25,-56(1) -+ std 26,-48(1) -+# WAS addis 25,2,.LC5@toc@ha -+# WAS addis 26,2,.LC7@toc@ha -+ std 27,-40(1) -+ std 28,-32(1) -+# WAS addis 28,2,.LC8@toc@ha -+# WAS addi 21,21,.LC1@toc@l ++ std 0,16(1) ++ std 31,-8(1) ++ stdu 1,-112(1) ++ mr 31,1 ++# WAS addis 10,2,.LC0@toc@ha ++# WAS ld 9,.LC0@toc@l(10) + addi 1, 1, -288 -+ mflr 21 -+ std 21, -8(1) ++ mflr 9 ++ std 9, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC1 ++ bl .Lbcm_loadtoc__dot_LC0 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 21, -24(1) ++ ld 9, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ std 29,-24(1) -+ std 30,-16(1) -+# WAS addis 29,2,.LANCHOR0@toc@ha -+# WAS addi 22,22,.LC2@toc@l ++ ld 9, 0(9) ++ ld 9,0(9) ++ mr 3,9 ++# WAS addis 4,2,.LC1@toc@ha ++# WAS addi 4,4,.LC1@toc@l + addi 1, 1, -288 -+ mflr 22 -+ std 22, -8(1) ++ mflr 4 ++ std 4, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC2 ++ bl .Lbcm_loadtoc__dot_LC1 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 22, -24(1) ++ ld 4, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ std 31,-8(1) -+ std 0,16(1) -+# WAS addi 29,29,.LANCHOR0@toc@l ++# WAS addis 5,2,kString@toc@ha ++# WAS addi 5,5,kString@toc@l + addi 1, 1, -288 -+ mflr 29 -+ std 29, -8(1) ++ mflr 5 ++ std 5, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LANCHOR0 ++ bl .Lbcm_loadtoc__dot_LkString_local_target + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 29, -24(1) ++ ld 5, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+# WAS addi 23,23,.LC4@toc@l ++# WAS bl fprintf ++ bl bcm_redirector_fprintf ++ ld 2, 24(1) ++ nop ++# WAS addis 10,2,.LC0@toc@ha ++# WAS ld 9,.LC0@toc@l(10) + addi 1, 1, -288 -+ mflr 23 -+ std 23, -8(1) ++ mflr 9 ++ std 9, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC4 ++ bl .Lbcm_loadtoc__dot_LC0 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 23, -24(1) ++ ld 9, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ stdu 1,-208(1) -+# WAS addis 31,2,.LC0@toc@ha # gpr load fusion, type long -+# WAS ld 31,.LC0@toc@l(31) ++ ld 9, 0(9) ++ ld 9,0(9) ++ mr 3,9 ++# WAS addis 4,2,.LC2@toc@ha ++# WAS addi 4,4,.LC2@toc@l + addi 1, 1, -288 -+ mflr 31 -+ std 31, -8(1) ++ mflr 4 ++ std 4, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC0 ++ bl .Lbcm_loadtoc__dot_LC2 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 31, -24(1) ++ ld 4, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ ld 31, 0(31) -+# WAS addis 19,2,.LC3@toc@ha # gpr load fusion, type long -+# WAS ld 19,.LC3@toc@l(19) ++# WAS addis 9,2,.LC3@toc@ha ++# WAS ld 5,.LC3@toc@l(9) + addi 1, 1, -288 -+ mflr 19 -+ std 19, -8(1) ++ mflr 5 ++ std 5, -8(1) + std 3, -16(1) + bl .Lbcm_loadtoc__dot_LC3 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 19, -24(1) -+ ld 3, -16(1) -+ addi 1, 1, 288 -+ ld 19, 0(19) -+ addis 30,29,0x5 -+# WAS addi 24,24,function@toc@l -+ addi 1, 1, -288 -+ mflr 24 -+ std 24, -8(1) -+ std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_Lfunction_local_target -+ std 3, -24(1) -+ ld 3, -8(1) -+ mtlr 3 -+ ld 24, -24(1) ++ ld 5, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+# WAS addis 20,2,.LC6@toc@ha # gpr load fusion, type long -+# WAS ld 20,.LC6@toc@l(20) ++ ld 5, 0(5) ++# WAS bl fprintf ++ bl bcm_redirector_fprintf ++ ld 2, 24(1) ++ nop ++# WAS addis 10,2,.LC0@toc@ha ++# WAS ld 9,.LC0@toc@l(10) + addi 1, 1, -288 -+ mflr 20 -+ std 20, -8(1) ++ mflr 9 ++ std 9, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC6 ++ bl .Lbcm_loadtoc__dot_LC0 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 20, -24(1) ++ ld 9, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ ld 20, 0(20) -+# WAS addi 25,25,.LC5@toc@l ++ ld 9, 0(9) ++ ld 9,0(9) ++ mr 3,9 ++# WAS addis 4,2,.LC4@toc@ha ++# WAS addi 4,4,.LC4@toc@l + addi 1, 1, -288 -+ mflr 25 -+ std 25, -8(1) ++ mflr 4 ++ std 4, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC5 ++ bl .Lbcm_loadtoc__dot_LC4 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 25, -24(1) ++ ld 4, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+# WAS addi 26,26,.LC7@toc@l ++# WAS addis 5,2,function@toc@ha ++# WAS addi 5,5,function@toc@l + addi 1, 1, -288 -+ mflr 26 -+ std 26, -8(1) ++ mflr 5 ++ std 5, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC7 ++ bl .Lbcm_loadtoc__dot_Lfunction_local_target + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 26, -24(1) ++ ld 5, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ addi 27,29,5 -+# WAS addi 28,28,.LC8@toc@l ++# WAS bl fprintf ++ bl bcm_redirector_fprintf ++ ld 2, 24(1) ++ nop ++# WAS addis 10,2,.LC0@toc@ha ++# WAS ld 9,.LC0@toc@l(10) + addi 1, 1, -288 -+ mflr 28 -+ std 28, -8(1) ++ mflr 9 ++ std 9, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC8 ++ bl .Lbcm_loadtoc__dot_LC0 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 28, -24(1) ++ ld 9, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ addi 30,30,-29404 -+ .p2align 4,,15 -+.L2: -+ -+ ld 3,0(31) -+ mr 5,21 -+ mr 6,29 -+ li 4,1 -+# WAS bl __fprintf_chk -+ bl bcm_redirector___fprintf_chk -+ ld 2, 24(1) -+ nop -+ ld 3,0(31) -+ mr 5,22 -+ mr 6,19 -+ li 4,1 -+# WAS bl __fprintf_chk -+ bl bcm_redirector___fprintf_chk -+ ld 2, 24(1) -+ nop -+ ld 3,0(31) -+ mr 5,23 -+ mr 6,24 -+ li 4,1 -+# WAS bl __fprintf_chk -+ bl bcm_redirector___fprintf_chk -+ ld 2, 24(1) -+ nop -+ ld 3,0(31) -+ mr 5,25 -+ mr 6,20 -+ li 4,1 -+# WAS bl __fprintf_chk -+ bl bcm_redirector___fprintf_chk -+ ld 2, 24(1) -+ nop -+ ld 3,0(31) -+ mr 5,26 -+ mr 6,27 -+ li 4,1 -+# WAS bl __fprintf_chk -+ bl bcm_redirector___fprintf_chk -+ ld 2, 24(1) -+ nop -+ ld 3,0(31) -+ li 4,1 -+ mr 5,28 -+ mr 6,30 -+# WAS bl __fprintf_chk -+ bl bcm_redirector___fprintf_chk -+ ld 2, 24(1) -+ nop -+ b .L2 -+ .long 0 -+ .byte 0,0,0,1,128,13,0,0 -+ .size exported_function,.-exported_function -+ .section ".toc","aw" -+ .set .LC11,.LC0 -+ .set .LC12,.LC3 -+ .set .LC13,.LC6 -+# WAS .section ".text" -+.text -+ .align 2 -+ .p2align 4,,15 -+ .type function, @function -+.Lfunction_local_target: -+function: -+0: -+999: -+ addis 2, 12, .LBORINGSSL_external_toc-999b@ha -+ addi 2, 2, .LBORINGSSL_external_toc-999b@l -+ ld 12, 0(2) -+ add 2, 2, 12 -+# WAS addi 2,2,.TOC.-0b@l -+ .localentry function,.-function -+.Lfunction_local_entry: -+ mflr 0 -+ std 31,-8(1) -+# WAS addis 31,2,.LC11@toc@ha # gpr load fusion, type long -+# WAS ld 31,.LC11@toc@l(31) ++ ld 9, 0(9) ++ ld 9,0(9) ++ mr 3,9 ++# WAS addis 4,2,.LC5@toc@ha ++# WAS addi 4,4,.LC5@toc@l + addi 1, 1, -288 -+ mflr 31 -+ std 31, -8(1) ++ mflr 4 ++ std 4, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC11 ++ bl .Lbcm_loadtoc__dot_LC5 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 31, -24(1) ++ ld 4, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ ld 31, 0(31) -+# WAS addis 5,2,.LC1@toc@ha -+ std 30,-16(1) -+# WAS addis 30,2,.LANCHOR0@toc@ha -+# WAS addi 5,5,.LC1@toc@l ++# WAS addis 9,2,.LC6@toc@ha ++# WAS ld 5,.LC6@toc@l(9) + addi 1, 1, -288 + mflr 5 + std 5, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC1 ++ bl .Lbcm_loadtoc__dot_LC6 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 + ld 5, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+# WAS addi 30,30,.LANCHOR0@toc@l ++ ld 5, 0(5) ++# WAS bl fprintf ++ bl bcm_redirector_fprintf ++ ld 2, 24(1) ++ nop ++# WAS addis 10,2,.LC0@toc@ha ++# WAS ld 9,.LC0@toc@l(10) + addi 1, 1, -288 -+ mflr 30 -+ std 30, -8(1) ++ mflr 9 ++ std 9, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LANCHOR0 ++ bl .Lbcm_loadtoc__dot_LC0 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 30, -24(1) ++ ld 9, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ li 4,1 -+ mr 6,30 -+ std 0,16(1) -+ stdu 1,-112(1) -+ ld 3,0(31) -+# WAS bl __fprintf_chk -+ bl bcm_redirector___fprintf_chk -+ ld 2, 24(1) -+ nop -+# WAS addis 6,2,.LC12@toc@ha # gpr load fusion, type long -+# WAS ld 6,.LC12@toc@l(6) ++ ld 9, 0(9) ++ ld 9,0(9) ++ mr 3,9 ++# WAS addis 4,2,.LC7@toc@ha ++# WAS addi 4,4,.LC7@toc@l + addi 1, 1, -288 -+ mflr 6 -+ std 6, -8(1) ++ mflr 4 ++ std 4, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC12 ++ bl .Lbcm_loadtoc__dot_LC7 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 6, -24(1) ++ ld 4, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ ld 6, 0(6) -+ ld 3,0(31) -+# WAS addis 5,2,.LC2@toc@ha -+ li 4,1 -+# WAS addi 5,5,.LC2@toc@l ++# WAS addis 9,2,.LC8@toc@ha ++# WAS ld 5,.LC8@toc@l(9) + addi 1, 1, -288 + mflr 5 + std 5, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC2 ++ bl .Lbcm_loadtoc__dot_LC8 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 + ld 5, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+# WAS bl __fprintf_chk -+ bl bcm_redirector___fprintf_chk ++ ld 5, 0(5) ++# WAS bl fprintf ++ bl bcm_redirector_fprintf + ld 2, 24(1) + nop -+ ld 3,0(31) -+# WAS addis 5,2,.LC4@toc@ha -+# WAS addis 6,2,function@toc@ha -+# WAS addi 5,5,.LC4@toc@l ++# WAS addis 10,2,.LC0@toc@ha ++# WAS ld 9,.LC0@toc@l(10) + addi 1, 1, -288 -+ mflr 5 -+ std 5, -8(1) ++ mflr 9 ++ std 9, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC4 ++ bl .Lbcm_loadtoc__dot_LC0 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 5, -24(1) ++ ld 9, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+# WAS addi 6,6,function@toc@l -+ addi 1, 1, -288 -+ mflr 6 -+ std 6, -8(1) -+ std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_Lfunction_local_target -+ std 3, -24(1) -+ ld 3, -8(1) -+ mtlr 3 -+ ld 6, -24(1) -+ ld 3, -16(1) -+ addi 1, 1, 288 -+ li 4,1 -+# WAS bl __fprintf_chk -+ bl bcm_redirector___fprintf_chk -+ ld 2, 24(1) -+ nop -+# WAS addis 6,2,.LC13@toc@ha # gpr load fusion, type long -+# WAS ld 6,.LC13@toc@l(6) -+ addi 1, 1, -288 -+ mflr 6 -+ std 6, -8(1) -+ std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC13 -+ std 3, -24(1) -+ ld 3, -8(1) -+ mtlr 3 -+ ld 6, -24(1) -+ ld 3, -16(1) -+ addi 1, 1, 288 -+ ld 6, 0(6) -+ ld 3,0(31) -+# WAS addis 5,2,.LC5@toc@ha -+ li 4,1 -+# WAS addi 5,5,.LC5@toc@l -+ addi 1, 1, -288 -+ mflr 5 -+ std 5, -8(1) -+ std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC5 -+ std 3, -24(1) -+ ld 3, -8(1) -+ mtlr 3 -+ ld 5, -24(1) -+ ld 3, -16(1) -+ addi 1, 1, 288 -+# WAS bl __fprintf_chk -+ bl bcm_redirector___fprintf_chk -+ ld 2, 24(1) -+ nop -+ ld 3,0(31) -+# WAS addis 5,2,.LC7@toc@ha -+ addi 6,30,5 -+# WAS addi 5,5,.LC7@toc@l ++ ld 9, 0(9) ++ ld 9,0(9) ++ mr 3,9 ++# WAS addis 4,2,.LC9@toc@ha ++# WAS addi 4,4,.LC9@toc@l + addi 1, 1, -288 -+ mflr 5 -+ std 5, -8(1) ++ mflr 4 ++ std 4, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC7 ++ bl .Lbcm_loadtoc__dot_LC9 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 5, -24(1) ++ ld 4, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ li 4,1 -+# WAS bl __fprintf_chk -+ bl bcm_redirector___fprintf_chk -+ ld 2, 24(1) -+ nop -+ ld 3,0(31) -+ addis 6,30,0x5 -+# WAS addis 5,2,.LC8@toc@ha -+ li 4,1 -+# WAS addi 5,5,.LC8@toc@l ++# WAS addis 9,2,.LC10@toc@ha ++# WAS ld 5,.LC10@toc@l(9) + addi 1, 1, -288 + mflr 5 + std 5, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC8 ++ bl .Lbcm_loadtoc__dot_LC10 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 + ld 5, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ addi 6,6,-29404 -+# WAS bl __fprintf_chk -+ bl bcm_redirector___fprintf_chk ++ ld 5, 0(5) ++# WAS bl fprintf ++ bl bcm_redirector_fprintf + ld 2, 24(1) + nop +# WAS bl exported_function + bl .Lexported_function_local_entry + nop -+ addi 1,1,112 ++ mr 3,9 ++ addi 1,31,112 + ld 0,16(1) -+ ld 30,-16(1) -+ ld 31,-8(1) + mtlr 0 ++ ld 31,-8(1) + blr + .long 0 -+ .byte 0,0,0,1,128,2,0,0 ++ .byte 0,0,0,1,128,1,0,1 + .size function,.-function -+ .globl kExportedString -+# WAS .section .rodata -+.text -+ .align 4 -+ .set .LANCHOR0,. + 0 -+ .type kString, @object -+ .size kString, 12 -+.LkString_local_target: -+kString: -+ .string "hello world" -+ .zero 4 -+ .type kGiantArray, @object -+ .size kGiantArray, 400000 -+.LkGiantArray_local_target: -+kGiantArray: -+ .long 1 -+ .long 0 -+ .zero 399992 -+ .type kExportedString, @object -+ .size kExportedString, 26 -+.LkExportedString_local_target: -+kExportedString: -+ .string "hello world, more visibly" -+# WAS .section .rodata.str1.8,"aMS",@progbits,1 -+.text -+ .align 3 -+.LC1: -+ -+ .string "kString is %p\n" -+ .zero 1 -+.LC2: -+ -+ .string "kExportedString is %p\n" -+ .zero 1 -+.LC4: -+ -+ .string "function is %p\n" -+.LC5: -+ -+ .string "exported_function is %p\n" -+ .zero 7 -+.LC7: -+ -+ .string "&kString[5] is %p\n" -+ .zero 5 -+.LC8: -+ -+ .string "&kGiantArray[0x12345] is %p\n" -+ .section ".bss" + .align 2 -+ .type bss, @object -+ .size bss, 20 -+bss: -+.Lbss_local_target: -+ -+ .zero 20 ++ .globl exported_function ++ .type exported_function, @function ++.Lexported_function_local_target: ++exported_function: ++0: ++999: ++ addis 2, 12, .LBORINGSSL_external_toc-999b@ha ++ addi 2, 2, .LBORINGSSL_external_toc-999b@l ++ ld 12, 0(2) ++ add 2, 2, 12 ++# WAS addi 2,2,.TOC.-0b@l ++ .localentry exported_function,.-exported_function ++.Lexported_function_local_entry: ++ mflr 0 ++ std 0,16(1) ++ std 31,-8(1) ++ stdu 1,-48(1) ++ mr 31,1 ++# WAS bl function ++ bl .Lfunction_local_entry ++ mr 3,9 ++ addi 1,31,48 ++ ld 0,16(1) ++ mtlr 0 ++ ld 31,-8(1) ++ blr ++ .long 0 ++ .byte 0,0,0,1,128,1,0,1 ++ .size exported_function,.-exported_function + .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" + .section .note.GNU-stack,"",@progbits +.text +.loc 1 2 0 +BORINGSSL_bcm_text_end: +.section ".toc", "aw" -+.Lredirector_toc___fprintf_chk: -+.quad __fprintf_chk ++.Lredirector_toc_fprintf: ++.quad fprintf +.text -+.type bcm_redirector___fprintf_chk, @function -+bcm_redirector___fprintf_chk: ++.type bcm_redirector_fprintf, @function ++bcm_redirector_fprintf: + std 2, 24(1) -+ addis 12, 2, .Lredirector_toc___fprintf_chk@toc@ha -+ ld 12, .Lredirector_toc___fprintf_chk@toc@l(12) ++ addis 12, 2, .Lredirector_toc_fprintf@toc@ha ++ ld 12, .Lredirector_toc_fprintf@toc@l(12) + mtctr 12 + bctr +.type bss_bss_get, @function +bss_bss_get: -+ addis 3, 2, .Lbss_local_target@toc@ha -+ addi 3, 3, .Lbss_local_target@toc@l -+ blr -+.type bcm_loadtoc__dot_LANCHOR0, @function -+bcm_loadtoc__dot_LANCHOR0: -+.Lbcm_loadtoc__dot_LANCHOR0: -+ addis 3, 2, .LANCHOR0@toc@ha -+ addi 3, 3, .LANCHOR0@toc@l ++ addis 3, 2, bss@toc@ha ++ addi 3, 3, bss@toc@l + blr +.type bcm_loadtoc__dot_LC0, @function +bcm_loadtoc__dot_LC0: @@ -7799,23 +7643,11 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat + addis 3, 2, .LC1@toc@ha + addi 3, 3, .LC1@toc@l + blr -+.type bcm_loadtoc__dot_LC11, @function -+bcm_loadtoc__dot_LC11: -+.Lbcm_loadtoc__dot_LC11: -+ addis 3, 2, .LC11@toc@ha -+ addi 3, 3, .LC11@toc@l -+ blr -+.type bcm_loadtoc__dot_LC12, @function -+bcm_loadtoc__dot_LC12: -+.Lbcm_loadtoc__dot_LC12: -+ addis 3, 2, .LC12@toc@ha -+ addi 3, 3, .LC12@toc@l -+ blr -+.type bcm_loadtoc__dot_LC13, @function -+bcm_loadtoc__dot_LC13: -+.Lbcm_loadtoc__dot_LC13: -+ addis 3, 2, .LC13@toc@ha -+ addi 3, 3, .LC13@toc@l ++.type bcm_loadtoc__dot_LC10, @function ++bcm_loadtoc__dot_LC10: ++.Lbcm_loadtoc__dot_LC10: ++ addis 3, 2, .LC10@toc@ha ++ addi 3, 3, .LC10@toc@l + blr +.type bcm_loadtoc__dot_LC2, @function +bcm_loadtoc__dot_LC2: @@ -7859,12 +7691,24 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat + addis 3, 2, .LC8@toc@ha + addi 3, 3, .LC8@toc@l + blr ++.type bcm_loadtoc__dot_LC9, @function ++bcm_loadtoc__dot_LC9: ++.Lbcm_loadtoc__dot_LC9: ++ addis 3, 2, .LC9@toc@ha ++ addi 3, 3, .LC9@toc@l ++ blr +.type bcm_loadtoc__dot_Lfunction_local_target, @function +bcm_loadtoc__dot_Lfunction_local_target: +.Lbcm_loadtoc__dot_Lfunction_local_target: + addis 3, 2, .Lfunction_local_target@toc@ha + addi 3, 3, .Lfunction_local_target@toc@l + blr ++.type bcm_loadtoc__dot_LkString_local_target, @function ++bcm_loadtoc__dot_LkString_local_target: ++.Lbcm_loadtoc__dot_LkString_local_target: ++ addis 3, 2, .LkString_local_target@toc@ha ++ addi 3, 3, .LkString_local_target@toc@l ++ blr +.LBORINGSSL_external_toc: +.quad .TOC.-.LBORINGSSL_external_toc +.type BORINGSSL_bcm_text_hash, @object @@ -7902,233 +7746,251 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat +.byte 0xff +.byte 0x31 +.byte 0x80 -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.535300486 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s 2024-04-20 23:45:15.535300486 +0200 -@@ -0,0 +1,161 @@ +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s +=================================================================== +--- /dev/null ++++ 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 + .section ".toc","aw" + .section ".text" -+ .section .rodata -+ .align 3 -+ .type kString, @object -+ .size kString, 12 -+kString: -+ .string "hello world" -+ .globl kExportedString -+ .align 3 -+ .type kExportedString, @object -+ .size kExportedString, 26 -+kExportedString: -+ .string "hello world, more visibly" ++ .section ".toc","aw" ++.LC0: ++ .quad stderr ++.LC3: ++ .quad kExportedString ++.LC6: ++ .quad exported_function ++ .section ".text" + .align 2 -+ .type kGiantArray, @object -+ .size kGiantArray, 400000 -+kGiantArray: -+ .long 1 -+ .long 0 -+ .zero 399992 -+ .lcomm bss,20,4 -+ .type bss, @object -+ .align 3 -+.LC1: -+ .string "kString is %p\n" -+ .align 3 -+.LC2: -+ .string "kExportedString is %p\n" -+ .align 3 -+.LC4: -+ .string "function is %p\n" -+ .align 3 -+.LC5: -+ .string "exported_function is %p\n" -+ .align 3 -+.LC7: -+ .string "&kString[5] is %p\n" -+ .align 3 -+.LC9: -+ .string "&kGiantArray[0x12345] is %p\n" ++ .p2align 4,,15 ++ .globl exported_function ++ .type exported_function, @function ++exported_function: ++0: addis 2,12,.TOC.-0b@ha ++ addi 2,2,.TOC.-0b@l ++ .localentry exported_function,.-exported_function ++ mflr 0 ++ std 19,-104(1) ++ std 20,-96(1) ++ std 21,-88(1) ++ std 22,-80(1) ++ addis 21,2,.LC1@toc@ha ++ addis 22,2,.LC2@toc@ha ++ std 23,-72(1) ++ std 24,-64(1) ++ addis 23,2,.LC4@toc@ha ++ addis 24,2,function@toc@ha ++ std 25,-56(1) ++ std 26,-48(1) ++ addis 25,2,.LC5@toc@ha ++ addis 26,2,.LC7@toc@ha ++ std 27,-40(1) ++ std 28,-32(1) ++ addis 28,2,.LC8@toc@ha ++ addi 21,21,.LC1@toc@l ++ std 29,-24(1) ++ std 30,-16(1) ++ addis 29,2,.LANCHOR0@toc@ha ++ addi 22,22,.LC2@toc@l ++ std 31,-8(1) ++ std 0,16(1) ++ addi 29,29,.LANCHOR0@toc@l ++ addi 23,23,.LC4@toc@l ++ stdu 1,-208(1) ++ addis 31,2,.LC0@toc@ha # gpr load fusion, type long ++ ld 31,.LC0@toc@l(31) ++ addis 19,2,.LC3@toc@ha # gpr load fusion, type long ++ ld 19,.LC3@toc@l(19) ++ addis 30,29,0x5 ++ addi 24,24,function@toc@l ++ addis 20,2,.LC6@toc@ha # gpr load fusion, type long ++ ld 20,.LC6@toc@l(20) ++ addi 25,25,.LC5@toc@l ++ addi 26,26,.LC7@toc@l ++ addi 27,29,5 ++ addi 28,28,.LC8@toc@l ++ addi 30,30,-29404 ++ .p2align 4,,15 ++.L2: ++ ld 3,0(31) ++ mr 5,21 ++ mr 6,29 ++ li 4,1 ++ bl __fprintf_chk ++ nop ++ ld 3,0(31) ++ mr 5,22 ++ mr 6,19 ++ li 4,1 ++ bl __fprintf_chk ++ nop ++ ld 3,0(31) ++ mr 5,23 ++ mr 6,24 ++ li 4,1 ++ bl __fprintf_chk ++ nop ++ ld 3,0(31) ++ mr 5,25 ++ mr 6,20 ++ li 4,1 ++ bl __fprintf_chk ++ nop ++ ld 3,0(31) ++ mr 5,26 ++ mr 6,27 ++ li 4,1 ++ bl __fprintf_chk ++ nop ++ ld 3,0(31) ++ li 4,1 ++ mr 5,28 ++ mr 6,30 ++ bl __fprintf_chk ++ nop ++ b .L2 ++ .long 0 ++ .byte 0,0,0,1,128,13,0,0 ++ .size exported_function,.-exported_function + .section ".toc","aw" -+.LC0: -+ .quad stderr -+.LC3: -+ .quad kExportedString -+.LC6: -+ .quad exported_function -+.LC8: -+ .quad kString+5 -+.LC10: -+ .quad kGiantArray+298260 ++ .set .LC11,.LC0 ++ .set .LC12,.LC3 ++ .set .LC13,.LC6 + .section ".text" + .align 2 ++ .p2align 4,,15 + .type function, @function +function: +0: addis 2,12,.TOC.-0b@ha + addi 2,2,.TOC.-0b@l + .localentry function,.-function + mflr 0 -+ std 0,16(1) + std 31,-8(1) ++ addis 31,2,.LC11@toc@ha # gpr load fusion, type long ++ ld 31,.LC11@toc@l(31) ++ addis 5,2,.LC1@toc@ha ++ std 30,-16(1) ++ addis 30,2,.LANCHOR0@toc@ha ++ addi 5,5,.LC1@toc@l ++ addi 30,30,.LANCHOR0@toc@l ++ li 4,1 ++ mr 6,30 ++ std 0,16(1) + stdu 1,-112(1) -+ mr 31,1 -+ addis 10,2,.LC0@toc@ha -+ ld 9,.LC0@toc@l(10) -+ ld 9,0(9) -+ mr 3,9 -+ addis 4,2,.LC1@toc@ha -+ addi 4,4,.LC1@toc@l -+ addis 5,2,kString@toc@ha -+ addi 5,5,kString@toc@l -+ bl fprintf ++ ld 3,0(31) ++ bl __fprintf_chk + nop -+ addis 10,2,.LC0@toc@ha -+ ld 9,.LC0@toc@l(10) -+ ld 9,0(9) -+ mr 3,9 -+ addis 4,2,.LC2@toc@ha -+ addi 4,4,.LC2@toc@l -+ addis 9,2,.LC3@toc@ha -+ ld 5,.LC3@toc@l(9) -+ bl fprintf ++ addis 6,2,.LC12@toc@ha # gpr load fusion, type long ++ ld 6,.LC12@toc@l(6) ++ ld 3,0(31) ++ addis 5,2,.LC2@toc@ha ++ li 4,1 ++ addi 5,5,.LC2@toc@l ++ bl __fprintf_chk + nop -+ addis 10,2,.LC0@toc@ha -+ ld 9,.LC0@toc@l(10) -+ ld 9,0(9) -+ mr 3,9 -+ addis 4,2,.LC4@toc@ha -+ addi 4,4,.LC4@toc@l -+ addis 5,2,function@toc@ha -+ addi 5,5,function@toc@l -+ bl fprintf ++ ld 3,0(31) ++ addis 5,2,.LC4@toc@ha ++ addis 6,2,function@toc@ha ++ addi 5,5,.LC4@toc@l ++ addi 6,6,function@toc@l ++ li 4,1 ++ bl __fprintf_chk + nop -+ addis 10,2,.LC0@toc@ha -+ ld 9,.LC0@toc@l(10) -+ ld 9,0(9) -+ mr 3,9 -+ addis 4,2,.LC5@toc@ha -+ addi 4,4,.LC5@toc@l -+ addis 9,2,.LC6@toc@ha -+ ld 5,.LC6@toc@l(9) -+ bl fprintf ++ addis 6,2,.LC13@toc@ha # gpr load fusion, type long ++ ld 6,.LC13@toc@l(6) ++ ld 3,0(31) ++ addis 5,2,.LC5@toc@ha ++ li 4,1 ++ addi 5,5,.LC5@toc@l ++ bl __fprintf_chk + nop -+ addis 10,2,.LC0@toc@ha -+ ld 9,.LC0@toc@l(10) -+ ld 9,0(9) -+ mr 3,9 -+ addis 4,2,.LC7@toc@ha -+ addi 4,4,.LC7@toc@l -+ addis 9,2,.LC8@toc@ha -+ ld 5,.LC8@toc@l(9) -+ bl fprintf ++ ld 3,0(31) ++ addis 5,2,.LC7@toc@ha ++ addi 6,30,5 ++ addi 5,5,.LC7@toc@l ++ li 4,1 ++ bl __fprintf_chk + nop -+ addis 10,2,.LC0@toc@ha -+ ld 9,.LC0@toc@l(10) -+ ld 9,0(9) -+ mr 3,9 -+ addis 4,2,.LC9@toc@ha -+ addi 4,4,.LC9@toc@l -+ addis 9,2,.LC10@toc@ha -+ ld 5,.LC10@toc@l(9) -+ bl fprintf ++ ld 3,0(31) ++ addis 6,30,0x5 ++ addis 5,2,.LC8@toc@ha ++ li 4,1 ++ addi 5,5,.LC8@toc@l ++ addi 6,6,-29404 ++ bl __fprintf_chk + nop + bl exported_function + nop -+ mr 3,9 -+ addi 1,31,112 ++ addi 1,1,112 + ld 0,16(1) -+ mtlr 0 ++ ld 30,-16(1) + ld 31,-8(1) -+ blr -+ .long 0 -+ .byte 0,0,0,1,128,1,0,1 -+ .size function,.-function -+ .align 2 -+ .globl exported_function -+ .type exported_function, @function -+exported_function: -+0: addis 2,12,.TOC.-0b@ha -+ addi 2,2,.TOC.-0b@l -+ .localentry exported_function,.-exported_function -+ mflr 0 -+ std 0,16(1) -+ std 31,-8(1) -+ stdu 1,-48(1) -+ mr 31,1 -+ bl function -+ mr 3,9 -+ addi 1,31,48 -+ ld 0,16(1) + mtlr 0 -+ ld 31,-8(1) + blr + .long 0 -+ .byte 0,0,0,1,128,1,0,1 -+ .size exported_function,.-exported_function -+ .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" -+ .section .note.GNU-stack,"",@progbits -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.535300486 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s 2024-04-20 23:45:15.535300486 +0200 -@@ -0,0 +1,552 @@ -+.text -+.file 1 "inserted_by_delocate.c" -+.loc 1 1 0 -+BORINGSSL_bcm_text_start: -+ .file "foo.c" -+ .abiversion 2 -+ .section ".toc","aw" -+# WAS .section ".text" -+.text -+# WAS .section .rodata -+.text -+ .align 3 ++ .byte 0,0,0,1,128,2,0,0 ++ .size function,.-function ++ .globl kExportedString ++ .section .rodata ++ .align 4 ++ .set .LANCHOR0,. + 0 + .type kString, @object + .size kString, 12 -+.LkString_local_target: +kString: + .string "hello world" -+ .globl kExportedString -+ .align 3 -+ .type kExportedString, @object -+ .size kExportedString, 26 -+.LkExportedString_local_target: -+kExportedString: -+ .string "hello world, more visibly" -+ .align 2 ++ .zero 4 + .type kGiantArray, @object + .size kGiantArray, 400000 -+.LkGiantArray_local_target: +kGiantArray: + .long 1 + .long 0 + .zero 399992 -+ .lcomm bss,20,4 -+ .type bss, @object ++ .type kExportedString, @object ++ .size kExportedString, 26 ++kExportedString: ++ .string "hello world, more visibly" ++ .section .rodata.str1.8,"aMS",@progbits,1 + .align 3 +.LC1: -+ + .string "kString is %p\n" -+ .align 3 ++ .zero 1 +.LC2: -+ + .string "kExportedString is %p\n" -+ .align 3 ++ .zero 1 +.LC4: -+ + .string "function is %p\n" -+ .align 3 +.LC5: -+ + .string "exported_function is %p\n" -+ .align 3 ++ .zero 7 +.LC7: -+ + .string "&kString[5] is %p\n" -+ .align 3 -+.LC9: -+ ++ .zero 5 ++.LC8: + .string "&kGiantArray[0x12345] is %p\n" ++ .section ".bss" ++ .align 2 ++ .type bss, @object ++ .size bss, 20 ++bss: ++ .zero 20 ++ .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" ++ .section .note.GNU-stack,"",@progbits +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s +=================================================================== +--- /dev/null ++++ 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" ++.loc 1 1 0 ++BORINGSSL_bcm_text_start: ++ .file "foo.c" ++ .abiversion 2 ++ .section ".toc","aw" ++# WAS .section ".text" ++.text + .section ".toc","aw" +.LC0: + @@ -8139,18 +8001,14 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat +.LC6: + + .quad exported_function -+.LC8: -+ -+ .quad kString+5 -+.LC10: -+ -+ .quad kGiantArray+298260 +# WAS .section ".text" +.text + .align 2 -+ .type function, @function -+.Lfunction_local_target: -+function: ++ .p2align 4,,15 ++ .globl exported_function ++ .type exported_function, @function ++.Lexported_function_local_target: ++exported_function: +0: +999: + addis 2, 12, .LBORINGSSL_external_toc-999b@ha @@ -8158,355 +8016,533 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat + ld 12, 0(2) + add 2, 2, 12 +# WAS addi 2,2,.TOC.-0b@l -+ .localentry function,.-function -+.Lfunction_local_entry: ++ .localentry exported_function,.-exported_function ++.Lexported_function_local_entry: + mflr 0 -+ std 0,16(1) ++ std 19,-104(1) ++ std 20,-96(1) ++ std 21,-88(1) ++ std 22,-80(1) ++# WAS addis 21,2,.LC1@toc@ha ++# WAS addis 22,2,.LC2@toc@ha ++ std 23,-72(1) ++ std 24,-64(1) ++# WAS addis 23,2,.LC4@toc@ha ++# WAS addis 24,2,function@toc@ha ++ std 25,-56(1) ++ std 26,-48(1) ++# WAS addis 25,2,.LC5@toc@ha ++# WAS addis 26,2,.LC7@toc@ha ++ std 27,-40(1) ++ std 28,-32(1) ++# WAS addis 28,2,.LC8@toc@ha ++# WAS addi 21,21,.LC1@toc@l ++ addi 1, 1, -288 ++ mflr 21 ++ std 21, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC1 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 21, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ std 29,-24(1) ++ std 30,-16(1) ++# WAS addis 29,2,.LANCHOR0@toc@ha ++# WAS addi 22,22,.LC2@toc@l ++ addi 1, 1, -288 ++ mflr 22 ++ std 22, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC2 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 22, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 + std 31,-8(1) -+ stdu 1,-112(1) -+ mr 31,1 -+# WAS addis 10,2,.LC0@toc@ha -+# WAS ld 9,.LC0@toc@l(10) ++ std 0,16(1) ++# WAS addi 29,29,.LANCHOR0@toc@l + addi 1, 1, -288 -+ mflr 9 -+ std 9, -8(1) ++ mflr 29 ++ std 29, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LANCHOR0 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 29, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++# WAS addi 23,23,.LC4@toc@l ++ addi 1, 1, -288 ++ mflr 23 ++ std 23, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LC4 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 23, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ stdu 1,-208(1) ++# WAS addis 31,2,.LC0@toc@ha # gpr load fusion, type long ++# WAS ld 31,.LC0@toc@l(31) ++ addi 1, 1, -288 ++ mflr 31 ++ std 31, -8(1) + std 3, -16(1) + bl .Lbcm_loadtoc__dot_LC0 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 9, -24(1) ++ ld 31, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ ld 9, 0(9) -+ ld 9,0(9) -+ mr 3,9 -+# WAS addis 4,2,.LC1@toc@ha -+# WAS addi 4,4,.LC1@toc@l ++ ld 31, 0(31) ++# WAS addis 19,2,.LC3@toc@ha # gpr load fusion, type long ++# WAS ld 19,.LC3@toc@l(19) + addi 1, 1, -288 -+ mflr 4 -+ std 4, -8(1) ++ mflr 19 ++ std 19, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC1 ++ bl .Lbcm_loadtoc__dot_LC3 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 4, -24(1) ++ ld 19, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+# WAS addis 5,2,kString@toc@ha -+# WAS addi 5,5,kString@toc@l ++ ld 19, 0(19) ++ addis 30,29,0x5 ++# WAS addi 24,24,function@toc@l + addi 1, 1, -288 -+ mflr 5 -+ std 5, -8(1) ++ mflr 24 ++ std 24, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LkString_local_target ++ bl .Lbcm_loadtoc__dot_Lfunction_local_target + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 5, -24(1) ++ ld 24, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+# WAS bl fprintf -+ bl bcm_redirector_fprintf -+ ld 2, 24(1) -+ nop -+# WAS addis 10,2,.LC0@toc@ha -+# WAS ld 9,.LC0@toc@l(10) ++# WAS addis 20,2,.LC6@toc@ha # gpr load fusion, type long ++# WAS ld 20,.LC6@toc@l(20) + addi 1, 1, -288 -+ mflr 9 -+ std 9, -8(1) ++ mflr 20 ++ std 20, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC0 ++ bl .Lbcm_loadtoc__dot_LC6 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 9, -24(1) ++ ld 20, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ ld 9, 0(9) -+ ld 9,0(9) -+ mr 3,9 -+# WAS addis 4,2,.LC2@toc@ha -+# WAS addi 4,4,.LC2@toc@l ++ ld 20, 0(20) ++# WAS addi 25,25,.LC5@toc@l + addi 1, 1, -288 -+ mflr 4 -+ std 4, -8(1) ++ mflr 25 ++ std 25, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC2 ++ bl .Lbcm_loadtoc__dot_LC5 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 4, -24(1) ++ ld 25, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+# WAS addis 9,2,.LC3@toc@ha -+# WAS ld 5,.LC3@toc@l(9) ++# WAS addi 26,26,.LC7@toc@l + addi 1, 1, -288 -+ mflr 5 -+ std 5, -8(1) ++ mflr 26 ++ std 26, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC3 ++ bl .Lbcm_loadtoc__dot_LC7 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 5, -24(1) ++ ld 26, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ ld 5, 0(5) -+# WAS bl fprintf -+ bl bcm_redirector_fprintf -+ ld 2, 24(1) -+ nop -+# WAS addis 10,2,.LC0@toc@ha -+# WAS ld 9,.LC0@toc@l(10) ++ addi 27,29,5 ++# WAS addi 28,28,.LC8@toc@l + addi 1, 1, -288 -+ mflr 9 -+ std 9, -8(1) ++ mflr 28 ++ std 28, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC0 ++ bl .Lbcm_loadtoc__dot_LC8 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 9, -24(1) ++ ld 28, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ ld 9, 0(9) -+ ld 9,0(9) -+ mr 3,9 -+# WAS addis 4,2,.LC4@toc@ha -+# WAS addi 4,4,.LC4@toc@l ++ addi 30,30,-29404 ++ .p2align 4,,15 ++.L2: ++ ++ ld 3,0(31) ++ mr 5,21 ++ mr 6,29 ++ li 4,1 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++ mr 5,22 ++ mr 6,19 ++ li 4,1 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++ mr 5,23 ++ mr 6,24 ++ li 4,1 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++ mr 5,25 ++ mr 6,20 ++ li 4,1 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++ mr 5,26 ++ mr 6,27 ++ li 4,1 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++ li 4,1 ++ mr 5,28 ++ mr 6,30 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ b .L2 ++ .long 0 ++ .byte 0,0,0,1,128,13,0,0 ++ .size exported_function,.-exported_function ++ .section ".toc","aw" ++ .set .LC11,.LC0 ++ .set .LC12,.LC3 ++ .set .LC13,.LC6 ++# WAS .section ".text" ++.text ++ .align 2 ++ .p2align 4,,15 ++ .type function, @function ++.Lfunction_local_target: ++function: ++0: ++999: ++ addis 2, 12, .LBORINGSSL_external_toc-999b@ha ++ addi 2, 2, .LBORINGSSL_external_toc-999b@l ++ ld 12, 0(2) ++ add 2, 2, 12 ++# WAS addi 2,2,.TOC.-0b@l ++ .localentry function,.-function ++.Lfunction_local_entry: ++ mflr 0 ++ std 31,-8(1) ++# WAS addis 31,2,.LC11@toc@ha # gpr load fusion, type long ++# WAS ld 31,.LC11@toc@l(31) + addi 1, 1, -288 -+ mflr 4 -+ std 4, -8(1) ++ mflr 31 ++ std 31, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC4 ++ bl .Lbcm_loadtoc__dot_LC11 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 4, -24(1) ++ ld 31, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+# WAS addis 5,2,function@toc@ha -+# WAS addi 5,5,function@toc@l ++ ld 31, 0(31) ++# WAS addis 5,2,.LC1@toc@ha ++ std 30,-16(1) ++# WAS addis 30,2,.LANCHOR0@toc@ha ++# WAS addi 5,5,.LC1@toc@l + addi 1, 1, -288 + mflr 5 + std 5, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_Lfunction_local_target ++ bl .Lbcm_loadtoc__dot_LC1 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 + ld 5, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+# WAS bl fprintf -+ bl bcm_redirector_fprintf ++# WAS addi 30,30,.LANCHOR0@toc@l ++ addi 1, 1, -288 ++ mflr 30 ++ std 30, -8(1) ++ std 3, -16(1) ++ bl .Lbcm_loadtoc__dot_LANCHOR0 ++ std 3, -24(1) ++ ld 3, -8(1) ++ mtlr 3 ++ ld 30, -24(1) ++ ld 3, -16(1) ++ addi 1, 1, 288 ++ li 4,1 ++ mr 6,30 ++ std 0,16(1) ++ stdu 1,-112(1) ++ ld 3,0(31) ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk + ld 2, 24(1) + nop -+# WAS addis 10,2,.LC0@toc@ha -+# WAS ld 9,.LC0@toc@l(10) ++# WAS addis 6,2,.LC12@toc@ha # gpr load fusion, type long ++# WAS ld 6,.LC12@toc@l(6) + addi 1, 1, -288 -+ mflr 9 -+ std 9, -8(1) ++ mflr 6 ++ std 6, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC0 ++ bl .Lbcm_loadtoc__dot_LC12 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 9, -24(1) ++ ld 6, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ ld 9, 0(9) -+ ld 9,0(9) -+ mr 3,9 -+# WAS addis 4,2,.LC5@toc@ha -+# WAS addi 4,4,.LC5@toc@l ++ ld 6, 0(6) ++ ld 3,0(31) ++# WAS addis 5,2,.LC2@toc@ha ++ li 4,1 ++# WAS addi 5,5,.LC2@toc@l + addi 1, 1, -288 -+ mflr 4 -+ std 4, -8(1) ++ mflr 5 ++ std 5, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC5 ++ bl .Lbcm_loadtoc__dot_LC2 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 4, -24(1) ++ ld 5, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+# WAS addis 9,2,.LC6@toc@ha -+# WAS ld 5,.LC6@toc@l(9) ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++# WAS addis 5,2,.LC4@toc@ha ++# WAS addis 6,2,function@toc@ha ++# WAS addi 5,5,.LC4@toc@l + addi 1, 1, -288 + mflr 5 + std 5, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC6 ++ bl .Lbcm_loadtoc__dot_LC4 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 + ld 5, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ ld 5, 0(5) -+# WAS bl fprintf -+ bl bcm_redirector_fprintf -+ ld 2, 24(1) -+ nop -+# WAS addis 10,2,.LC0@toc@ha -+# WAS ld 9,.LC0@toc@l(10) ++# WAS addi 6,6,function@toc@l + addi 1, 1, -288 -+ mflr 9 -+ std 9, -8(1) ++ mflr 6 ++ std 6, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC0 ++ bl .Lbcm_loadtoc__dot_Lfunction_local_target + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 9, -24(1) ++ ld 6, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ ld 9, 0(9) -+ ld 9,0(9) -+ mr 3,9 -+# WAS addis 4,2,.LC7@toc@ha -+# WAS addi 4,4,.LC7@toc@l ++ li 4,1 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++# WAS addis 6,2,.LC13@toc@ha # gpr load fusion, type long ++# WAS ld 6,.LC13@toc@l(6) + addi 1, 1, -288 -+ mflr 4 -+ std 4, -8(1) ++ mflr 6 ++ std 6, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC7 ++ bl .Lbcm_loadtoc__dot_LC13 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 4, -24(1) ++ ld 6, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+# WAS addis 9,2,.LC8@toc@ha -+# WAS ld 5,.LC8@toc@l(9) ++ ld 6, 0(6) ++ ld 3,0(31) ++# WAS addis 5,2,.LC5@toc@ha ++ li 4,1 ++# WAS addi 5,5,.LC5@toc@l + addi 1, 1, -288 + mflr 5 + std 5, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC8 ++ bl .Lbcm_loadtoc__dot_LC5 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 + ld 5, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ ld 5, 0(5) -+# WAS bl fprintf -+ bl bcm_redirector_fprintf ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk + ld 2, 24(1) + nop -+# WAS addis 10,2,.LC0@toc@ha -+# WAS ld 9,.LC0@toc@l(10) -+ addi 1, 1, -288 -+ mflr 9 -+ std 9, -8(1) -+ std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC0 -+ std 3, -24(1) -+ ld 3, -8(1) -+ mtlr 3 -+ ld 9, -24(1) -+ ld 3, -16(1) -+ addi 1, 1, 288 -+ ld 9, 0(9) -+ ld 9,0(9) -+ mr 3,9 -+# WAS addis 4,2,.LC9@toc@ha -+# WAS addi 4,4,.LC9@toc@l ++ ld 3,0(31) ++# WAS addis 5,2,.LC7@toc@ha ++ addi 6,30,5 ++# WAS addi 5,5,.LC7@toc@l + addi 1, 1, -288 -+ mflr 4 -+ std 4, -8(1) ++ mflr 5 ++ std 5, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC9 ++ bl .Lbcm_loadtoc__dot_LC7 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 -+ ld 4, -24(1) ++ ld 5, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+# WAS addis 9,2,.LC10@toc@ha -+# WAS ld 5,.LC10@toc@l(9) ++ li 4,1 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk ++ ld 2, 24(1) ++ nop ++ ld 3,0(31) ++ addis 6,30,0x5 ++# WAS addis 5,2,.LC8@toc@ha ++ li 4,1 ++# WAS addi 5,5,.LC8@toc@l + addi 1, 1, -288 + mflr 5 + std 5, -8(1) + std 3, -16(1) -+ bl .Lbcm_loadtoc__dot_LC10 ++ bl .Lbcm_loadtoc__dot_LC8 + std 3, -24(1) + ld 3, -8(1) + mtlr 3 + ld 5, -24(1) + ld 3, -16(1) + addi 1, 1, 288 -+ ld 5, 0(5) -+# WAS bl fprintf -+ bl bcm_redirector_fprintf ++ addi 6,6,-29404 ++# WAS bl __fprintf_chk ++ bl bcm_redirector___fprintf_chk + ld 2, 24(1) + nop +# WAS bl exported_function + bl .Lexported_function_local_entry + nop -+ mr 3,9 -+ addi 1,31,112 ++ addi 1,1,112 + ld 0,16(1) -+ mtlr 0 ++ ld 30,-16(1) + ld 31,-8(1) ++ mtlr 0 + blr + .long 0 -+ .byte 0,0,0,1,128,1,0,1 ++ .byte 0,0,0,1,128,2,0,0 + .size function,.-function ++ .globl kExportedString ++# WAS .section .rodata ++.text ++ .align 4 ++ .set .LANCHOR0,. + 0 ++ .type kString, @object ++ .size kString, 12 ++.LkString_local_target: ++kString: ++ .string "hello world" ++ .zero 4 ++ .type kGiantArray, @object ++ .size kGiantArray, 400000 ++.LkGiantArray_local_target: ++kGiantArray: ++ .long 1 ++ .long 0 ++ .zero 399992 ++ .type kExportedString, @object ++ .size kExportedString, 26 ++.LkExportedString_local_target: ++kExportedString: ++ .string "hello world, more visibly" ++# WAS .section .rodata.str1.8,"aMS",@progbits,1 ++.text ++ .align 3 ++.LC1: ++ ++ .string "kString is %p\n" ++ .zero 1 ++.LC2: ++ ++ .string "kExportedString is %p\n" ++ .zero 1 ++.LC4: ++ ++ .string "function is %p\n" ++.LC5: ++ ++ .string "exported_function is %p\n" ++ .zero 7 ++.LC7: ++ ++ .string "&kString[5] is %p\n" ++ .zero 5 ++.LC8: ++ ++ .string "&kGiantArray[0x12345] is %p\n" ++ .section ".bss" + .align 2 -+ .globl exported_function -+ .type exported_function, @function -+.Lexported_function_local_target: -+exported_function: -+0: -+999: -+ addis 2, 12, .LBORINGSSL_external_toc-999b@ha -+ addi 2, 2, .LBORINGSSL_external_toc-999b@l -+ ld 12, 0(2) -+ add 2, 2, 12 -+# WAS addi 2,2,.TOC.-0b@l -+ .localentry exported_function,.-exported_function -+.Lexported_function_local_entry: -+ mflr 0 -+ std 0,16(1) -+ std 31,-8(1) -+ stdu 1,-48(1) -+ mr 31,1 -+# WAS bl function -+ bl .Lfunction_local_entry -+ mr 3,9 -+ addi 1,31,48 -+ ld 0,16(1) -+ mtlr 0 -+ ld 31,-8(1) -+ blr -+ .long 0 -+ .byte 0,0,0,1,128,1,0,1 -+ .size exported_function,.-exported_function ++ .type bss, @object ++ .size bss, 20 ++bss: ++.Lbss_local_target: ++ ++ .zero 20 + .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2" + .section .note.GNU-stack,"",@progbits +.text +.loc 1 2 0 +BORINGSSL_bcm_text_end: +.section ".toc", "aw" -+.Lredirector_toc_fprintf: -+.quad fprintf ++.Lredirector_toc___fprintf_chk: ++.quad __fprintf_chk +.text -+.type bcm_redirector_fprintf, @function -+bcm_redirector_fprintf: ++.type bcm_redirector___fprintf_chk, @function ++bcm_redirector___fprintf_chk: + std 2, 24(1) -+ addis 12, 2, .Lredirector_toc_fprintf@toc@ha -+ ld 12, .Lredirector_toc_fprintf@toc@l(12) ++ addis 12, 2, .Lredirector_toc___fprintf_chk@toc@ha ++ ld 12, .Lredirector_toc___fprintf_chk@toc@l(12) + mtctr 12 + bctr +.type bss_bss_get, @function +bss_bss_get: -+ addis 3, 2, bss@toc@ha -+ addi 3, 3, bss@toc@l ++ addis 3, 2, .Lbss_local_target@toc@ha ++ addi 3, 3, .Lbss_local_target@toc@l ++ blr ++.type bcm_loadtoc__dot_LANCHOR0, @function ++bcm_loadtoc__dot_LANCHOR0: ++.Lbcm_loadtoc__dot_LANCHOR0: ++ addis 3, 2, .LANCHOR0@toc@ha ++ addi 3, 3, .LANCHOR0@toc@l + blr +.type bcm_loadtoc__dot_LC0, @function +bcm_loadtoc__dot_LC0: @@ -8520,11 +8556,23 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat + addis 3, 2, .LC1@toc@ha + addi 3, 3, .LC1@toc@l + blr -+.type bcm_loadtoc__dot_LC10, @function -+bcm_loadtoc__dot_LC10: -+.Lbcm_loadtoc__dot_LC10: -+ addis 3, 2, .LC10@toc@ha -+ addi 3, 3, .LC10@toc@l ++.type bcm_loadtoc__dot_LC11, @function ++bcm_loadtoc__dot_LC11: ++.Lbcm_loadtoc__dot_LC11: ++ addis 3, 2, .LC11@toc@ha ++ addi 3, 3, .LC11@toc@l ++ blr ++.type bcm_loadtoc__dot_LC12, @function ++bcm_loadtoc__dot_LC12: ++.Lbcm_loadtoc__dot_LC12: ++ addis 3, 2, .LC12@toc@ha ++ addi 3, 3, .LC12@toc@l ++ blr ++.type bcm_loadtoc__dot_LC13, @function ++bcm_loadtoc__dot_LC13: ++.Lbcm_loadtoc__dot_LC13: ++ addis 3, 2, .LC13@toc@ha ++ addi 3, 3, .LC13@toc@l + blr +.type bcm_loadtoc__dot_LC2, @function +bcm_loadtoc__dot_LC2: @@ -8568,24 +8616,12 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat + addis 3, 2, .LC8@toc@ha + addi 3, 3, .LC8@toc@l + blr -+.type bcm_loadtoc__dot_LC9, @function -+bcm_loadtoc__dot_LC9: -+.Lbcm_loadtoc__dot_LC9: -+ addis 3, 2, .LC9@toc@ha -+ addi 3, 3, .LC9@toc@l -+ blr +.type bcm_loadtoc__dot_Lfunction_local_target, @function +bcm_loadtoc__dot_Lfunction_local_target: +.Lbcm_loadtoc__dot_Lfunction_local_target: + addis 3, 2, .Lfunction_local_target@toc@ha + addi 3, 3, .Lfunction_local_target@toc@l + blr -+.type bcm_loadtoc__dot_LkString_local_target, @function -+bcm_loadtoc__dot_LkString_local_target: -+.Lbcm_loadtoc__dot_LkString_local_target: -+ addis 3, 2, .LkString_local_target@toc@ha -+ addi 3, 3, .LkString_local_target@toc@l -+ blr +.LBORINGSSL_external_toc: +.quad .TOC.-.LBORINGSSL_external_toc +.type BORINGSSL_bcm_text_hash, @object @@ -8623,9 +8659,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat +.byte 0xff +.byte 0x31 +.byte 0x80 -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.535300486 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s 2024-04-20 23:45:15.535300486 +0200 +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s +=================================================================== +--- /dev/null ++++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s @@ -0,0 +1,23 @@ + .text +foo: @@ -8650,9 +8687,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat + + addis 4, 2, 1+foo-2@toc@ha+3 + addi 4, 4, 1+foo-2@toc@l+3 -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/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.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.535300486 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s 2024-04-20 23:45:15.535300486 +0200 +Index: chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s +=================================================================== +--- /dev/null ++++ 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" @@ -8832,9 +8870,10 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/fipstools/delocat +.byte 0xff +.byte 0x31 +.byte 0x80 -diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/generate_build_files.py.0001-Add-PPC64-support-for-boringssl chromium-124.0.6367.60/third_party/boringssl/src/util/generate_build_files.py ---- chromium-124.0.6367.60/third_party/boringssl/src/util/generate_build_files.py.0001-Add-PPC64-support-for-boringssl 2024-04-20 23:45:15.535300486 +0200 -+++ chromium-124.0.6367.60/third_party/boringssl/src/util/generate_build_files.py 2024-04-21 00:00:21.109496693 +0200 +Index: chromium-124.0.6367.60/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'), @@ -8843,3 +8882,18 @@ diff -up chromium-124.0.6367.60/third_party/boringssl/src/util/generate_build_fi ('linux', 'x86', 'elf', ['-fPIC'], 'S'), ('linux', 'x86_64', 'elf', [], 'S'), ('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/0003-third_party-ffmpeg-Add-ppc64-generated-config.patch b/0003-third_party-ffmpeg-Add-ppc64-generated-config.patch index 0e92963..b8786b5 100644 --- a/0003-third_party-ffmpeg-Add-ppc64-generated-config.patch +++ b/0003-third_party-ffmpeg-Add-ppc64-generated-config.patch @@ -1,10 +1,12 @@ +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/config.h +=================================================================== --- /dev/null -+++ b/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" @@ -16,7 +18,6 @@ +#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 @@ -248,6 +249,7 @@ +#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 @@ -338,6 +340,8 @@ +#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 @@ -709,10 +713,12 @@ +#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 @@ -763,15 +769,17 @@ +#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-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/config_components.h +=================================================================== --- /dev/null -+++ b/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 @@ -809,6 +817,7 @@ +#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 @@ -1044,7 +1053,7 @@ +#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 @@ -1075,14 +1084,14 @@ +#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 @@ -1422,6 +1431,7 @@ +#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 @@ -1782,8 +1792,8 @@ +#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 @@ -2395,8 +2405,6 @@ +#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 @@ -2890,6 +2898,7 @@ +#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 @@ -2989,19 +2998,20 @@ +#define CONFIG_IPFS_GATEWAY_PROTOCOL 0 +#define CONFIG_IPNS_GATEWAY_PROTOCOL 0 +#endif /* FFMPEG_CONFIG_COMPONENTS_H */ +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/bsf_list.c +=================================================================== --- /dev/null -+++ b/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-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/codec_list.c +=================================================================== --- /dev/null -+++ b/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, @@ -3017,9 +3027,11 @@ + &ff_pcm_u8_decoder, + &ff_libopus_decoder, + NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavcodec/parser_list.c +=================================================================== --- /dev/null -+++ b/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, @@ -3027,12 +3039,37 @@ + &ff_mpegaudio_parser, + &ff_opus_parser, + &ff_vorbis_parser, -+ &ff_vp3_parser, -+ &ff_vp8_parser, + &ff_vp9_parser, + NULL }; +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 -+++ b/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, @@ -3043,18 +3080,24 @@ + &ff_ogg_demuxer, + &ff_wav_demuxer, + NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavformat/muxer_list.c +=================================================================== --- /dev/null -+++ b/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-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavformat/protocol_list.c +=================================================================== --- /dev/null -+++ b/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-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavutil/avconfig.h +=================================================================== --- /dev/null -+++ b/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 @@ -3062,21 +3105,25 @@ +#define AV_HAVE_BIGENDIAN 0 +#define AV_HAVE_FAST_UNALIGNED 1 +#endif /* AVUTIL_AVCONFIG_H */ +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chrome/linux/ppc64/libavutil/ffversion.h +=================================================================== --- /dev/null -+++ b/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-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/config.h +=================================================================== --- /dev/null -+++ b/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" @@ -3088,7 +3135,6 @@ +#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 @@ -3320,6 +3366,7 @@ +#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 @@ -3410,6 +3457,8 @@ +#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 @@ -3785,6 +3834,8 @@ +#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 @@ -3835,15 +3886,17 @@ +#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-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/config_components.h +=================================================================== --- /dev/null -+++ b/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 @@ -3881,6 +3934,7 @@ +#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 @@ -4116,7 +4170,7 @@ +#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 @@ -4147,14 +4201,14 @@ +#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 @@ -4494,6 +4548,7 @@ +#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 @@ -4854,8 +4909,8 @@ +#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 @@ -5467,8 +5522,6 @@ +#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 @@ -5962,6 +6015,7 @@ +#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 @@ -6061,21 +6115,22 @@ +#define CONFIG_IPFS_GATEWAY_PROTOCOL 0 +#define CONFIG_IPNS_GATEWAY_PROTOCOL 0 +#endif /* FFMPEG_CONFIG_COMPONENTS_H */ +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/bsf_list.c +=================================================================== --- /dev/null -+++ b/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-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/codec_list.c +=================================================================== --- /dev/null -+++ b/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, @@ -6091,9 +6146,11 @@ + &ff_pcm_u8_decoder, + &ff_libopus_decoder, + NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavcodec/parser_list.c +=================================================================== --- /dev/null -+++ b/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, @@ -6103,12 +6160,37 @@ + &ff_mpegaudio_parser, + &ff_opus_parser, + &ff_vorbis_parser, -+ &ff_vp3_parser, -+ &ff_vp8_parser, + &ff_vp9_parser, + NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavdevice/indev_list.c +=================================================================== --- /dev/null -+++ b/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/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-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, @@ -6120,18 +6202,24 @@ + &ff_ogg_demuxer, + &ff_wav_demuxer, + NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavformat/muxer_list.c +=================================================================== --- /dev/null -+++ b/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-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavformat/protocol_list.c +=================================================================== --- /dev/null -+++ b/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-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavutil/avconfig.h +=================================================================== --- /dev/null -+++ b/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 @@ -6139,21 +6227,25 @@ +#define AV_HAVE_BIGENDIAN 0 +#define AV_HAVE_FAST_UNALIGNED 1 +#endif /* AVUTIL_AVCONFIG_H */ +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/ChromeOS/linux/ppc64/libavutil/ffversion.h +=================================================================== --- /dev/null -+++ b/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-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/config.h +=================================================================== --- /dev/null -+++ b/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" @@ -6165,7 +6257,6 @@ +#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 @@ -6397,6 +6488,7 @@ +#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 @@ -6487,6 +6579,8 @@ +#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 @@ -6853,15 +6947,17 @@ +#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 @@ -6911,16 +7007,18 @@ +#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-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/config_components.h +=================================================================== --- /dev/null -+++ b/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 @@ -6958,6 +7056,7 @@ +#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 @@ -7193,7 +7292,7 @@ +#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 @@ -7224,14 +7323,14 @@ +#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 @@ -7571,6 +7670,7 @@ +#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 @@ -7931,8 +8031,8 @@ +#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 @@ -8544,8 +8644,6 @@ +#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 @@ -9039,6 +9137,7 @@ +#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 @@ -9138,18 +9237,19 @@ +#define CONFIG_IPFS_GATEWAY_PROTOCOL 0 +#define CONFIG_IPNS_GATEWAY_PROTOCOL 0 +#endif /* FFMPEG_CONFIG_COMPONENTS_H */ +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/bsf_list.c +=================================================================== --- /dev/null -+++ b/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-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/codec_list.c +=================================================================== --- /dev/null -+++ b/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, @@ -9164,20 +9264,47 @@ + &ff_pcm_u8_decoder, + &ff_libopus_decoder, + NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavcodec/parser_list.c +=================================================================== --- /dev/null -+++ b/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-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 -+++ b/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, @@ -9187,18 +9314,24 @@ + &ff_ogg_demuxer, + &ff_wav_demuxer, + NULL }; +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavformat/muxer_list.c +=================================================================== --- /dev/null -+++ b/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-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavformat/protocol_list.c +=================================================================== --- /dev/null -+++ b/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-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavutil/avconfig.h +=================================================================== --- /dev/null -+++ b/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 @@ -9206,16 +9339,20 @@ +#define AV_HAVE_BIGENDIAN 0 +#define AV_HAVE_FAST_UNALIGNED 1 +#endif /* AVUTIL_AVCONFIG_H */ +Index: chromium-124.0.6367.60/third_party/ffmpeg/chromium/config/Chromium/linux/ppc64/libavutil/ffversion.h +=================================================================== --- /dev/null -+++ b/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 */ ---- a/third_party/ffmpeg/ffmpeg_generated.gni -+++ b/third_party/ffmpeg/ffmpeg_generated.gni +Index: chromium-124.0.6367.60/third_party/ffmpeg/ffmpeg_generated.gni +=================================================================== +--- 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 ] } @@ -9257,8 +9394,10 @@ 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 -+++ b/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 @@ -10075,8 +10214,10 @@ + } +#endif /* HAVE_ALTIVEC */ +} +Index: chromium-124.0.6367.60/third_party/ffmpeg/libavcodec/ppc/h264qpel_ppc.c +=================================================================== --- /dev/null -+++ b/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/skia-vsx-instructions.patch b/skia-vsx-instructions.patch index 13d7479..1cec31e 100644 --- a/skia-vsx-instructions.patch +++ b/skia-vsx-instructions.patch @@ -1,5 +1,7 @@ ---- a/third_party/skia/BUILD.gn -+++ b/third_party/skia/BUILD.gn +Index: chromium-124.0.6367.60/third_party/skia/BUILD.gn +=================================================================== +--- 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") { } } @@ -33,8 +35,10 @@ sources = [] sources += skia_pathops_sources ---- a/third_party/skia/gn/skia/BUILD.gn -+++ b/third_party/skia/gn/skia/BUILD.gn +Index: chromium-124.0.6367.60/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", ] @@ -44,8 +48,10 @@ } if (malloc != "" && !is_win) { ---- a/third_party/skia/include/core/SkTypes.h -+++ b/third_party/skia/include/core/SkTypes.h +Index: chromium-124.0.6367.60/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; @@ -91,8 +97,10 @@ + #endif ---- a/third_party/skia/src/base/SkSpinlock.cpp -+++ b/third_party/skia/src/base/SkSpinlock.cpp +Index: chromium-124.0.6367.60/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 @@ -103,8 +111,10 @@ #include static void do_pause() { _mm_pause(); } #else ---- a/third_party/skia/src/opts/SkBitmapProcState_opts.h -+++ b/third_party/skia/src/opts/SkBitmapProcState_opts.h +Index: chromium-124.0.6367.60/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. @@ -120,8 +130,10 @@ #include #elif defined(SK_ARM_HAS_NEON) #include ---- a/third_party/skia/src/opts/SkBlitRow_opts.h -+++ b/third_party/skia/src/opts/SkBlitRow_opts.h +Index: chromium-124.0.6367.60/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 @@ -131,8 +143,10 @@ static inline __m128i SkPMSrcOver_SSE2(const __m128i& src, const __m128i& dst) { __m128i scale = _mm_sub_epi32(_mm_set1_epi32(256), ---- a/third_party/skia/src/opts/SkRasterPipeline_opts.h -+++ b/third_party/skia/src/opts/SkRasterPipeline_opts.h +Index: chromium-124.0.6367.60/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. @@ -158,7 +172,7 @@ #else #include #endif -@@ -200,6 +205,182 @@ namespace SK_OPTS_NS { +@@ -200,6 +205,184 @@ namespace SK_OPTS_NS { ptr[3] = a; } @@ -213,10 +227,12 @@ + } + + 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 @@ -341,7 +357,7 @@ #elif defined(JUMPER_IS_NEON) template using V = Vec<4, T>; using F = V; -@@ -1025,6 +1206,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); @@ -357,7 +373,7 @@ #else // Remember, a half is 1-5-10 (sign-exponent-mantissa) with 15 exponent bias. U32 sem = expand(h), -@@ -1048,6 +1238,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); @@ -374,7 +390,7 @@ #else // Remember, a float is 1-8-23 (sign-exponent-mantissa) with 127 exponent bias. U32 sem = sk_bit_cast(f), -@@ -1123,7 +1323,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 @@ -383,7 +399,7 @@ // These platforms are ideal for wider stages, and their default ABI is ideal. #define ABI #define JUMPER_NARROW_STAGES 0 -@@ -5023,6 +5223,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)); @@ -394,7 +410,7 @@ #else return F{ sqrtf(x[0]), sqrtf(x[1]), sqrtf(x[2]), sqrtf(x[3]), -@@ -5046,6 +5250,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)); @@ -405,7 +421,7 @@ #else F roundtrip = cast(cast(x)); return roundtrip - if_then_else(roundtrip > x, F_(1), F_(0)); -@@ -5057,6 +5265,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. @@ -413,7 +429,7 @@ SI I16 scaled_mult(I16 a, I16 b) { #if defined(JUMPER_IS_SKX) return (I16)_mm256_mulhrs_epi16((__m256i)a, (__m256i)b); -@@ -5068,6 +5277,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); @@ -436,7 +452,7 @@ #else const I32 roundingTerm = I32_(1 << 14); return cast((cast(a) * cast(b) + roundingTerm) >> 15); -@@ -5089,7 +5314,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 @@ -463,7 +479,7 @@ } SI F fract(F x) { return x - floor_(x); } -@@ -5947,8 +6191,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 { @@ -478,7 +494,7 @@ // 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 -@@ -5960,7 +6210,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. @@ -491,7 +507,7 @@ }; const uint32_t* ptr; -@@ -5994,9 +6249,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. @@ -508,8 +524,10 @@ }; r = lerpY(topR, bottomR); ---- a/third_party/skia/src/base/SkVx.h -+++ b/third_party/skia/src/base/SkVx.h +Index: chromium-124.0.6367.60/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 @@ -525,8 +543,10 @@ #elif defined(SK_ARM_HAS_NEON) #include #elif defined(__wasm_simd128__) ---- a/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp -+++ b/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-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" @@ -536,8 +556,10 @@ // The order of these includes is important: // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget ---- a/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp -+++ b/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-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" @@ -547,8 +569,10 @@ !defined(SK_ENABLE_OPTIMIZE_SIZE) && \ SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3 ---- a/third_party/skia/src/core/SkBlitMask_opts.cpp -+++ b/third_party/skia/src/core/SkBlitMask_opts.cpp +Index: chromium-124.0.6367.60/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) @@ -558,8 +582,10 @@ #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3 if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BlitMask_ssse3(); } #endif ---- a/third_party/skia/src/core/SkBitmapProcState_opts.cpp -+++ b/third_party/skia/src/core/SkBitmapProcState_opts.cpp +Index: chromium-124.0.6367.60/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) @@ -569,8 +595,10 @@ #if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3 if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BitmapProcState_ssse3(); } #endif ---- a/third_party/skia/src/core/SkCpu.h -+++ b/third_party/skia/src/core/SkCpu.h +Index: chromium-124.0.6367.60/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 @@ -580,8 +608,10 @@ #if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1 features |= SSE1; #endif ---- a/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp -+++ b/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-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" @@ -591,8 +621,10 @@ // The order of these includes is important: // 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget ---- a/third_party/skia/include/private/base/SkFeatures.h -+++ b/third_party/skia/include/private/base/SkFeatures.h +Index: chromium-124.0.6367.60/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) @@ -602,8 +634,10 @@ #endif /** ---- a/third_party/skia/modules/skcms/src/skcms_internals.h -+++ b/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-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__) \ @@ -612,8 +646,10 @@ && !defined(__loongarch__) \ && !defined(_WIN32) && !defined(__SYMBIAN32__) #define SKCMS_HAS_MUSTTAIL 1 ---- a/third_party/skia/src/opts/SkSwizzler_opts.inc -+++ b/third_party/skia/src/opts/SkSwizzler_opts.inc +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 @@ -633,7 +669,7 @@ +#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) { ++static inline float reciprocal_alpha_times_255(float a) { + SkASSERT(0 <= a && a <= 255); + + vector float vA{a,a,a,a}; @@ -646,7 +682,7 @@ +} + +SK_NO_SANITIZE("float-divide-by-zero") -+static inline float SkReciprocalAlpha(float a) { ++static inline float reciprocal_alpha(float a) { + SkASSERT(0 <= a && a <= 1); + + vector float vA{a,a,a,a}; @@ -660,3 +696,32 @@ #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