public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/chromium] epel9-next: refresh ppc64 patches
@ 2026-08-07 16:06 Than Ngo
0 siblings, 0 replies; only message in thread
From: Than Ngo @ 2026-08-07 16:06 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/chromium
Branch : epel9-next
Commit : cd1739f1136641f17fd70fdf494bae40a649e1ea
Author : Than Ngo <than@redhat.com>
Date : 2024-04-22T20:29:56+02:00
Stats : +1507/-1247 in 3 file(s)
URL : https://src.fedoraproject.org/rpms/chromium/c/cd1739f1136641f17fd70fdf494bae40a649e1ea?branch=epel9-next
Log:
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 <openssl/arm_arch.h>
-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 <altivec.h>
+
-+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 <romain@dolbeau.org>
@@ -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 <romain@dolbeau.org>
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 <emmintrin.h>
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 <immintrin.h>
#elif defined(SK_ARM_HAS_NEON)
#include <arm_neon.h>
---- 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 <immintrin.h>
#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 <typename T>
@@ -341,7 +357,7 @@
#elif defined(JUMPER_IS_NEON)
template <typename T> using V = Vec<4, T>;
using F = V<float >;
-@@ -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<U32>(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<F>(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<F>(_mm_floor_ps(lo), _mm_floor_ps(hi));
@@ -405,7 +421,7 @@
#else
F roundtrip = cast<F>(cast<I32>(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<I16>((cast<I32>(a) * cast<I32>(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 <arm_neon.h>
#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 <cmath>
#include <utility>
@@ -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<const __m128i*>(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<const __m128i*>(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
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-07 16:06 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-07 16:06 [rpms/chromium] epel9-next: refresh ppc64 patches Than Ngo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox