- update to 130.0.6723.58

* High CVE-2024-9954: Use after free in AI
  * Medium CVE-2024-9955: Use after free in Web Authentication
  * Medium CVE-2024-9956: Inappropriate implementation in Web Authentication
  * Medium CVE-2024-9957: Use after free in UI
  * Medium CVE-2024-9958: Inappropriate implementation in PictureInPicture
  * Medium CVE-2024-9959: Use after free in DevTools
  * Medium CVE-2024-9960: Use after free in Dawn
  * Medium CVE-2024-9961: Use after free in Parcel Tracking
  * Medium CVE-2024-9962: Inappropriate implementation in Permissions
  * Medium CVE-2024-9963: Insufficient data validation in Downloads
  * Low CVE-2024-9964: Inappropriate implementation in Payments
  * Low CVE-2024-9965: Insufficient data validation in DevTools
  * Low CVE-2024-9966: Inappropriate implementation in Navigations
- enable noopenh264 support for epel >8
epel8 imports/epel9/chromium-130.0.6723.58-1.el9
Than Ngo 2 months ago
parent 975468507c
commit cfb5842982

@ -1,7 +1,7 @@
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/abi_self_test.cc
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/abi_self_test.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/abi_self_test.cc
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/abi_self_test.cc
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/abi_self_test.cc
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/abi_self_test.cc
@@ -521,3 +521,289 @@ TEST(ABITest, AArch64) {
CHECK_ABI_NO_UNWIND(abi_test_clobber_v15_upper);
}
@ -292,10 +292,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/abi_self_test.cc
+ CHECK_ABI_NO_UNWIND(abi_test_clobber_lr);
+}
+#endif // OPENSSL_PPC64LE && SUPPORTS_ABI_TEST
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/cpu_ppc64le.c
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/cpu_ppc64le.c
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/cpu_ppc64le.c
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/cpu_ppc64le.c
@@ -0,0 +1,38 @@
+/* Copyright (c) 2016, Google Inc.
+ *
@ -335,10 +335,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/cpu_ppc64le.c
+}
+
+#endif // OPENSSL_PPC64LE
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/crypto.c
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/crypto.c
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/crypto.c
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/crypto.c
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/crypto.c
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/crypto.c
@@ -66,6 +66,10 @@ uint32_t OPENSSL_get_ia32cap(int idx) {
return OPENSSL_ia32cap_P[idx];
}
@ -350,10 +350,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/crypto.c
#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
#include <openssl/arm_arch.h>
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
@@ -0,0 +1,3809 @@
+#! /usr/bin/env perl
+# Copyright 2014-2018 The OpenSSL Project Authors. All Rights Reserved.
@ -4164,11 +4164,11 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/aes/a
+}
+
+close STDOUT or die "error closing STDOUT: $!";
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
@@ -59,6 +59,12 @@ OPENSSL_INLINE int vpaes_capable(void) {
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
@@ -61,6 +61,12 @@ OPENSSL_INLINE int vpaes_capable(void) {
OPENSSL_INLINE int vpaes_capable(void) { return CRYPTO_is_NEON_capable(); }
#endif
@ -4181,22 +4181,22 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/aes/i
#endif
#endif // !NO_ASM
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/bcm.c
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/bcm.c
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.c
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/bcm.c
@@ -102,6 +102,7 @@
#include "self_check/fips.c"
#include "self_check/self_check.c"
#include "service_indicator/service_indicator.c"
+#include "sha/sha1-altivec.c"
#include "sha/sha1.c"
#include "sha/sha256.c"
#include "sha/sha512.c"
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.c
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/bcm.c
@@ -101,6 +101,7 @@
#include "self_check/fips.c.inc"
#include "self_check/self_check.c.inc"
#include "service_indicator/service_indicator.c.inc"
+#include "sha/sha1-altivec.c.inc"
#include "sha/sha1.c.inc"
#include "sha/sha256.c.inc"
#include "sha/sha512.c.inc"
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c.inc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c.inc
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/bn/bn.c.inc
@@ -384,6 +384,23 @@ int bn_expand(BIGNUM *bn, size_t bits) {
}
@ -4221,11 +4221,11 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/bn/bn
if ((size_t)bn->width <= words) {
if (!bn_wexpand(bn, words)) {
return 0;
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c.inc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c
@@ -1455,6 +1455,8 @@ int EVP_has_aes_hardware(void) {
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c.inc
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.c.inc
@@ -1456,6 +1456,8 @@ int EVP_has_aes_hardware(void) {
return hwaes_capable() && crypto_gcm_clmul_enabled();
#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
return hwaes_capable() && CRYPTO_is_ARMv8_PMULL_capable();
@ -4234,10 +4234,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/ciphe
#else
return 0;
#endif
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
@@ -0,0 +1,671 @@
+#! /usr/bin/env perl
+# Copyright 2014-2016 The OpenSSL Project Authors. All Rights Reserved.
@ -4910,10 +4910,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/modes
+}
+
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c.inc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c.inc
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.c.inc
@@ -228,6 +228,13 @@ void CRYPTO_ghash_init(gmult_func *out_m
*out_hash = gcm_ghash_neon;
return;
@ -4928,10 +4928,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/modes
#endif
gcm_init_nohw(out_table, H);
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
@@ -209,5 +209,15 @@ TEST(GCMTest, ABI) {
}
}
@ -4948,10 +4948,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/modes
+#endif // GHASH_ASM_PPC64LE
}
#endif // SUPPORTS_ABI_TEST && !OPENSSL_NO_ASM
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
@@ -325,6 +325,13 @@ void aes_gcm_dec_kernel(const uint8_t *i
const u128 Htable[16]);
#endif
@ -4966,10 +4966,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/modes
#endif
#endif // OPENSSL_NO_ASM
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/rand_extra/getrandom_fillin.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/rand/getrandom_fillin.h
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/rand_extra/getrandom_fillin.h
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/rand_extra/getrandom_fillin.h
@@ -30,6 +30,8 @@
#define EXPECTED_NR_getrandom 278
#elif defined(OPENSSL_ARM)
@ -4979,11 +4979,11 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/rand/
#elif defined(OPENSSL_RISCV64)
#define EXPECTED_NR_getrandom 278
#endif
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c.inc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c
@@ -431,6 +431,11 @@ void RAND_bytes_with_additional_data(uin
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c.inc
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/rand/rand.c.inc
@@ -427,6 +427,11 @@ bcm_infallible BCM_rand_bytes_with_addit
// Take a read lock around accesses to |state->drbg|. This is needed to
// avoid returning bad entropy if we race with
// |rand_thread_state_clear_all|.
@ -4995,10 +4995,10 @@ Index: chromium-128.0.6613.113/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,
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
@@ -23,6 +23,16 @@
extern "C" {
#endif
@ -5016,10 +5016,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/sha/i
// Define SHA{n}[_{variant}]_ASM if sha{n}_block_data_order[_{variant}] is
// defined in assembly.
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c.inc
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.c.inc
@@ -0,0 +1,361 @@
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
+ * All rights reserved.
@ -5382,10 +5382,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/sha/s
+#undef BODY_20_39
+#undef BODY_40_59
+#undef BODY_60_79
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/internal.h
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/internal.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/internal.h
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/internal.h
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/internal.h
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/internal.h
@@ -183,8 +183,9 @@ extern "C" {
#if !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_STATIC_ARMCAP) && \
(defined(OPENSSL_X86) || defined(OPENSSL_X86_64) || \
@ -5398,7 +5398,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/internal.h
#define NEED_CPUID
// OPENSSL_cpuid_setup initializes the platform-specific feature cache. This
@@ -1657,6 +1658,16 @@ OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA51
@@ -1723,6 +1724,16 @@ OPENSSL_INLINE int CRYPTO_is_ARMv8_SHA51
#endif // OPENSSL_ARM || OPENSSL_AARCH64
@ -5415,10 +5415,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/internal.h
#if defined(BORINGSSL_DISPATCH_TEST)
// Runtime CPU dispatch testing support
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
@@ -0,0 +1,320 @@
+#! /usr/bin/env perl
+# Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.
@ -5740,10 +5740,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/perlasm/ppc-xlat
+___
+
+close STDOUT or die "error closing STDOUT: $!";
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/test/abi_test.h
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/test/abi_test.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/test/abi_test.h
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/test/abi_test.h
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/test/abi_test.h
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/test/abi_test.h
@@ -179,7 +179,78 @@ struct alignas(16) Reg128 {
CALLER_STATE_REGISTER(uint64_t, x28) \
CALLER_STATE_REGISTER(uint64_t, x29)
@ -5850,10 +5850,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/test/abi_test.h
static_assert(sizeof...(args) <= 8,
"too many arguments for abi_test_trampoline");
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
@@ -0,0 +1,262 @@
+#!/usr/bin/env perl
+# Copyright (c) 2019, Google Inc.
@ -6117,10 +6117,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/test/asm/trampol
+
+print $code;
+close STDOUT or die "error closing STDOUT: $!";
Index: chromium-128.0.6613.113/third_party/boringssl/src/include/openssl/target.h
Index: chromium-130.0.6723.44/third_party/boringssl/src/include/openssl/target.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/include/openssl/target.h
+++ chromium-128.0.6613.113/third_party/boringssl/src/include/openssl/target.h
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/include/openssl/target.h
+++ chromium-130.0.6723.44/third_party/boringssl/src/include/openssl/target.h
@@ -34,6 +34,9 @@
#elif defined(__ARMEL__) || defined(_M_ARM)
#define OPENSSL_32_BIT
@ -6131,10 +6131,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/include/openssl/target.
#elif defined(__MIPSEL__) && !defined(__LP64__)
#define OPENSSL_32_BIT
#define OPENSSL_MIPS
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
@@ -37,6 +37,8 @@ int main(int argc, char **argv) {
puts("ARM (32-bit)");
#elif defined(OPENSSL_AARCH64)
@ -6144,10 +6144,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/acvp/mod
#else
#error "FIPS build not supported on this architecture"
#endif
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/delocate.go
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/delocate.go
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/delocate.go
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/delocate.go
@@ -54,7 +54,8 @@ type stringWriter interface {
type processorType int
@ -6206,7 +6206,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
return statement, nil
}
@@ -646,6 +658,191 @@ func (d *delocation) processAarch64Instr
@@ -659,6 +671,191 @@ func (d *delocation) processAarch64Instr
return statement, nil
}
@ -6398,7 +6398,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
func (d *delocation) gatherOffsets(symRef *node32, offsets string) (*node32, string) {
for symRef != nil && symRef.pegRule == ruleOffset {
offset := d.contents(symRef)
@@ -700,6 +897,215 @@ func (d *delocation) parseMemRef(memRef
@@ -713,6 +910,215 @@ func (d *delocation) parseMemRef(memRef
return
}
@ -6614,7 +6614,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
/* Intel */
type instructionType int
@@ -1332,6 +1738,8 @@ func writeAarch64Function(w stringWriter
@@ -1345,6 +1751,8 @@ func writeAarch64Function(w stringWriter
func transform(w stringWriter, inputs []inputFile) error {
// symbols contains all defined symbols.
symbols := make(map[string]struct{})
@ -6623,7 +6623,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
// fileNumbers is the set of IDs seen in .file directives.
fileNumbers := make(map[int]struct{})
// maxObservedFileNumber contains the largest seen file number in a
@@ -1355,6 +1763,25 @@ func transform(w stringWriter, inputs []
@@ -1368,6 +1776,25 @@ func transform(w stringWriter, inputs []
}, ruleStatement, ruleLabel, ruleSymbolName)
forEachPath(input.ast.up, func(node *node32) {
@ -6649,7 +6649,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
assertNodeType(node, ruleLocationDirective)
directive := input.contents[node.begin:node.end]
if !strings.HasPrefix(directive, ".file") {
@@ -1402,11 +1829,13 @@ func transform(w stringWriter, inputs []
@@ -1415,11 +1842,13 @@ func transform(w stringWriter, inputs []
d := &delocation{
symbols: symbols,
@ -6663,7 +6663,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
gotExternalsNeeded: make(map[string]struct{}),
gotOffsetsNeeded: make(map[string]struct{}),
gotOffOffsetsNeeded: make(map[string]struct{}),
@@ -1441,6 +1870,22 @@ func transform(w stringWriter, inputs []
@@ -1454,6 +1883,22 @@ func transform(w stringWriter, inputs []
for _, name := range redirectorNames {
redirector := d.redirectors[name]
switch d.processor {
@ -6686,7 +6686,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
case aarch64:
writeAarch64Function(w, redirector, func(w stringWriter) {
w.WriteString("\tb " + name + "\n")
@@ -1465,6 +1910,13 @@ func transform(w stringWriter, inputs []
@@ -1478,6 +1923,13 @@ func transform(w stringWriter, inputs []
target := d.bssAccessorsNeeded[name]
switch d.processor {
@ -6700,7 +6700,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
case x86_64:
w.WriteString(".type " + funcName + ", @function\n")
w.WriteString(funcName + ":\n")
@@ -1480,6 +1932,26 @@ func transform(w stringWriter, inputs []
@@ -1493,6 +1945,26 @@ func transform(w stringWriter, inputs []
}
switch d.processor {
@ -6727,7 +6727,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
case aarch64:
externalNames := sortedSet(d.gotExternalsNeeded)
for _, symbol := range externalNames {
@@ -1790,6 +2262,10 @@ func localTargetName(name string) string
@@ -1803,6 +2275,10 @@ func localTargetName(name string) string
return ".L" + name + "_local_target"
}
@ -6738,7 +6738,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
func isSynthesized(symbol string) bool {
return strings.HasSuffix(symbol, "_bss_get") ||
symbol == "OPENSSL_ia32cap_get" ||
@@ -1845,6 +2321,8 @@ func detectProcessor(input inputFile) pr
@@ -1858,6 +2334,8 @@ func detectProcessor(input inputFile) pr
switch instructionName {
case "movq", "call", "leaq":
return x86_64
@ -6747,10 +6747,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
case "str", "bl", "ldr", "st1":
return aarch64
}
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
@@ -12,7 +12,7 @@
# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
@ -6760,10 +6760,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
# https://github.com/pointlander/peg. delocate.go has a go:generate line for
# rebuilding delocate.peg.go from this file.
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
@@ -39,6 +39,11 @@ func (test *delocateTest) Path(file stri
var delocateTests = []delocateTest{
@ -6776,10 +6776,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
{"x86_64-Basic", []string{"in.s"}, "out.s"},
{"x86_64-BSS", []string{"in.s"}, "out.s"},
{"x86_64-GOTRewrite", []string{"in.s"}, "out.s"},
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
@@ -0,0 +1,9 @@
+ .text
+foo:
@ -6790,10 +6790,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
+ .localentry foo,.-foo
+.LVL0:
+ bl
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
@@ -0,0 +1,62 @@
+.text
+.file 1 "inserted_by_delocate.c"
@ -6857,19 +6857,19 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
@@ -0,0 +1,4 @@
+ .text
+foo:
+ addis 22,2,bar@toc@ha
+ ld 0,bar@toc@l(22)
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
@@ -0,0 +1,72 @@
+.text
+.file 1 "inserted_by_delocate.c"
@ -6943,10 +6943,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
@@ -0,0 +1,161 @@
+ .file "foo.c"
+ .abiversion 2
@ -7109,10 +7109,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
+ .size exported_function,.-exported_function
+ .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2"
+ .section .note.GNU-stack,"",@progbits
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
@@ -0,0 +1,552 @@
+.text
+.file 1 "inserted_by_delocate.c"
@ -7666,10 +7666,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
@@ -0,0 +1,226 @@
+ .file "foo.c"
+ .abiversion 2
@ -7897,10 +7897,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
+ .zero 20
+ .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2"
+ .section .note.GNU-stack,"",@progbits
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
@@ -0,0 +1,677 @@
+.text
+.file 1 "inserted_by_delocate.c"
@ -8579,10 +8579,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
@@ -0,0 +1,23 @@
+ .text
+foo:
@ -8607,10 +8607,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
+
+ addis 4, 2, 1+foo-2@toc@ha+3
+ addi 4, 4, 1+foo-2@toc@l+3
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
@@ -0,0 +1,178 @@
+.text
+.file 1 "inserted_by_delocate.c"
@ -8790,11 +8790,11 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/fipstools/delocate
+.byte 0xff
+.byte 0x31
+.byte 0x80
Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c
Index: chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c.inc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c
+++ chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c
@@ -416,6 +416,10 @@ static void sha1_block_data_order(uint32
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c.inc
+++ chromium-130.0.6723.44/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.c.inc
@@ -408,6 +408,10 @@ static void sha1_block_data_order(uint32
return;
}
#endif
@ -8805,11 +8805,11 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/crypto/fipsmodule/sha/s
sha1_block_data_order_nohw(state, data, num);
}
Index: chromium-128.0.6613.113/third_party/boringssl/src/build.json
Index: chromium-130.0.6723.44/third_party/boringssl/src/build.json
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/build.json
+++ chromium-128.0.6613.113/third_party/boringssl/src/build.json
@@ -122,6 +122,10 @@
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/build.json
+++ chromium-130.0.6723.44/third_party/boringssl/src/build.json
@@ -118,6 +118,10 @@
{"src": "crypto/fipsmodule/sha/asm/sha512-armv4.pl"},
{"src": "crypto/fipsmodule/aes/asm/vpaes-armv7.pl"}
],
@ -8820,7 +8820,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/build.json
"perlasm_x86": [
{"src": "crypto/fipsmodule/aes/asm/aesni-x86.pl"},
{"src": "crypto/fipsmodule/bn/asm/bn-586.pl"},
@@ -225,6 +229,7 @@
@@ -219,6 +223,7 @@
"crypto/cpu_arm_freebsd.c",
"crypto/cpu_arm_linux.c",
"crypto/cpu_intel.c",
@ -8828,7 +8828,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/build.json
"crypto/crypto.c",
"crypto/curve25519/curve25519.c",
"crypto/curve25519/curve25519_64_adx.c",
@@ -775,6 +780,9 @@
@@ -799,6 +804,9 @@
"perlasm_arm": [
{"src": "crypto/test/asm/trampoline-armv4.pl"}
],
@ -8838,10 +8838,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/build.json
"perlasm_x86": [
{"src": "crypto/test/asm/trampoline-x86.pl"}
],
Index: chromium-128.0.6613.113/third_party/boringssl/src/util/pregenerate/build.go
Index: chromium-130.0.6723.44/third_party/boringssl/src/util/pregenerate/build.go
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/util/pregenerate/build.go
+++ chromium-128.0.6613.113/third_party/boringssl/src/util/pregenerate/build.go
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/util/pregenerate/build.go
+++ chromium-130.0.6723.44/third_party/boringssl/src/util/pregenerate/build.go
@@ -38,6 +38,7 @@ type InputTarget struct {
// architecture.
PerlasmAarch64 []PerlasmSource `json:"perlasm_aarch64,omitempty"`
@ -8860,38 +8860,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/util/pregenerate/build.
for _, p := range in.PerlasmX86 {
addPerlasmTask(&out.Asm, &p, "-apple.S", []string{"macosx", "-fPIC"})
addPerlasmTask(&out.Asm, &p, "-linux.S", []string{"elf", "-fPIC"})
Index: chromium-128.0.6613.113/third_party/boringssl/BUILD.generated.gni
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/BUILD.generated.gni
+++ chromium-128.0.6613.113/third_party/boringssl/BUILD.generated.gni
@@ -92,6 +92,7 @@ crypto_sources = [
"src/crypto/cpu_arm_linux.c",
"src/crypto/cpu_arm_linux.h",
"src/crypto/cpu_intel.c",
+ "src/crypto/cpu_ppc64le.c",
"src/crypto/crypto.c",
"src/crypto/curve25519/curve25519.c",
"src/crypto/curve25519/curve25519_64_adx.c",
@@ -335,6 +336,7 @@ crypto_sources_asm = [
"src/gen/bcm/aesv8-gcm-armv8-apple.S",
"src/gen/bcm/aesv8-gcm-armv8-linux.S",
"src/gen/bcm/aesv8-gcm-armv8-win.S",
+ "src/gen/bcm/aesp8-ppc-linux.S",
"src/gen/bcm/armv4-mont-linux.S",
"src/gen/bcm/armv8-mont-apple.S",
"src/gen/bcm/armv8-mont-linux.S",
@@ -351,6 +353,7 @@ crypto_sources_asm = [
"src/gen/bcm/ghash-neon-armv8-apple.S",
"src/gen/bcm/ghash-neon-armv8-linux.S",
"src/gen/bcm/ghash-neon-armv8-win.S",
+ "src/gen/bcm/ghashp8-ppc-linux.S",
"src/gen/bcm/ghash-ssse3-x86-apple.S",
"src/gen/bcm/ghash-ssse3-x86-linux.S",
"src/gen/bcm/ghash-ssse3-x86_64-apple.S",
Index: chromium-128.0.6613.113/third_party/boringssl/README.ppc64le
Index: chromium-130.0.6723.44/third_party/boringssl/README.ppc64le
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/README.ppc64le
+++ chromium-130.0.6723.44/third_party/boringssl/README.ppc64le
@@ -0,0 +1,8 @@
+==============================================================
+To recreate boringssl pregenerated files patch for ppc64le:
@ -8901,3 +8873,31 @@ Index: chromium-128.0.6613.113/third_party/boringssl/README.ppc64le
+go run ./util/pregenerate
+cd ../../../../
+diff -urN chromium-*/third_party/boringssl/src/gen.orig chromium-*/third_party/boringssl/src/gen
Index: chromium-130.0.6723.44/third_party/boringssl/src/gen/sources.gni
===================================================================
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/gen/sources.gni
+++ chromium-130.0.6723.44/third_party/boringssl/src/gen/sources.gni
@@ -107,6 +107,7 @@ bcm_sources_asm = [
"gen/bcm/aesv8-gcm-armv8-apple.S",
"gen/bcm/aesv8-gcm-armv8-linux.S",
"gen/bcm/aesv8-gcm-armv8-win.S",
+ "gen/bcm/aesp8-ppc-linux.S",
"gen/bcm/armv4-mont-linux.S",
"gen/bcm/armv8-mont-apple.S",
"gen/bcm/armv8-mont-linux.S",
@@ -123,6 +124,7 @@ bcm_sources_asm = [
"gen/bcm/ghash-neon-armv8-apple.S",
"gen/bcm/ghash-neon-armv8-linux.S",
"gen/bcm/ghash-neon-armv8-win.S",
+ "gen/bcm/ghashp8-ppc-linux.S",
"gen/bcm/ghash-ssse3-x86-apple.S",
"gen/bcm/ghash-ssse3-x86-linux.S",
"gen/bcm/ghash-ssse3-x86_64-apple.S",
@@ -314,6 +316,7 @@ crypto_sources = [
"crypto/cpu_arm_freebsd.c",
"crypto/cpu_arm_linux.c",
"crypto/cpu_intel.c",
+ "crypto/cpu_ppc64le.c",
"crypto/crypto.c",
"crypto/curve25519/curve25519.c",
"crypto/curve25519/curve25519_64_adx.c",

@ -8,20 +8,23 @@ Subject: [PATCH] Force baseline POWER8 / AltiVec / VSX CPU features when on a
BUILD.gn | 6 ++++++
1 file changed, 6 insertions(+)
Index: chromium-128.0.6613.113/v8/BUILD.gn
Index: chromium-130.0.6723.44/v8/BUILD.gn
===================================================================
--- chromium-128.0.6613.113.orig/v8/BUILD.gn
+++ chromium-128.0.6613.113/v8/BUILD.gn
@@ -1417,6 +1417,12 @@ config("toolchain") {
}
if (host_byteorder == "little") {
defines += [ "V8_TARGET_ARCH_PPC_LE" ]
--- chromium-130.0.6723.44.orig/v8/BUILD.gn
+++ chromium-130.0.6723.44/v8/BUILD.gn
@@ -1431,7 +1431,14 @@ config("toolchain") {
if (v8_current_cpu == "ppc64") {
defines += [ "V8_TARGET_ARCH_PPC64" ]
cflags += [ "-ffp-contract=off" ]
- if (current_os == "aix") {
+ if (current_os == "linux") {
+ cflags += [
+ # Enable usage of AltiVec, VSX, and other POWER8 and higher features
+ "-mcpu=power8",
+ "-maltivec",
+ "-mvsx",
+ ]
} else if (host_byteorder == "big") {
defines += [ "V8_TARGET_ARCH_PPC_BE" ]
if (current_os == "aix") {
+ } else if (current_os == "aix") {
cflags += [
# Work around AIX ceil, trunc and round oddities.
"-mcpu=power5+",

@ -40,16 +40,20 @@ This patch implements support for the PPC64 architecture on Linux hosts.
util/misc/capture_context_test_util_linux.cc | 6 +
36 files changed, 932 insertions(+), 12 deletions(-)
--- a/third_party/crashpad/crashpad/CONTRIBUTORS
+++ b/third_party/crashpad/crashpad/CONTRIBUTORS
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/CONTRIBUTORS
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/CONTRIBUTORS
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/CONTRIBUTORS
@@ -13,3 +13,5 @@ Mark Mentovai <mark@chromium.org>
Robert Sesek <rsesek@chromium.org>
Scott Graham <scottmg@chromium.org>
Joshua Peraza <jperaza@chromium.org>
+Shawn Anastasio <sanastasio@raptorengineering.com>
+Timothy Pearson <tpearson@raptorengineering.com>
--- a/third_party/crashpad/crashpad/minidump/minidump_context.h
+++ b/third_party/crashpad/crashpad/minidump/minidump_context.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context.h
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/minidump/minidump_context.h
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context.h
@@ -687,6 +687,70 @@ struct MinidumpContextRISCV64 {
uint32_t fcsr;
};
@ -121,8 +125,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
} // namespace crashpad
#endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_H_
--- a/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
+++ b/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
@@ -110,6 +110,13 @@ MinidumpContextWriter::CreateFromSnapsho
break;
}
@ -186,8 +192,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
+}
} // namespace crashpad
--- a/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
+++ b/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
@@ -413,6 +413,49 @@ class MinidumpContextRISCV64Writer final
MinidumpContextRISCV64 context_;
};
@ -238,8 +246,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
} // namespace crashpad
#endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_WRITER_H_
--- a/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
+++ b/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
@@ -322,6 +322,21 @@ TYPED_TEST(MinidumpContextWriter, RISCV6
TypeParam>(context, ExpectMinidumpContextRISCV64, kSeed);
}
@ -262,8 +272,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
} // namespace
} // namespace test
} // namespace crashpad
--- a/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
+++ b/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
@@ -177,6 +177,8 @@ std::string MinidumpMiscInfoDebugBuildSt
static constexpr char kCPU[] = "mips64";
#elif defined(ARCH_CPU_RISCV64)
@ -273,8 +285,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
#else
#error define kCPU for this CPU
#endif
--- a/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
+++ b/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
@@ -297,6 +297,40 @@ void InitializeMinidumpContextRISCV64(Mi
context->fcsr = value++;
}
@ -355,8 +369,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
+
} // namespace test
} // namespace crashpad
--- a/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
+++ b/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
@@ -90,6 +90,9 @@ void ExpectMinidumpContextMIPS64(uint32_
void ExpectMinidumpContextRISCV64(uint32_t expect_seed,
const MinidumpContextRISCV64* observed,
@ -367,8 +383,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
//! \}
} // namespace test
--- a/third_party/crashpad/crashpad/snapshot/capture_memory.cc
+++ b/third_party/crashpad/crashpad/snapshot/capture_memory.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/capture_memory.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/capture_memory.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/capture_memory.cc
@@ -123,6 +123,11 @@ void CaptureMemory::PointedToByContext(c
for (size_t i = 0; i < std::size(context.riscv64->regs); ++i) {
MaybeCaptureMemoryAround(delegate, context.riscv64->regs[i]);
@ -381,8 +399,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
#else
#error Port.
#endif
--- a/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
+++ b/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
@@ -47,6 +47,9 @@ enum CPUArchitecture {
//! \brief 64-bit RISC-V.
@ -393,8 +413,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
};
} // namespace crashpad
--- a/third_party/crashpad/crashpad/snapshot/cpu_context.cc
+++ b/third_party/crashpad/crashpad/snapshot/cpu_context.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_context.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/cpu_context.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_context.cc
@@ -173,6 +173,8 @@ uint64_t CPUContext::InstructionPointer(
return arm64->pc;
case kCPUArchitectureRISCV64:
@ -421,8 +443,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
case kCPUArchitectureRISCV64:
return true;
case kCPUArchitectureX86:
--- a/third_party/crashpad/crashpad/snapshot/cpu_context.h
+++ b/third_party/crashpad/crashpad/snapshot/cpu_context.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_context.h
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/cpu_context.h
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_context.h
@@ -371,6 +371,24 @@ struct CPUContextRISCV64 {
uint32_t fcsr;
};
@ -456,8 +480,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
};
};
--- a/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
+++ b/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
@@ -15,6 +15,7 @@
#ifndef CRASHPAD_SNAPSHOT_LINUX_CPU_CONTEXT_LINUX_H_
#define CRASHPAD_SNAPSHOT_LINUX_CPU_CONTEXT_LINUX_H_
@ -545,8 +571,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
} // namespace internal
} // namespace crashpad
--- a/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
+++ b/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
@@ -194,12 +194,15 @@ void TestAgainstTarget(PtraceConnection*
device == 0 && inode == 0 && mapping_name == "[vdso]";
#if defined(ARCH_CPU_X86)
@ -564,8 +592,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
},
module_mapping->name,
module_mapping->device,
--- a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
+++ b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
@@ -367,6 +367,69 @@ bool ExceptionSnapshotLinux::ReadContext
return internal::ReadContext(reader, context_address, context_.riscv64);
}
@ -636,8 +666,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
#endif // ARCH_CPU_X86_FAMILY
bool ExceptionSnapshotLinux::Initialize(
--- a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
+++ b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
@@ -91,6 +91,8 @@ class ExceptionSnapshotLinux final : pub
CPUContextMIPS64 mips64;
#elif defined(ARCH_CPU_RISCV64)
@ -647,8 +679,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
#endif
} context_union_;
CPUContext context_;
--- a/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
+++ b/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
@@ -325,7 +325,28 @@ void ExpectContext(const CPUContext& act
sizeof(actual.riscv64->fpregs)),
0);
@ -678,8 +712,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
#else
#error Port.
#endif
--- a/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
+++ b/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
@@ -129,6 +129,8 @@ void ProcessReaderLinux::Thread::Initial
: thread_info.thread_context.t32.regs[29];
#elif defined(ARCH_CPU_RISCV64)
@ -689,8 +725,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
#else
#error Port.
#endif
--- a/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
+++ b/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
@@ -456,6 +456,89 @@ static_assert(offsetof(UContext<ContextT
offsetof(ucontext_t, uc_mcontext.__fpregs),
"context offset mismatch");
@ -781,8 +819,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
#else
#error Port.
#endif // ARCH_CPU_X86_FAMILY
--- a/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
+++ b/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
@@ -208,6 +208,8 @@ CPUArchitecture SystemSnapshotLinux::Get
: kCPUArchitectureMIPSEL;
#elif defined(ARCH_CPU_RISCV64)
@ -822,8 +862,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
#else
#error Port.
#endif // ARCH_CPU_X86_FAMILY
--- a/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
+++ b/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
@@ -196,6 +196,14 @@ bool ThreadSnapshotLinux::Initialize(
InitializeCPUContextRISCV64(thread.thread_info.thread_context.t64,
thread.thread_info.float_context.f64,
@ -839,8 +881,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
#else
#error Port.
#endif
--- a/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
+++ b/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
@@ -76,6 +76,8 @@ class ThreadSnapshotLinux final : public
CPUContextMIPS64 mips64;
#elif defined(ARCH_CPU_RISCV64)
@ -850,8 +894,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
#else
#error Port.
#endif // ARCH_CPU_X86_FAMILY
--- a/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
+++ b/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
@@ -317,5 +317,38 @@ void InitializeCPUContextRISCV64(CPUCont
riscv64->fcsr = value++;
}
@ -891,8 +937,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
+
} // namespace test
} // namespace crashpad
--- a/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
+++ b/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
@@ -64,6 +64,7 @@ void InitializeCPUContextARM64(CPUContex
void InitializeCPUContextMIPS(CPUContext* context, uint32_t seed);
void InitializeCPUContextMIPS64(CPUContext* context, uint32_t seed);
@ -901,8 +949,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
//! \}
} // namespace test
--- a/third_party/crashpad/crashpad/test/linux/get_tls.cc
+++ b/third_party/crashpad/crashpad/test/linux/get_tls.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/test/linux/get_tls.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/test/linux/get_tls.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/test/linux/get_tls.cc
@@ -51,6 +51,8 @@ LinuxVMAddress GetTLS() {
: "$3");
#elif defined(ARCH_CPU_RISCV64)
@ -912,8 +962,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
#else
#error Port.
#endif // ARCH_CPU_ARMEL
--- a/third_party/crashpad/crashpad/test/multiprocess_posix.cc
+++ b/third_party/crashpad/crashpad/test/multiprocess_posix.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/test/multiprocess_posix.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/test/multiprocess_posix.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/test/multiprocess_posix.cc
@@ -162,7 +162,8 @@ void Multiprocess::SetExpectedChildTermi
}
@ -924,8 +976,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
SetExpectedChildTermination(kTerminationSignal, SIGTRAP);
#else
SetExpectedChildTermination(kTerminationSignal, SIGILL);
--- a/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
+++ b/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
@@ -56,6 +56,11 @@ bool AuxiliaryVector::Read(PtraceConnect
if (type == AT_IGNORE) {
continue;
@ -938,8 +992,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
if (!MapInsertOrReplace(&values_, type, value, nullptr)) {
LOG(ERROR) << "duplicate auxv entry";
return false;
--- a/third_party/crashpad/crashpad/util/linux/ptracer.cc
+++ b/third_party/crashpad/crashpad/util/linux/ptracer.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/ptracer.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/util/linux/ptracer.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/ptracer.cc
@@ -430,6 +430,64 @@ bool GetThreadArea64(pid_t tid,
return true;
}
@ -1015,8 +1071,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
GetThreadArea64(tid,
info->thread_context,
&info->thread_specific_data_address,
--- a/third_party/crashpad/crashpad/util/linux/thread_info.h
+++ b/third_party/crashpad/crashpad/util/linux/thread_info.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/thread_info.h
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/util/linux/thread_info.h
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/thread_info.h
@@ -34,6 +34,10 @@
#include <asm/ptrace.h>
#endif
@ -1135,8 +1193,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
//! \brief The thread-local storage address for the thread.
LinuxVMAddress thread_specific_data_address;
};
--- a/third_party/crashpad/crashpad/util/misc/capture_context.h
+++ b/third_party/crashpad/crashpad/util/misc/capture_context.h
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context.h
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/util/misc/capture_context.h
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context.h
@@ -70,6 +70,7 @@ using NativeCPUContext = ucontext_t;
//! Linux | ARM/ARM64 | `r0`/`x0`
//! Linux | MIPS/MIPS64 | `$a0`
@ -1145,8 +1205,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
//!
//! Additionally, the value `LR` on ARM/ARM64 will be the return address of
//! this function.
--- a/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
+++ b/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
@@ -30,7 +30,7 @@
.globl CAPTURECONTEXT_SYMBOL2
#if defined(__i386__) || defined(__x86_64__)
@ -1373,8 +1435,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
#elif defined(__riscv)
#define MCONTEXT_GREGS_OFFSET 176
--- a/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
+++ b/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
@@ -48,7 +48,7 @@ void TestCaptureContext() {
uintptr_t pc = ProgramCounterFromContext(context_1);
@ -1384,8 +1448,10 @@ This patch implements support for the PPC64 architecture on Linux hosts.
// Sanitizers can cause enough code bloat that the “nearby” check would
// likely fail.
const uintptr_t kReferencePC =
--- a/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
+++ b/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
===================================================================
--- chromium-130.0.6723.44.orig/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
+++ chromium-130.0.6723.44/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
@@ -38,6 +38,8 @@ void SanityCheckContext(const NativeCPUC
#elif defined(ARCH_CPU_RISCV64)
EXPECT_EQ(context.uc_mcontext.__gregs[10],

@ -54,10 +54,10 @@ https://wiki.raptorcs.com/wiki/Porting/Chromium
src/tools/linux/md2core/minidump-2-core.cc | 45 +++++++++++++++
25 files changed, 281 insertions(+), 35 deletions(-)
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
@@ -51,6 +51,8 @@ typedef MDRawContextRISCV64 RawContextCP
# else
# error "Unexpected __riscv_xlen"
@ -67,10 +67,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/du
#else
#error "This code has not been ported to your platform yet."
#endif
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
@@ -336,7 +336,42 @@ void ThreadInfo::FillCPUContext(RawConte
#error "Unexpected __riscv_xlen"
#endif
@ -153,10 +153,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/du
+#endif
+
} // namespace google_breakpad
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
@@ -67,6 +67,10 @@ struct ThreadInfo {
// Use the structures defined in <sys/user.h>
struct user_regs_struct regs;
@ -180,10 +180,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/du
};
} // namespace google_breakpad
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
@@ -324,6 +324,48 @@ void UContextReader::FillCPUContext(RawC
#error "Unexpected __riscv_xlen"
#endif
@ -233,10 +233,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/du
#endif
} // namespace google_breakpad
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
@@ -54,6 +54,9 @@ struct UContextReader {
#elif defined(__aarch64__)
static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc,
@ -247,10 +247,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/du
#else
static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc);
#endif
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
@@ -464,6 +464,13 @@ bool ExceptionHandler::HandleSignal(int
memcpy(&g_crash_context_.float_state, fp_ptr,
sizeof(g_crash_context_.float_state));
@ -295,10 +295,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/ha
#elif defined(__riscv)
context.siginfo.si_addr =
reinterpret_cast<void*>(context.context.uc_mcontext.__gregs[REG_PC]);
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
@@ -200,7 +200,11 @@ class ExceptionHandler {
siginfo_t siginfo;
pid_t tid; // the crashing thread.
@ -312,10 +312,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/ha
fpstate_t float_state;
#endif
};
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
@@ -321,7 +321,7 @@ TEST(ExceptionHandlerTest, ParallelChild
ASSERT_EQ(SIGSEGV, WTERMSIG(status));
return;
@ -347,10 +347,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/ha
const int kOffset = kMemorySize - sizeof(kIllegalInstruction);
const pid_t child = fork();
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
@@ -141,7 +141,9 @@ class MicrodumpWriter {
const MicrodumpExtraInfo& microdump_extra_info,
LinuxDumper* dumper)
@ -393,10 +393,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/mi
const google_breakpad::fpstate_t* const float_state_;
#endif
LinuxDumper* dumper_;
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
@@ -282,10 +282,19 @@ TEST(MicrodumpWriterTest, BasicWithMappi
CrashAndGetMicrodump(mappings, MicrodumpExtraInfo(), &buf);
ASSERT_TRUE(ContainsMicrodump(buf));
@ -420,10 +420,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/mi
#else
ASSERT_NE(std::string::npos,
buf.find("M 00001000 0000002A 00001000 "
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
@@ -118,6 +118,9 @@ bool LinuxCoreDumper::GetThreadInfoByInd
#elif defined(__riscv)
stack_pointer = reinterpret_cast<uint8_t*>(
@ -446,10 +446,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/mi
# if defined(__ANDROID__)
for (int i = EF_R0; i <= EF_R31; i++)
info.mcontext.gregs[i - EF_R0] = status->pr_reg[i];
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
@@ -770,7 +770,9 @@ bool LinuxDumper::GetStackInfo(const voi
reinterpret_cast<uint8_t*>(int_stack_pointer & ~(page_size - 1));
@ -461,10 +461,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/mi
const MappingInfo* mapping = FindMapping(stack_pointer);
if (!mapping)
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
@@ -64,7 +64,8 @@ namespace google_breakpad {
typedef Elf32_auxv_t elf_aux_entry;
#elif defined(__x86_64) || defined(__aarch64__) || \
@ -475,10 +475,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/mi
typedef Elf64_auxv_t elf_aux_entry;
#endif
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
@@ -56,6 +56,8 @@
#define TID_PTR_REGISTER "$1"
#elif defined(__riscv)
@ -488,10 +488,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/mi
#else
#error This test has not been ported to this platform.
#endif
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
@@ -208,12 +208,12 @@ bool LinuxPtraceDumper::ReadRegisterSet(
#ifdef PTRACE_GETREGSET
struct iovec io;
@ -533,10 +533,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/mi
#else
# error "This code hasn't been ported to your platform yet."
#endif
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
@@ -470,6 +470,9 @@ TEST(LinuxPtraceDumperTest, VerifyStackR
#elif defined(__riscv)
pid_t* process_tid_location =
@ -556,10 +556,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/mi
#else
#error This test has not been ported to this platform.
#endif
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
@@ -144,7 +144,9 @@ class MinidumpWriter {
: fd_(minidump_fd),
path_(minidump_path),
@ -613,10 +613,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/mi
const google_breakpad::fpstate_t* const float_state_; // ditto
#endif
LinuxDumper* dumper_;
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
@@ -47,6 +47,8 @@ class ExceptionHandler;
#if defined(__aarch64__)
@ -626,10 +626,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/mi
#elif !defined(__ARM_EABI__) && !defined(__mips__)
typedef std::remove_pointer<fpregset_t>::type fpstate_t;
#endif
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
@@ -723,6 +723,9 @@ TEST(MinidumpWriterTest, InvalidStackPoi
#elif defined(__riscv)
context.context.uc_mcontext.__gregs[MD_CONTEXT_RISCV_REG_SP] =
@ -640,10 +640,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/client/linux/mi
#else
# error "This code has not been ported to your platform yet."
#endif
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
@@ -72,8 +72,7 @@ bool MemoryMappedFile::Map(const char* p
#if defined(__x86_64__) || defined(__aarch64__) || \
@ -654,10 +654,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/common/linux/me
struct kernel_stat st;
if (sys_fstat(fd, &st) == -1 || st.st_size < 0) {
#else
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
@@ -179,9 +179,10 @@ TEST_F(MemoryMappedFileTest, RemapAfterM
TEST_F(MemoryMappedFileTest, MapWithOffset) {
// Put more data in the test file this time. Offsets can only be
@ -672,10 +672,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/common/linux/me
for (size_t i = 0; i < data1_size; ++i) {
data1[i] = i & 0x7f;
}
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
@@ -60,8 +60,9 @@ TEST(PageAllocatorTest, LargeObject) {
EXPECT_EQ(0U, allocator.pages_allocated());
@ -687,10 +687,10 @@ Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/common/memory_a
for (unsigned i = 1; i < 10; ++i) {
uint8_t* p = reinterpret_cast<uint8_t*>(allocator.Alloc(i));
ASSERT_FALSE(p == NULL);
Index: chromium-128.0.6613.113/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
+++ chromium-128.0.6613.113/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
--- chromium-130.0.6723.44.orig/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
+++ chromium-130.0.6723.44/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
@@ -82,6 +82,8 @@
#define ELF_ARCH EM_AARCH64
#elif defined(__riscv)

@ -12,10 +12,10 @@ Subject: [PATCH] sandbox/linux: Update syscall helpers/lists for ppc64
sandbox/linux/services/syscall_wrappers.cc | 2 +-
6 files changed, 73 insertions(+), 55 deletions(-)
Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
--- chromium-130.0.6723.44.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+++ chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
@@ -90,7 +90,8 @@ bool IsBaselinePolicyWatched(int sysno)
SyscallSets::IsPrctl(sysno) ||
SyscallSets::IsProcessGroupOrSession(sysno) ||
@ -54,10 +54,10 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/baseline_policy
if (SyscallSets::IsSocketCall(sysno))
return RestrictSocketcallCommand();
#endif
Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
--- chromium-130.0.6723.44.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+++ chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
@@ -36,7 +36,7 @@
#include "sandbox/linux/system_headers/linux_time.h"
@ -146,10 +146,10 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_paramet
PTRACE_GETREGS, PTRACE_GETFPREGS, PTRACE_GET_THREAD_AREA,
PTRACE_GETREGSET,
#endif
Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
--- chromium-130.0.6723.44.orig/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
+++ chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h
@@ -52,7 +52,7 @@ SANDBOX_EXPORT bpf_dsl::ResultExpr Restr
// O_NONBLOCK | O_SYNC | O_LARGEFILE | O_CLOEXEC | O_NOATIME.
SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictFcntlCommands();
@ -159,10 +159,10 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_paramet
// Restrict socketcall(2) to only allow socketpair(2), send(2), recv(2),
// sendto(2), recvfrom(2), shutdown(2), sendmsg(2) and recvmsg(2).
SANDBOX_EXPORT bpf_dsl::ResultExpr RestrictSocketcallCommand();
Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
--- chromium-130.0.6723.44.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+++ chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
@@ -29,7 +29,8 @@ bool SyscallSets::IsAllowedGettime(int s
switch (sysno) {
case __NR_gettimeofday:
@ -357,7 +357,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
bool SyscallSets::IsNetworkSocketInformation(int sysno) {
switch (sysno) {
case __NR_getpeername:
@@ -553,7 +567,7 @@ bool SyscallSets::IsAllowedAddressSpaceA
@@ -554,7 +568,7 @@ bool SyscallSets::IsAllowedAddressSpaceA
case __NR_mincore:
case __NR_mlockall:
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@ -366,7 +366,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
case __NR_mmap:
#endif
#if defined(__i386__) || defined(__arm__) || \
@@ -583,7 +597,8 @@ bool SyscallSets::IsAllowedGeneralIo(int
@@ -584,7 +598,8 @@ bool SyscallSets::IsAllowedGeneralIo(int
switch (sysno) {
case __NR_lseek:
#if defined(__i386__) || defined(__arm__) || \
@ -376,7 +376,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
case __NR__llseek:
#endif
#if !defined(__aarch64__)
@@ -603,26 +618,28 @@ bool SyscallSets::IsAllowedGeneralIo(int
@@ -604,26 +619,28 @@ bool SyscallSets::IsAllowedGeneralIo(int
case __NR_readv:
case __NR_pread64:
#if defined(__arm__) || \
@ -411,7 +411,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
case __NR_sendmsg: // Could specify destination.
case __NR_sendto: // Could specify destination.
#endif
@@ -678,7 +695,8 @@ bool SyscallSets::IsAllowedBasicSchedule
@@ -679,7 +696,8 @@ bool SyscallSets::IsAllowedBasicSchedule
return true;
case __NR_getpriority:
#if defined(__i386__) || defined(__arm__) || \
@ -421,7 +421,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
case __NR_nice:
#endif
case __NR_setpriority:
@@ -690,7 +708,8 @@ bool SyscallSets::IsAllowedBasicSchedule
@@ -691,7 +709,8 @@ bool SyscallSets::IsAllowedBasicSchedule
bool SyscallSets::IsAdminOperation(int sysno) {
switch (sysno) {
#if defined(__i386__) || defined(__arm__) || \
@ -431,7 +431,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
case __NR_bdflush:
#endif
case __NR_kexec_load:
@@ -706,7 +725,8 @@ bool SyscallSets::IsAdminOperation(int s
@@ -707,7 +726,8 @@ bool SyscallSets::IsAdminOperation(int s
bool SyscallSets::IsKernelModule(int sysno) {
switch (sysno) {
@ -441,7 +441,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
case __NR_create_module:
case __NR_get_kernel_syms: // Should ENOSYS.
case __NR_query_module:
@@ -739,7 +759,8 @@ bool SyscallSets::IsFsControl(int sysno)
@@ -740,7 +760,8 @@ bool SyscallSets::IsFsControl(int sysno)
case __NR_swapoff:
case __NR_swapon:
#if defined(__i386__) || \
@ -451,7 +451,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
case __NR_umount:
#endif
case __NR_umount2:
@@ -755,7 +776,7 @@ bool SyscallSets::IsNuma(int sysno) {
@@ -756,7 +777,7 @@ bool SyscallSets::IsNuma(int sysno) {
case __NR_getcpu:
case __NR_mbind:
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@ -460,7 +460,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
case __NR_migrate_pages:
#endif
case __NR_move_pages:
@@ -790,14 +811,15 @@ bool SyscallSets::IsGlobalProcessEnviron
@@ -791,14 +812,15 @@ bool SyscallSets::IsGlobalProcessEnviron
switch (sysno) {
case __NR_acct: // Privileged.
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
@ -479,7 +479,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
case __NR_ulimit:
#endif
case __NR_getrusage:
@@ -831,7 +853,7 @@ bool SyscallSets::IsGlobalSystemStatus(i
@@ -832,7 +854,7 @@ bool SyscallSets::IsGlobalSystemStatus(i
#endif
case __NR_sysinfo:
case __NR_uname:
@ -488,7 +488,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
case __NR_olduname:
case __NR_oldolduname:
#endif
@@ -915,7 +937,8 @@ bool SyscallSets::IsSystemVSemaphores(in
@@ -916,7 +938,8 @@ bool SyscallSets::IsSystemVSemaphores(in
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \
defined(__aarch64__) || \
@ -498,7 +498,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
// These give a lot of ambient authority and bypass the setuid sandbox.
bool SyscallSets::IsSystemVSharedMemory(int sysno) {
switch (sysno) {
@@ -946,7 +969,8 @@ bool SyscallSets::IsSystemVMessageQueue(
@@ -947,7 +970,8 @@ bool SyscallSets::IsSystemVMessageQueue(
#endif
#if defined(__i386__) || \
@ -508,7 +508,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
// Big system V multiplexing system call.
bool SyscallSets::IsSystemVIpc(int sysno) {
switch (sysno) {
@@ -966,7 +990,8 @@ bool SyscallSets::IsAnySystemV(int sysno
@@ -967,7 +991,8 @@ bool SyscallSets::IsAnySystemV(int sysno
return IsSystemVMessageQueue(sysno) || IsSystemVSemaphores(sysno) ||
IsSystemVSharedMemory(sysno);
#elif defined(__i386__) || \
@ -518,7 +518,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
return IsSystemVIpc(sysno);
#endif
}
@@ -1023,7 +1048,8 @@ bool SyscallSets::IsFaNotify(int sysno)
@@ -1024,7 +1049,8 @@ bool SyscallSets::IsFaNotify(int sysno)
bool SyscallSets::IsTimer(int sysno) {
switch (sysno) {
case __NR_getitimer:
@ -528,7 +528,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
case __NR_alarm:
#endif
case __NR_setitimer:
@@ -1102,18 +1128,22 @@ bool SyscallSets::IsMisc(int sysno) {
@@ -1103,18 +1129,22 @@ bool SyscallSets::IsMisc(int sysno) {
case __NR_syncfs:
case __NR_vhangup:
// The system calls below are not implemented.
@ -555,7 +555,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
case __NR_gtty:
case __NR_idle:
case __NR_lock:
@@ -1121,20 +1151,22 @@ bool SyscallSets::IsMisc(int sysno) {
@@ -1122,20 +1152,22 @@ bool SyscallSets::IsMisc(int sysno) {
case __NR_prof:
case __NR_profil:
#endif
@ -582,10 +582,10 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
case __NR_vserver:
#endif
return true;
Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
--- chromium-130.0.6723.44.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
+++ chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
@@ -46,13 +46,14 @@ class SANDBOX_EXPORT SyscallSets {
static bool IsDeniedGetOrModifySocket(int sysno);
@ -623,10 +623,10 @@ Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h
// Big system V multiplexing system call.
static bool IsSystemVIpc(int sysno);
#endif
Index: chromium-128.0.6613.113/sandbox/linux/services/syscall_wrappers.cc
Index: chromium-130.0.6723.44/sandbox/linux/services/syscall_wrappers.cc
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/services/syscall_wrappers.cc
+++ chromium-128.0.6613.113/sandbox/linux/services/syscall_wrappers.cc
--- chromium-130.0.6723.44.orig/sandbox/linux/services/syscall_wrappers.cc
+++ chromium-130.0.6723.44/sandbox/linux/services/syscall_wrappers.cc
@@ -61,7 +61,7 @@ long sys_clone(unsigned long flags,
#if defined(ARCH_CPU_X86_64)
return syscall(__NR_clone, flags, child_stack, ptid, ctid, tls);

@ -1,7 +1,7 @@
Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
Index: chromium-130.0.6723.44/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
+++ chromium-130.0.6723.44/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
@@ -0,0 +1,3673 @@
+// This file is generated from a similarly-named Perl script in the BoringSSL
+// source tree. Do not edit by hand.
@ -3676,10 +3676,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux
+// See https://www.airs.com/blog/archives/518.
+.section .note.GNU-stack,"",%progbits
+#endif
Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
Index: chromium-130.0.6723.44/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
+++ chromium-130.0.6723.44/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
@@ -0,0 +1,590 @@
+// This file is generated from a similarly-named Perl script in the BoringSSL
+// source tree. Do not edit by hand.
@ -4271,11 +4271,11 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/bcm/ghashp8-ppc-lin
+// See https://www.airs.com/blog/archives/518.
+.section .note.GNU-stack,"",%progbits
+#endif
Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.cmake
Index: chromium-130.0.6723.44/third_party/boringssl/src/gen/sources.cmake
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/gen/sources.cmake
+++ chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.cmake
@@ -110,6 +110,7 @@ set(
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/gen/sources.cmake
+++ chromium-130.0.6723.44/third_party/boringssl/src/gen/sources.cmake
@@ -106,6 +106,7 @@ set(
gen/bcm/aesni-x86-linux.S
gen/bcm/aesni-x86_64-apple.S
gen/bcm/aesni-x86_64-linux.S
@ -4283,7 +4283,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.cmake
gen/bcm/aesv8-armv7-linux.S
gen/bcm/aesv8-armv8-apple.S
gen/bcm/aesv8-armv8-linux.S
@@ -141,6 +142,7 @@ set(
@@ -137,6 +138,7 @@ set(
gen/bcm/ghash-x86-linux.S
gen/bcm/ghash-x86_64-apple.S
gen/bcm/ghash-x86_64-linux.S
@ -4291,7 +4291,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.cmake
gen/bcm/ghashv8-armv7-linux.S
gen/bcm/ghashv8-armv8-apple.S
gen/bcm/ghashv8-armv8-linux.S
@@ -338,6 +340,7 @@ set(
@@ -328,6 +330,7 @@ set(
crypto/cpu_arm_freebsd.c
crypto/cpu_arm_linux.c
crypto/cpu_intel.c
@ -4299,7 +4299,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.cmake
crypto/crypto.c
crypto/curve25519/curve25519.c
crypto/curve25519/curve25519_64_adx.c
@@ -778,37 +781,6 @@ set(
@@ -805,37 +808,6 @@ set(
CRYPTO_TEST_DATA
crypto/blake2/blake2b256_tests.txt
@ -4337,7 +4337,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.cmake
crypto/curve25519/ed25519_tests.txt
crypto/dilithium/dilithium_tests.txt
crypto/dilithium/edge_cases_draft_dilithium3_sign.txt
@@ -1198,1413 +1170,6 @@ set(
@@ -1279,1413 +1251,6 @@ set(
set(
PKI_TEST_DATA
@ -5751,7 +5751,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.cmake
pki/testdata/verify_unittest/google-intermediate1.der
pki/testdata/verify_unittest/google-intermediate2.der
pki/testdata/verify_unittest/google-leaf.der
@@ -2725,6 +1290,7 @@ set(
@@ -2838,6 +1403,7 @@ set(
gen/test_support/trampoline-armv8-apple.S
gen/test_support/trampoline-armv8-linux.S
gen/test_support/trampoline-armv8-win.S
@ -5759,11 +5759,11 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.cmake
gen/test_support/trampoline-x86-apple.S
gen/test_support/trampoline-x86-linux.S
gen/test_support/trampoline-x86_64-apple.S
Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.json
Index: chromium-130.0.6723.44/third_party/boringssl/src/gen/sources.json
===================================================================
--- chromium-128.0.6613.113.orig/third_party/boringssl/src/gen/sources.json
+++ chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.json
@@ -88,6 +88,7 @@
--- chromium-130.0.6723.44.orig/third_party/boringssl/src/gen/sources.json
+++ chromium-130.0.6723.44/third_party/boringssl/src/gen/sources.json
@@ -84,6 +84,7 @@
"gen/bcm/aesni-x86-linux.S",
"gen/bcm/aesni-x86_64-apple.S",
"gen/bcm/aesni-x86_64-linux.S",
@ -5771,7 +5771,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.json
"gen/bcm/aesv8-armv7-linux.S",
"gen/bcm/aesv8-armv8-apple.S",
"gen/bcm/aesv8-armv8-linux.S",
@@ -119,6 +120,7 @@
@@ -115,6 +116,7 @@
"gen/bcm/ghash-x86-linux.S",
"gen/bcm/ghash-x86_64-apple.S",
"gen/bcm/ghash-x86_64-linux.S",
@ -5779,7 +5779,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.json
"gen/bcm/ghashv8-armv7-linux.S",
"gen/bcm/ghashv8-armv8-apple.S",
"gen/bcm/ghashv8-armv8-linux.S",
@@ -308,6 +310,7 @@
@@ -298,6 +300,7 @@
"crypto/cpu_arm_freebsd.c",
"crypto/cpu_arm_linux.c",
"crypto/cpu_intel.c",
@ -5787,7 +5787,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.json
"crypto/crypto.c",
"crypto/curve25519/curve25519.c",
"crypto/curve25519/curve25519_64_adx.c",
@@ -732,37 +735,6 @@
@@ -759,37 +762,6 @@
],
"data": [
"crypto/blake2/blake2b256_tests.txt",
@ -5825,7 +5825,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.json
"crypto/curve25519/ed25519_tests.txt",
"crypto/dilithium/dilithium_tests.txt",
"crypto/dilithium/edge_cases_draft_dilithium3_sign.txt",
@@ -1136,1413 +1108,6 @@
@@ -1216,1413 +1188,6 @@
"pki/verify_unittest.cc"
],
"data": [
@ -7239,7 +7239,7 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.json
"pki/testdata/verify_unittest/google-intermediate1.der",
"pki/testdata/verify_unittest/google-intermediate2.der",
"pki/testdata/verify_unittest/google-leaf.der",
@@ -2648,6 +1213,7 @@
@@ -2758,6 +1323,7 @@
"gen/test_support/trampoline-armv8-apple.S",
"gen/test_support/trampoline-armv8-linux.S",
"gen/test_support/trampoline-armv8-win.S",
@ -7247,10 +7247,10 @@ Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/sources.json
"gen/test_support/trampoline-x86-apple.S",
"gen/test_support/trampoline-x86-linux.S",
"gen/test_support/trampoline-x86_64-apple.S",
Index: chromium-128.0.6613.113/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
Index: chromium-130.0.6723.44/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
+++ chromium-130.0.6723.44/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
@@ -0,0 +1,1413 @@
+// This file is generated from a similarly-named Perl script in the BoringSSL
+// source tree. Do not edit by hand.

@ -1,12 +1,6 @@
commit f752c1b0973a1dd61854b290a05fc1cd57b7b313
Author: Timothy Pearson <tpearson@solidsilicon.com>
Date: Tue Aug 20 22:40:12 2024 -0500
OLD
Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
--- chromium-130.0.6723.44.orig/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
+++ /dev/null
@@ -1,330 +0,0 @@
-/*
@ -338,10 +332,10 @@ Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vp8_
-} // extern "C"
-#endif
-
-#endif
Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
-#endif // VP8_RTCD_H_
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
--- chromium-130.0.6723.44.orig/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
@ -546,10 +540,10 @@ Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vp9_
-} // extern "C"
-#endif
-
-#endif
Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
-#endif // VP9_RTCD_H_
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
===================================================================
--- chromium-128.0.6613.113.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
--- chromium-130.0.6723.44.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
+++ /dev/null
@@ -1,108 +0,0 @@
-@ This file was created from a .asm file
@ -660,9 +654,9 @@ Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_
-.equ DECODE_WIDTH_LIMIT , 16384
-.equ DECODE_HEIGHT_LIMIT , 16384
- .section .note.GNU-stack,"",%progbits
Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
===================================================================
--- chromium-128.0.6613.113.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
--- chromium-130.0.6723.44.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
@ -675,9 +669,9 @@ Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_
-#include "vpx/vpx_codec.h"
-static const char* const cfg = "--target=ppc64le-linux-gcc --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv --enable-unit-tests";
-const char *vpx_codec_build_config(void) {return cfg;}
Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
--- chromium-130.0.6723.44.orig/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
@ -797,9 +791,9 @@ Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_
-#define DECODE_WIDTH_LIMIT 16384
-#define DECODE_HEIGHT_LIMIT 16384
-#endif /* VPX_CONFIG_H */
Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
--- chromium-130.0.6723.44.orig/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
+++ /dev/null
@@ -1,2138 +0,0 @@
-/*
@ -2939,10 +2933,10 @@ Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_
-} // extern "C"
-#endif
-
-#endif
Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
-#endif // VPX_DSP_RTCD_H_
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
--- chromium-130.0.6723.44.orig/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
@ -3054,4 +3048,4 @@ Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_
-} // extern "C"
-#endif
-
-#endif
-#endif // VPX_SCALE_RTCD_H_

@ -1,7 +1,7 @@
Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h
@@ -0,0 +1,316 @@
+// This file is generated. Do not edit.
+#ifndef VP8_RTCD_H_
@ -319,10 +319,10 @@ Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vp8_
+#endif
+
+#endif
Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h
@@ -0,0 +1,267 @@
+// This file is generated. Do not edit.
+#ifndef VP9_RTCD_H_
@ -591,10 +591,10 @@ Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vp9_
+#endif
+
+#endif
Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm
@@ -0,0 +1,107 @@
+@ This file was created from a .asm file
+@ using the ads2gas.pl script.
@ -703,10 +703,10 @@ Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_
+.equ DECODE_WIDTH_LIMIT , 16384
+.equ DECODE_HEIGHT_LIMIT , 16384
+ .section .note.GNU-stack,"",%progbits
Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.c
@@ -0,0 +1,10 @@
+/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
+/* */
@ -718,10 +718,10 @@ Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_
+#include "vpx/vpx_codec.h"
+static const char* const cfg = "--target=generic-gnu --enable-vp9-highbitdepth --enable-external-build --enable-postproc --enable-multi-res-encoding --enable-temporal-denoising --enable-vp9-temporal-denoising --enable-vp9-postproc --size-limit=16384x16384 --enable-realtime-only --disable-install-docs --disable-libyuv";
+const char *vpx_codec_build_config(void) {return cfg;}
Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_config.h
@@ -0,0 +1,116 @@
+/* Copyright (c) 2011 The WebM project authors. All Rights Reserved. */
+/* */
@ -839,10 +839,10 @@ Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_
+#define DECODE_WIDTH_LIMIT 16384
+#define DECODE_HEIGHT_LIMIT 16384
+#endif /* VPX_CONFIG_H */
Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h
@@ -0,0 +1,4128 @@
+// This file is generated. Do not edit.
+#ifndef VPX_DSP_RTCD_H_
@ -4972,10 +4972,10 @@ Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_
+#endif
+
+#endif
Index: chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
Index: chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
===================================================================
--- /dev/null
+++ chromium-128.0.6613.113/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
+++ chromium-130.0.6723.44/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h
@@ -0,0 +1,96 @@
+// This file is generated. Do not edit.
+#ifndef VPX_SCALE_RTCD_H_

@ -1,7 +1,7 @@
Index: chromium-128.0.6613.113/sandbox/policy/linux/bpf_utility_policy_linux.cc
Index: chromium-130.0.6723.44/sandbox/policy/linux/bpf_utility_policy_linux.cc
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc
+++ chromium-128.0.6613.113/sandbox/policy/linux/bpf_utility_policy_linux.cc
--- chromium-130.0.6723.44.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc
+++ chromium-130.0.6723.44/sandbox/policy/linux/bpf_utility_policy_linux.cc
@@ -34,7 +34,7 @@ ResultExpr UtilityProcessPolicy::Evaluat
case __NR_fdatasync:
case __NR_fsync:
@ -11,10 +11,10 @@ Index: chromium-128.0.6613.113/sandbox/policy/linux/bpf_utility_policy_linux.cc
case __NR_getrlimit:
#endif
#if defined(__i386__) || defined(__arm__)
Index: chromium-128.0.6613.113/sandbox/policy/linux/bpf_renderer_policy_linux.cc
Index: chromium-130.0.6723.44/sandbox/policy/linux/bpf_renderer_policy_linux.cc
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+++ chromium-128.0.6613.113/sandbox/policy/linux/bpf_renderer_policy_linux.cc
--- chromium-130.0.6723.44.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+++ chromium-130.0.6723.44/sandbox/policy/linux/bpf_renderer_policy_linux.cc
@@ -87,7 +87,7 @@ ResultExpr RendererProcessPolicy::Evalua
case __NR_ftruncate64:
#endif
@ -24,10 +24,10 @@ Index: chromium-128.0.6613.113/sandbox/policy/linux/bpf_renderer_policy_linux.cc
case __NR_getrlimit:
case __NR_setrlimit:
// We allow setrlimit to dynamically adjust the address space limit as
Index: chromium-128.0.6613.113/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
Index: chromium-130.0.6723.44/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+++ chromium-128.0.6613.113/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
--- chromium-130.0.6723.44.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
+++ chromium-130.0.6723.44/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
@@ -58,9 +58,9 @@
#elif defined(__powerpc64__)
@ -40,11 +40,11 @@ Index: chromium-128.0.6613.113/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
#define MAX_SYSCALL MAX_PUBLIC_SYSCALL
#else
Index: chromium-128.0.6613.113/sandbox/linux/services/credentials.cc
Index: chromium-130.0.6723.44/sandbox/linux/services/credentials.cc
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/services/credentials.cc
+++ chromium-128.0.6613.113/sandbox/linux/services/credentials.cc
@@ -94,7 +94,8 @@ bool ChrootToSafeEmptyDir() {
--- chromium-130.0.6723.44.orig/sandbox/linux/services/credentials.cc
+++ chromium-130.0.6723.44/sandbox/linux/services/credentials.cc
@@ -96,7 +96,8 @@ bool ChrootToSafeEmptyDir() {
int clone_flags = CLONE_FS | LINUX_SIGCHLD;
void* tls = nullptr;
@ -54,7 +54,7 @@ Index: chromium-128.0.6613.113/sandbox/linux/services/credentials.cc
!defined(MEMORY_SANITIZER)
// Use CLONE_VM | CLONE_VFORK as an optimization to avoid copying page tables.
// Since clone writes to the new child's TLS before returning, we must set a
@@ -102,6 +103,11 @@ bool ChrootToSafeEmptyDir() {
@@ -104,6 +105,11 @@ bool ChrootToSafeEmptyDir() {
// glibc performs syscalls by calling a function pointer in TLS, so we do not
// attempt this optimization.
// TODO(crbug.com/40196869) Broken in MSan builds after LLVM f1bb30a4956f.
@ -65,11 +65,11 @@ Index: chromium-128.0.6613.113/sandbox/linux/services/credentials.cc
+ // configuration loading failures and no fonts will be displayed!
clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
// PTHREAD_STACK_MIN can be dynamic in glibc2.34+, so it is not possible to
Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
char tls_buf[PTHREAD_STACK_MIN_CONST] = {0};
Index: chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
===================================================================
--- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
--- chromium-130.0.6723.44.orig/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
+++ chromium-130.0.6723.44/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
@@ -362,7 +362,16 @@ intptr_t SIGSYSFstatatHandler(const stru
if (args.nr == __NR_fstatat_default) {
if (*reinterpret_cast<const char*>(args.args[1]) == '\0' &&

@ -1,13 +1,13 @@
Index: chromium-128.0.6613.113/third_party/skia/src/core/SkRasterPipeline.h
Index: chromium-130.0.6723.44/third_party/skia/src/core/SkRasterPipeline.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/src/core/SkRasterPipeline.h
+++ chromium-128.0.6613.113/third_party/skia/src/core/SkRasterPipeline.h
--- chromium-130.0.6723.44.orig/third_party/skia/src/core/SkRasterPipeline.h
+++ chromium-130.0.6723.44/third_party/skia/src/core/SkRasterPipeline.h
@@ -27,7 +27,7 @@ struct SkImageInfo;
struct skcms_TransferFunction;
#if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && \
- !defined(SK_CPU_LOONGARCH)
+ !defined(SK_CPU_LOONGARCH) && !defined(__powerpc64__)
- !defined(SK_CPU_LOONGARCH) && !(defined(_WIN32) && defined(SK_BUILD_FOR_ANDROID_FRAMEWORK))
+ !defined(SK_CPU_LOONGARCH) && !(defined(_WIN32) && defined(SK_BUILD_FOR_ANDROID_FRAMEWORK)) && !defined(__powerpc64__)
// [[clang::musttail]] is disabled for the Android version of Skia running on Windows as it
// causes crashes (This is probably related to http://crbug.com/1505442).
#define SK_HAS_MUSTTAIL 1
#else
#define SK_HAS_MUSTTAIL 0

@ -1,7 +1,7 @@
Index: chromium-128.0.6613.113/third_party/libvpx/generate_gni.sh
Index: chromium-130.0.6723.44/third_party/libvpx/generate_gni.sh
===================================================================
--- chromium-128.0.6613.113.orig/third_party/libvpx/generate_gni.sh
+++ chromium-128.0.6613.113/third_party/libvpx/generate_gni.sh
--- chromium-130.0.6723.44.orig/third_party/libvpx/generate_gni.sh
+++ chromium-130.0.6723.44/third_party/libvpx/generate_gni.sh
@@ -433,7 +433,7 @@ gen_config_files linux/mipsel "--target=
gen_config_files linux/mips64el "--target=mips64-linux-gcc ${all_platforms}"
gen_config_files linux/loongarch \
@ -11,11 +11,11 @@ Index: chromium-128.0.6613.113/third_party/libvpx/generate_gni.sh
gen_config_files linux/generic "--target=generic-gnu $HIGHBD ${all_platforms}"
gen_config_files win/arm64-highbd \
"--target=arm64-win64-vs15 ${all_platforms} ${HIGHBD} ${disable_sve}"
Index: chromium-128.0.6613.113/third_party/libvpx/source/libvpx/build/make/rtcd.pl
Index: chromium-130.0.6723.44/third_party/libvpx/source/libvpx/build/make/rtcd.pl
===================================================================
--- chromium-128.0.6613.113.orig/third_party/libvpx/source/libvpx/build/make/rtcd.pl
+++ chromium-128.0.6613.113/third_party/libvpx/source/libvpx/build/make/rtcd.pl
@@ -508,8 +508,9 @@ if ($opts{arch} eq 'x86') {
--- chromium-130.0.6723.44.orig/third_party/libvpx/source/libvpx/build/make/rtcd.pl
+++ chromium-130.0.6723.44/third_party/libvpx/source/libvpx/build/make/rtcd.pl
@@ -509,8 +509,9 @@ if ($opts{arch} eq 'x86') {
&require(@REQUIRES);
arm;
} elsif ($opts{arch} =~ /^ppc/ ) {
@ -27,10 +27,10 @@ Index: chromium-128.0.6613.113/third_party/libvpx/source/libvpx/build/make/rtcd.
} elsif ($opts{arch} =~ /loongarch/ ) {
@ALL_ARCHS = filter(qw/lsx lasx/);
loongarch;
Index: chromium-128.0.6613.113/third_party/libvpx/BUILD.gn
Index: chromium-130.0.6723.44/third_party/libvpx/BUILD.gn
===================================================================
--- chromium-128.0.6613.113.orig/third_party/libvpx/BUILD.gn
+++ chromium-128.0.6613.113/third_party/libvpx/BUILD.gn
--- chromium-130.0.6723.44.orig/third_party/libvpx/BUILD.gn
+++ chromium-130.0.6723.44/third_party/libvpx/BUILD.gn
@@ -102,6 +102,14 @@ config("libvpx_config") {
"-Wno-sign-compare",
]

@ -1,12 +1,13 @@
diff -up chromium-129.0.6668.42/build/rust/cargo_crate.gni.me chromium-129.0.6668.42/build/rust/cargo_crate.gni
--- chromium-129.0.6668.42/build/rust/cargo_crate.gni.me 2024-09-16 14:19:49.407900780 +0200
+++ chromium-129.0.6668.42/build/rust/cargo_crate.gni 2024-09-16 14:21:33.411392581 +0200
@@ -429,7 +429,7 @@ template("cargo_crate") {
rust_abi_target,
Index: chromium-130.0.6723.44/build/rust/cargo_crate.gni
===================================================================
--- chromium-130.0.6723.44.orig/build/rust/cargo_crate.gni
+++ chromium-130.0.6723.44/build/rust/cargo_crate.gni
@@ -430,7 +430,7 @@ template("cargo_crate") {
]
}
- if (current_cpu == "arm64" || current_cpu == "x64") {
+ if (current_cpu == "arm64" || current_cpu == "x64" || current_cpu == "ppc64") {
if (current_cpu == "arm64" || current_cpu == "x64" ||
- current_cpu == "loong64" || current_cpu == "riscv64") {
+ current_cpu == "loong64" || current_cpu == "riscv64" || current_cpu == "ppc64") {
args += [
"--pointer-width",
"64",

@ -0,0 +1,21 @@
diff -up chromium-130.0.6723.44/components/media_router/common/providers/cast/channel/enum_table.h.me chromium-130.0.6723.44/components/media_router/common/providers/cast/channel/enum_table.h
--- chromium-130.0.6723.44/components/media_router/common/providers/cast/channel/enum_table.h.me 2024-10-15 09:58:39.571798463 +0200
+++ chromium-130.0.6723.44/components/media_router/common/providers/cast/channel/enum_table.h 2024-10-15 09:59:46.209147226 +0200
@@ -12,7 +12,6 @@
#include <cstdint>
#include <cstring>
-#include <new>
#include <optional>
#include <ostream>
#include <string_view>
@@ -368,7 +367,8 @@ class EnumTable {
private:
#ifdef ARCH_CPU_64_BITS
- alignas(std::hardware_destructive_interference_size)
+ // Align the data on a cache line boundary.
+ alignas(64)
#endif
std::initializer_list<Entry> data_;
bool is_sorted_;

@ -84,7 +84,7 @@
%endif
%endif
%if 0%{?fedora} >= 40
%if 0%{?fedora} >= 40 || 0%{?rhel} >= 9
%global noopenh264 1
%endif
@ -273,7 +273,7 @@
%endif
Name: chromium%{chromium_channel}
Version: 129.0.6668.100
Version: 130.0.6723.58
Release: 1%{?dist}
Summary: A WebKit (Blink) powered web browser that Google doesn't want you to use
Url: http://www.chromium.org/Home
@ -351,6 +351,9 @@ Patch353: chromium-127-aarch64-duplicate-case-value.patch
# remove flag split-threshold-for-reg-with-hint, it's not supported in clang <= 17
Patch354: chromium-126-split-threshold-for-reg-with-hint.patch
# fix build error: no member named 'hardware_destructive_interference_size' in namespace 'std'
Patch355: chromium-130-hardware_destructive_interference_size.patch
# set clang_lib path
Patch358: chromium-127-rust-clanglib.patch
@ -491,15 +494,6 @@ BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavfilter)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavutil)
# chromium fail to start for rpmfusion users due to ABI break in ffmpeg-free-6.0.1
# bethween fedora and rpmfussion.
%if 0%{?rhel} == 9 || 0%{?fedora} == 37
Conflicts: libavformat-free%{_isa} < 5.1.4
Conflicts: ffmpeg-libs%{_isa} < 5.1.4
%else
Conflicts: libavformat-free%{_isa} < 6.0.1
Conflicts: ffmpeg-libs%{_isa} < 6.0.1-2
%endif
%endif
%if 0%{?noopenh264}
@ -1063,6 +1057,7 @@ Qt6 UI for chromium.
%patch -P354 -p1 -b .split-threshold-for-reg-with-hint
%endif
%patch -P355 -p1 -b .hardware_destructive_interference_size
%patch -P358 -p1 -b .rust-clang_lib
%ifarch ppc64le
@ -1915,6 +1910,22 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%endif
%changelog
* Wed Oct 16 2024 Than Ngo <than@redhat.com> - 130.0.6723.58-1
- update to 130.0.6723.58
* High CVE-2024-9954: Use after free in AI
* Medium CVE-2024-9955: Use after free in Web Authentication
* Medium CVE-2024-9956: Inappropriate implementation in Web Authentication
* Medium CVE-2024-9957: Use after free in UI
* Medium CVE-2024-9958: Inappropriate implementation in PictureInPicture
* Medium CVE-2024-9959: Use after free in DevTools
* Medium CVE-2024-9960: Use after free in Dawn
* Medium CVE-2024-9961: Use after free in Parcel Tracking
* Medium CVE-2024-9962: Inappropriate implementation in Permissions
* Medium CVE-2024-9963: Insufficient data validation in Downloads
* Low CVE-2024-9964: Inappropriate implementation in Payments
* Low CVE-2024-9965: Insufficient data validation in DevTools
* Low CVE-2024-9966: Inappropriate implementation in Navigations
* Wed Oct 09 2024 Than Ngo <than@redhat.com> - 129.0.6668.100-1
- update to 129.0.6668.100
* CVE-2024-9602: Type Confusion in V8

@ -1,8 +1,8 @@
Index: chromium-128.0.6613.113/third_party/skia/BUILD.gn
Index: chromium-130.0.6723.44/third_party/skia/BUILD.gn
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/BUILD.gn
+++ chromium-128.0.6613.113/third_party/skia/BUILD.gn
@@ -195,6 +195,12 @@ opts("lasx") {
--- chromium-130.0.6723.44.orig/third_party/skia/BUILD.gn
+++ chromium-130.0.6723.44/third_party/skia/BUILD.gn
@@ -192,6 +192,12 @@ opts("lasx") {
cflags = [ "-mlasx" ]
}
@ -15,7 +15,7 @@ Index: chromium-128.0.6613.113/third_party/skia/BUILD.gn
# Any feature of Skia that requires third-party code should be optional and use this template.
template("optional") {
if (invoker.enabled) {
@@ -1463,6 +1469,7 @@ skia_component("skia") {
@@ -1466,6 +1472,7 @@ skia_component("skia") {
":skx",
":typeface_fontations",
":vello",
@ -23,7 +23,7 @@ Index: chromium-128.0.6613.113/third_party/skia/BUILD.gn
":webp_decode",
":wuffs",
":xml",
@@ -1640,7 +1647,10 @@ skia_static_library("pathkit") {
@@ -1637,7 +1644,10 @@ skia_static_library("pathkit") {
public_configs = [ ":skia_public" ]
configs = skia_library_configs
@ -35,10 +35,10 @@ Index: chromium-128.0.6613.113/third_party/skia/BUILD.gn
sources = []
sources += skia_pathops_sources
Index: chromium-128.0.6613.113/third_party/skia/gn/skia/BUILD.gn
Index: chromium-130.0.6723.44/third_party/skia/gn/skia/BUILD.gn
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/gn/skia/BUILD.gn
+++ chromium-128.0.6613.113/third_party/skia/gn/skia/BUILD.gn
--- chromium-130.0.6723.44.orig/third_party/skia/gn/skia/BUILD.gn
+++ chromium-130.0.6723.44/third_party/skia/gn/skia/BUILD.gn
@@ -167,6 +167,8 @@ config("default") {
"-mfpmath=sse",
]
@ -48,11 +48,11 @@ Index: chromium-128.0.6613.113/third_party/skia/gn/skia/BUILD.gn
} else if (current_cpu == "loong64") {
cflags += [
"-mlsx",
Index: chromium-128.0.6613.113/third_party/skia/include/core/SkTypes.h
Index: chromium-130.0.6723.44/third_party/skia/include/core/SkTypes.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/include/core/SkTypes.h
+++ chromium-128.0.6613.113/third_party/skia/include/core/SkTypes.h
@@ -195,5 +195,44 @@ static constexpr uint32_t SK_InvalidGenI
--- chromium-130.0.6723.44.orig/third_party/skia/include/core/SkTypes.h
+++ chromium-130.0.6723.44/third_party/skia/include/core/SkTypes.h
@@ -178,4 +178,43 @@ static constexpr uint32_t SK_InvalidGenI
*/
static constexpr uint32_t SK_InvalidUniqueID = 0;
@ -95,12 +95,11 @@ Index: chromium-128.0.6613.113/third_party/skia/include/core/SkTypes.h
+ #endif
+#endif
+
#endif
Index: chromium-128.0.6613.113/third_party/skia/src/base/SkSpinlock.cpp
Index: chromium-130.0.6723.44/third_party/skia/src/base/SkSpinlock.cpp
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/src/base/SkSpinlock.cpp
+++ chromium-128.0.6613.113/third_party/skia/src/base/SkSpinlock.cpp
--- chromium-130.0.6723.44.orig/third_party/skia/src/base/SkSpinlock.cpp
+++ chromium-130.0.6723.44/third_party/skia/src/base/SkSpinlock.cpp
@@ -33,7 +33,8 @@
#endif
@ -111,10 +110,10 @@ Index: chromium-128.0.6613.113/third_party/skia/src/base/SkSpinlock.cpp
#include <emmintrin.h>
static void do_pause() { _mm_pause(); }
#else
Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkBitmapProcState_opts.h
Index: chromium-130.0.6723.44/third_party/skia/src/opts/SkBitmapProcState_opts.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h
+++ chromium-128.0.6613.113/third_party/skia/src/opts/SkBitmapProcState_opts.h
--- chromium-130.0.6723.44.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h
+++ chromium-130.0.6723.44/third_party/skia/src/opts/SkBitmapProcState_opts.h
@@ -21,7 +21,13 @@
// The rest are scattershot at the moment but I want to get them
// all migrated to be normal code inside SkBitmapProcState.cpp.
@ -130,10 +129,10 @@ Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkBitmapProcState_opts.
#include <immintrin.h>
#elif defined(SK_ARM_HAS_NEON)
#include <arm_neon.h>
Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkBlitRow_opts.h
Index: chromium-130.0.6723.44/third_party/skia/src/opts/SkBlitRow_opts.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/src/opts/SkBlitRow_opts.h
+++ chromium-128.0.6613.113/third_party/skia/src/opts/SkBlitRow_opts.h
--- chromium-130.0.6723.44.orig/third_party/skia/src/opts/SkBlitRow_opts.h
+++ chromium-130.0.6723.44/third_party/skia/src/opts/SkBlitRow_opts.h
@@ -69,7 +69,7 @@
#endif
@ -143,10 +142,10 @@ Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkBlitRow_opts.h
static inline __m128i SkPMSrcOver_SSE2(const __m128i& src, const __m128i& dst) {
__m128i scale = _mm_sub_epi32(_mm_set1_epi32(256),
Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkRasterPipeline_opts.h
Index: chromium-130.0.6723.44/third_party/skia/src/opts/SkRasterPipeline_opts.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h
+++ chromium-128.0.6613.113/third_party/skia/src/opts/SkRasterPipeline_opts.h
--- chromium-130.0.6723.44.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h
+++ chromium-130.0.6723.44/third_party/skia/src/opts/SkRasterPipeline_opts.h
@@ -1,5 +1,6 @@
/*
* Copyright 2018 Google Inc.
@ -155,28 +154,28 @@ Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkRasterPipeline_opts.h
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
@@ -75,6 +76,8 @@ using NoCtx = const void*;
#define JUMPER_IS_SCALAR
#define SKRP_CPU_SCALAR
#elif defined(SK_ARM_HAS_NEON)
#define JUMPER_IS_NEON
#define SKRP_CPU_NEON
+#elif defined(SK_PPC64_HAS_SSE_COMPAT)
+ #define JUMPER_IS_VSX
+ #define SKRP_CPU_VSX
#elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SKX
#define JUMPER_IS_SKX
#define SKRP_CPU_SKX
#elif SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_AVX2
@@ -97,6 +100,8 @@ using NoCtx = const void*;
#include <math.h>
#elif defined(JUMPER_IS_NEON)
#elif defined(SKRP_CPU_NEON)
#include <arm_neon.h>
+#elif defined(JUMPER_IS_VSX)
+#elif defined(SKRP_CPU_VSX)
+ #include <emmintrin.h>
#elif defined(JUMPER_IS_LASX)
#elif defined(SKRP_CPU_LASX)
#include <lasxintrin.h>
#include <lsxintrin.h>
@@ -195,6 +200,184 @@ namespace SK_OPTS_NS {
ptr[3] = a;
}
+#elif defined(JUMPER_IS_VSX)
+#elif defined(SKRP_CPU_VSX)
+ // Since we know we're using Clang, we can use its vector extensions.
+ template <typename T> using V = T __attribute__((ext_vector_type(4)));
+ using F = V<float >;
@ -354,16 +353,16 @@ Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkRasterPipeline_opts.h
+ _mm_storeu_ps(ptr +12, a);
+ }
+
#elif defined(JUMPER_IS_NEON)
#elif defined(SKRP_CPU_NEON)
template <typename T> using V = Vec<4, T>;
using F = V<float >;
@@ -1401,6 +1584,15 @@ SI F from_half(U16 h) {
#elif defined(JUMPER_IS_HSW)
#elif defined(SKRP_CPU_HSW)
return _mm256_cvtph_ps((__m128i)h);
+// Disabled for now as this is not a particularly hot function
+// and there is no good reason to lock Chromium to POWER9+ yet.
+#elif 0 && defined(JUMPER_IS_VSX) && __has_builtin(__builtin_vsx_xvcvhpsp)
+#elif 0 && defined(SKRP_CPU_VSX) && __has_builtin(__builtin_vsx_xvcvhpsp)
+ #if defined(SK_CPU_LENDIAN)
+ return __builtin_vsx_xvcvhpsp({h[0], 0, h[1], 0, h[2], 0, h[3], 0});
+ #else
@ -374,12 +373,12 @@ Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkRasterPipeline_opts.h
// Remember, a half is 1-5-10 (sign-exponent-mantissa) with 15 exponent bias.
U32 sem = expand(h),
@@ -1424,6 +1616,16 @@ SI U16 to_half(F f) {
#elif defined(JUMPER_IS_HSW)
#elif defined(SKRP_CPU_HSW)
return (U16)_mm256_cvtps_ph(f, _MM_FROUND_CUR_DIRECTION);
+// Disabled for now as this is not a particularly hot function
+// and there is no good reason to lock Chromium to POWER9+ yet.
+#elif 0 && defined(JUMPER_IS_VSX) && __has_builtin(__builtin_vsx_xvcvsphp)
+#elif 0 && defined(SKRP_CPU_VSX) && __has_builtin(__builtin_vsx_xvcvsphp)
+ __vector unsigned short v = __builtin_vsx_xvcvsphp(f);
+ #if defined(SK_CPU_LENDIAN)
+ return U16{v[0], v[2], v[4], v[6]};
@ -393,47 +392,47 @@ Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkRasterPipeline_opts.h
@@ -1499,7 +1701,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
#define SKRP_NARROW_STAGES 1
-#elif defined(__x86_64__) || defined(SK_CPU_ARM64) || defined(SK_CPU_LOONGARCH)
+#elif defined(__x86_64__) || defined(SK_CPU_ARM64) || defined(SK_CPU_LOONGARCH) || defined(SK_CPU_PPC64)
// These platforms are ideal for wider stages, and their default ABI is ideal.
#define ABI
#define JUMPER_NARROW_STAGES 0
@@ -5477,6 +5679,10 @@ SI F sqrt_(F x) {
#define SKRP_NARROW_STAGES 0
@@ -5481,6 +5683,10 @@ SI F sqrt_(F x) {
float32x4_t lo,hi;
split(x, &lo,&hi);
return join<F>(sqrt(lo), sqrt(hi));
+#elif defined(JUMPER_IS_VSX)
+#elif defined(SKRP_CPU_VSX)
+ vector float lo,hi;
+ split(x, &lo,&hi);
+ return join<F>(vec_sqrt(lo), vec_sqrt(hi));
#elif defined(JUMPER_IS_LASX)
#elif defined(SKRP_CPU_LASX)
__m256 lo,hi;
split(x, &lo,&hi);
@@ -5508,6 +5714,10 @@ SI F floor_(F x) {
@@ -5512,6 +5718,10 @@ SI F floor_(F x) {
__m128 lo,hi;
split(x, &lo,&hi);
return join<F>(_mm_floor_ps(lo), _mm_floor_ps(hi));
+#elif defined(JUMPER_IS_VSX)
+#elif defined(SKRP_CPU_VSX)
+ vector float lo,hi;
+ split(x, &lo,&hi);
+ return join<F>(vec_floor(lo), vec_floor(hi));
#elif defined(JUMPER_IS_LASX)
#elif defined(SKRP_CPU_LASX)
__m256 lo,hi;
split(x, &lo,&hi);
@@ -5527,6 +5737,7 @@ SI F floor_(F x) {
@@ -5531,6 +5741,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.
+// Note: for POWER, the code below was borrowed from emmintrin.h
SI I16 scaled_mult(I16 a, I16 b) {
#if defined(JUMPER_IS_SKX)
#if defined(SKRP_CPU_SKX)
return (I16)_mm256_mulhrs_epi16((__m256i)a, (__m256i)b);
@@ -5538,6 +5749,22 @@ SI I16 scaled_mult(I16 a, I16 b) {
@@ -5542,6 +5753,22 @@ SI I16 scaled_mult(I16 a, I16 b) {
return vqrdmulhq_s16(a, b);
#elif defined(JUMPER_IS_NEON)
#elif defined(SKRP_CPU_NEON)
return vqrdmulhq_s16(a, b);
+#elif defined(JUMPER_IS_VSX)
+#elif defined(SKRP_CPU_VSX)
+ const vector unsigned int shift = vec_splats((unsigned int)14);
+ const vector int ones = vec_splats((signed int)1);
+ vector int c = vec_unpackh((vector short)a);
@ -449,10 +448,10 @@ Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkRasterPipeline_opts.h
+ d = vec_add(d, ones);
+ d = vec_sr(d,(vector unsigned int)ones);
+ return vec_pack(c, d);
#elif defined(JUMPER_IS_LASX)
#elif defined(SKRP_CPU_LASX)
I16 res = __lasx_xvmuh_h(a, b);
return __lasx_xvslli_h(res, 1);
@@ -5565,7 +5792,26 @@ SI U16 constrained_add(I16 a, U16 b) {
@@ -5569,7 +5796,26 @@ SI U16 constrained_add(I16 a, U16 b) {
SkASSERT(-ib <= ia && ia <= 65535 - ib);
}
#endif
@ -461,7 +460,7 @@ Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkRasterPipeline_opts.h
+ // Just because it sort of seems to work on Intel/ARM on Clang doesn't mean it works everywhere...
+ // FIXME: For added fun, the existing Skia unit tests do NOT properly test for issues in the
+ // lowp bilerp path. Investigate and write an appropriate test case...
+#if defined(JUMPER_IS_VSX)
+#if defined(SKRP_CPU_VSX)
+ // Most POWER compilers end up doing some kind of width promotion that causes memory corruption
+ // and/or incorrect results. This shows up as snow and general graphics corruption, especially
+ // noticeable when trying to display a PNG at less than 50% size (resize the browser window down
@ -479,11 +478,11 @@ Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkRasterPipeline_opts.h
}
SI F fract(F x) { return x - floor_(x); }
@@ -6574,8 +6820,14 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
@@ -6582,8 +6828,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 {
+#if defined(JUMPER_IS_VSX)
+#if defined(SKRP_CPU_VSX)
+ // constrained_add() on POWER is run in half precision mode to avoid undefined behavior
+ I16 width = (I16)(right - left) << 6;
+ U16 middle = (right + left) << 6;
@ -494,11 +493,11 @@ Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkRasterPipeline_opts.h
// The constrained_add is the most subtle part of lerp. The first term is on the interval
// [-1, 1), and the second term is on the interval is on the interval [0, 1) because
// both terms are too high by a factor of 2 which will be handled below. (Both R and L are
@@ -6587,7 +6839,12 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
@@ -6595,7 +6847,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.
+#if defined(JUMPER_IS_VSX)
+#if defined(SKRP_CPU_VSX)
+ // constrained_add() on POWER is run in half precision mode to avoid undefined behavior
+ return v2;
+#else
@ -507,11 +506,11 @@ Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkRasterPipeline_opts.h
};
const uint32_t* ptr;
@@ -6621,9 +6878,15 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
@@ -6629,9 +6886,15 @@ STAGE_GP(bilerp_clamp_8888, const SkRast
I16 width = (I16)bottom - (I16)top;
U16 middle = bottom + top;
// Add + 0x80 for rounding.
+#if defined(JUMPER_IS_VSX)
+#if defined(SKRP_CPU_VSX)
+ // constrained_add() on POWER is run in half precision mode to avoid undefined behavior
+ U16 blend = constrained_add(scaled_mult(ty, width) / 2, middle / 2) + (0x80 / 2);
+ return blend >> 7;
@ -524,10 +523,10 @@ Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkRasterPipeline_opts.h
};
r = lerpY(topR, bottomR);
Index: chromium-128.0.6613.113/third_party/skia/src/base/SkVx.h
Index: chromium-130.0.6723.44/third_party/skia/src/base/SkVx.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/src/base/SkVx.h
+++ chromium-128.0.6613.113/third_party/skia/src/base/SkVx.h
--- chromium-130.0.6723.44.orig/third_party/skia/src/base/SkVx.h
+++ chromium-130.0.6723.44/third_party/skia/src/base/SkVx.h
@@ -42,7 +42,13 @@
#if SKVX_USE_SIMD
@ -543,10 +542,10 @@ Index: chromium-128.0.6613.113/third_party/skia/src/base/SkVx.h
#elif defined(SK_ARM_HAS_NEON)
#include <arm_neon.h>
#elif defined(__wasm_simd128__)
Index: chromium-128.0.6613.113/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
Index: chromium-130.0.6723.44/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
+++ chromium-128.0.6613.113/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
--- chromium-130.0.6723.44.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
+++ chromium-130.0.6723.44/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp
@@ -9,7 +9,7 @@
#include "src/core/SkBlitMask.h"
#include "src/core/SkOptsTargets.h"
@ -556,10 +555,10 @@ Index: chromium-128.0.6613.113/third_party/skia/src/core/SkBlitMask_opts_ssse3.c
// The order of these includes is important:
// 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
Index: chromium-128.0.6613.113/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
Index: chromium-130.0.6723.44/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
+++ chromium-128.0.6613.113/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
--- chromium-130.0.6723.44.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
+++ chromium-130.0.6723.44/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp
@@ -10,7 +10,7 @@
#include "src/core/SkOptsTargets.h"
#include "src/core/SkSwizzlePriv.h"
@ -569,10 +568,10 @@ Index: chromium-128.0.6613.113/third_party/skia/src/core/SkSwizzler_opts_ssse3.c
!defined(SK_ENABLE_OPTIMIZE_SIZE) && \
SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
Index: chromium-128.0.6613.113/third_party/skia/src/core/SkBlitMask_opts.cpp
Index: chromium-130.0.6723.44/third_party/skia/src/core/SkBlitMask_opts.cpp
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/src/core/SkBlitMask_opts.cpp
+++ chromium-128.0.6613.113/third_party/skia/src/core/SkBlitMask_opts.cpp
--- chromium-130.0.6723.44.orig/third_party/skia/src/core/SkBlitMask_opts.cpp
+++ chromium-130.0.6723.44/third_party/skia/src/core/SkBlitMask_opts.cpp
@@ -25,7 +25,7 @@ namespace SkOpts {
static bool init() {
#if defined(SK_ENABLE_OPTIMIZE_SIZE)
@ -582,10 +581,10 @@ Index: chromium-128.0.6613.113/third_party/skia/src/core/SkBlitMask_opts.cpp
#if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BlitMask_ssse3(); }
#endif
Index: chromium-128.0.6613.113/third_party/skia/src/core/SkBitmapProcState_opts.cpp
Index: chromium-130.0.6723.44/third_party/skia/src/core/SkBitmapProcState_opts.cpp
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp
+++ chromium-128.0.6613.113/third_party/skia/src/core/SkBitmapProcState_opts.cpp
--- chromium-130.0.6723.44.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp
+++ chromium-130.0.6723.44/third_party/skia/src/core/SkBitmapProcState_opts.cpp
@@ -27,7 +27,7 @@ namespace SkOpts {
static bool init() {
#if defined(SK_ENABLE_OPTIMIZE_SIZE)
@ -595,10 +594,10 @@ Index: chromium-128.0.6613.113/third_party/skia/src/core/SkBitmapProcState_opts.
#if SK_CPU_SSE_LEVEL < SK_CPU_SSE_LEVEL_SSSE3
if (SkCpu::Supports(SkCpu::SSSE3)) { Init_BitmapProcState_ssse3(); }
#endif
Index: chromium-128.0.6613.113/third_party/skia/src/core/SkCpu.h
Index: chromium-130.0.6723.44/third_party/skia/src/core/SkCpu.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/src/core/SkCpu.h
+++ chromium-128.0.6613.113/third_party/skia/src/core/SkCpu.h
--- chromium-130.0.6723.44.orig/third_party/skia/src/core/SkCpu.h
+++ chromium-130.0.6723.44/third_party/skia/src/core/SkCpu.h
@@ -60,7 +60,7 @@ inline bool SkCpu::Supports(uint32_t mas
// If we mask in compile-time known lower limits, the compiler can
@ -608,10 +607,10 @@ Index: chromium-128.0.6613.113/third_party/skia/src/core/SkCpu.h
#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE1
features |= SSE1;
#endif
Index: chromium-128.0.6613.113/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
Index: chromium-130.0.6723.44/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
+++ chromium-128.0.6613.113/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
--- chromium-130.0.6723.44.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
+++ chromium-130.0.6723.44/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp
@@ -8,7 +8,7 @@
#include "include/private/base/SkFeatures.h"
#include "src/core/SkOptsTargets.h"
@ -621,10 +620,10 @@ Index: chromium-128.0.6613.113/third_party/skia/src/core/SkBitmapProcState_opts_
// The order of these includes is important:
// 1) Select the target CPU architecture by defining SK_OPTS_TARGET and including SkOpts_SetTarget
Index: chromium-128.0.6613.113/third_party/skia/include/private/base/SkFeatures.h
Index: chromium-130.0.6723.44/third_party/skia/include/private/base/SkFeatures.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/include/private/base/SkFeatures.h
+++ chromium-128.0.6613.113/third_party/skia/include/private/base/SkFeatures.h
--- chromium-130.0.6723.44.orig/third_party/skia/include/private/base/SkFeatures.h
+++ chromium-130.0.6723.44/third_party/skia/include/private/base/SkFeatures.h
@@ -63,6 +63,8 @@
#if defined(__i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_X64)
@ -634,10 +633,10 @@ Index: chromium-128.0.6613.113/third_party/skia/include/private/base/SkFeatures.
#endif
#if defined(__loongarch__) || defined (__loongarch64)
Index: chromium-128.0.6613.113/third_party/skia/modules/skcms/src/skcms_internals.h
Index: chromium-130.0.6723.44/third_party/skia/modules/skcms/src/skcms_internals.h
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/modules/skcms/src/skcms_internals.h
+++ chromium-128.0.6613.113/third_party/skia/modules/skcms/src/skcms_internals.h
--- chromium-130.0.6723.44.orig/third_party/skia/modules/skcms/src/skcms_internals.h
+++ chromium-130.0.6723.44/third_party/skia/modules/skcms/src/skcms_internals.h
@@ -47,6 +47,7 @@ extern "C" {
&& !defined(__EMSCRIPTEN__) \
&& !defined(__arm__) \
@ -646,10 +645,10 @@ Index: chromium-128.0.6613.113/third_party/skia/modules/skcms/src/skcms_internal
&& !defined(__loongarch__) \
&& !defined(_WIN32) && !defined(__SYMBIAN32__)
#define SKCMS_HAS_MUSTTAIL 1
Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkSwizzler_opts.inc
Index: chromium-130.0.6723.44/third_party/skia/src/opts/SkSwizzler_opts.inc
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/src/opts/SkSwizzler_opts.inc
+++ chromium-128.0.6613.113/third_party/skia/src/opts/SkSwizzler_opts.inc
--- chromium-130.0.6723.44.orig/third_party/skia/src/opts/SkSwizzler_opts.inc
+++ chromium-130.0.6723.44/third_party/skia/src/opts/SkSwizzler_opts.inc
@@ -14,7 +14,10 @@
#include <cmath>
#include <utility>
@ -696,10 +695,10 @@ Index: chromium-128.0.6613.113/third_party/skia/src/opts/SkSwizzler_opts.inc
#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-128.0.6613.113/third_party/skia/src/core/SkBlitter_ARGB32.cpp
Index: chromium-130.0.6723.44/third_party/skia/src/core/SkBlitter_ARGB32.cpp
===================================================================
--- chromium-128.0.6613.113.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp
+++ chromium-128.0.6613.113/third_party/skia/src/core/SkBlitter_ARGB32.cpp
--- chromium-130.0.6723.44.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp
+++ chromium-130.0.6723.44/third_party/skia/src/core/SkBlitter_ARGB32.cpp
@@ -126,6 +126,16 @@ static inline SkPMColor blend_lcd16_opaq
#if SK_CPU_SSE_LEVEL >= SK_CPU_SSE_LEVEL_SSE2
#include <emmintrin.h>

@ -2,4 +2,4 @@ SHA512 (node-v20.6.1-linux-arm64.tar.xz) = adfcaf2c22614797fd69fb46d94c1cbf64dea
SHA512 (node-v20.6.1-linux-x64.tar.xz) = 7e15c05041a9a50f0046266aadb2e092a5aefbec19be1c7c809471add520cb57c7df3c47d88b1888b29bf2979dca3c92adddfd965370fa2a9da4ea02186464fd
SHA512 (linux-arm64-0.19.2.tgz) = 8a0d8fec6786fffcd6954d00820037a55d61e60762c74300df0801f8db27057562c221a063bedfb8df56af9ba80abb366336987e881782c5996e6f871abd3dc6
SHA512 (linux-x64-0.19.2.tgz) = a31cc74c4bfa54f9b75d735a1cfc944d3b5efb7c06bfba9542da9a642ae0b2d235ea00ae84d3ad0572c406405110fe7b61377af0fd15803806ef78d20fc6f05d
SHA512 (chromium-129.0.6668.100-clean.tar.xz) = 0c235e68d89ed8fb0ffc5d81dedced7f4f4d3580ab0089be04a69d80b036038d29291a94479c50690a63099c85fea9dabade53e8b3390a8701b250db4cc2e1b2
SHA512 (chromium-130.0.6723.58-clean.tar.xz) = 1db9db62de458d0d6e45eb5017c5051fa35c06328e429b7f3331b4cc73c79ba5cbe6b394d3c0235f7860b3bede5c7ebaee1237a4db3fb934474614a32489de92

Loading…
Cancel
Save