Compare commits
136 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
796ab4b81a | ||
|
|
6cfcd4b403 | ||
|
|
5a37adf9ec | ||
|
|
283e4a61e1 | ||
|
|
1079d92d65 | ||
|
|
7c592d2d1e | ||
|
|
0c3746ff9a | ||
|
|
f0c0719af2 | ||
|
|
082677b3ea | ||
|
|
3ee43a7387 | ||
|
|
ee37e7a5b0 | ||
|
|
0072b89a21 | ||
|
|
0430f591ef | ||
|
|
d9e5c17f8b | ||
|
|
52609fc0dc | ||
|
|
97dc715dd8 | ||
|
|
acc12db52f | ||
|
|
14b62434da | ||
|
|
37af6d31f3 | ||
|
|
f6808531e1 | ||
|
|
2f63c4ea02 | ||
|
|
0813076bc1 | ||
|
|
3fe51cf410 | ||
|
|
882e783474 | ||
|
|
c0baa8fbba | ||
|
|
bf71fc78db | ||
|
|
bda595c265 | ||
|
|
2cae326a5e | ||
|
|
a9fd8e1a68 | ||
|
|
fa652ce36a | ||
|
|
cab080ce14 | ||
|
|
d27b7f0b41 | ||
|
|
9f23479503 | ||
|
|
9ce6850391 | ||
|
|
6743dddcec | ||
|
|
a4bf7be4ce | ||
|
|
cc38835716 | ||
|
|
cad0f41900 | ||
|
|
108ac60248 | ||
|
|
a0651d25b0 | ||
|
|
085505d499 | ||
|
|
e7e8f9c01f | ||
|
|
bacbdb7f76 | ||
|
|
9a7a66a1cb | ||
|
|
93585eb2e0 | ||
|
|
d2401ae233 | ||
|
|
ef83fc46b8 | ||
|
|
6cb61f65db | ||
|
|
1028619808 | ||
|
|
0f8d0dee2f | ||
|
|
7e056166e5 | ||
|
|
ecc3db4f04 | ||
|
|
68c8627665 | ||
|
|
648f041b8f | ||
|
|
c078dd21ff | ||
|
|
ce286fa256 | ||
|
|
9bf7a2047e | ||
|
|
905d82cb3c | ||
|
|
c133216171 | ||
|
|
be39fc082a | ||
|
|
8862a220f3 | ||
|
|
3e2ec0bd6c | ||
|
|
cd3c25b772 | ||
|
|
83b3f41fa5 | ||
|
|
560d71c0f2 | ||
|
|
145321f7ff | ||
|
|
b23e0492ee | ||
|
|
925372b149 | ||
|
|
d443260e94 | ||
|
|
aa9d0cfb78 | ||
|
|
0c366dbc49 | ||
|
|
032943607c | ||
|
|
a135986f9b | ||
|
|
93f9646a3c | ||
|
|
e7070d80a5 | ||
|
|
81c156921f | ||
|
|
a68f3c203e | ||
|
|
db6710570b | ||
|
|
31e546df9d | ||
|
|
50addd9018 | ||
|
|
4b95948fa8 | ||
|
|
c2cc4e54a2 | ||
|
|
339022ce57 | ||
|
|
f4ab198c63 | ||
|
|
c2ede7f780 | ||
|
|
d20c78ff41 | ||
|
|
fe97e6bce0 | ||
|
|
4337a8c402 | ||
|
|
47145a01cc | ||
|
|
010732036e | ||
|
|
14975c5d51 | ||
|
|
7076da9f3b | ||
|
|
924b613c4b | ||
|
|
36291df17e | ||
|
|
d03504b8ad | ||
|
|
65dda86113 | ||
|
|
96f84a02fc | ||
|
|
b44d74beb6 | ||
|
|
b41d94a248 | ||
|
|
72a711f55f | ||
|
|
a6f18a51f4 | ||
|
|
1d3c36562c | ||
|
|
cf877afe16 | ||
|
|
82c8cdfd54 | ||
|
|
49424c1335 | ||
|
|
dd14ae5524 | ||
|
|
f573cb73fa | ||
|
|
e3c5ae034e | ||
|
|
0f5fb22db4 | ||
|
|
2cfde95db8 | ||
|
|
5ba911d204 | ||
|
|
d08b03c94e | ||
|
|
fcf3d04fa4 | ||
|
|
33e0bdb2a3 | ||
|
|
ab248c71bf | ||
|
|
113fc0a720 | ||
|
|
aefa9ad6e1 | ||
|
|
b0f15d404d | ||
|
|
0f69c39920 | ||
|
|
c1f1e797c5 | ||
|
|
b1f25b2bdf | ||
|
|
f00233f737 | ||
|
|
50c4e3dcf5 | ||
|
|
54da1f5c8d | ||
|
|
6f490957eb | ||
|
|
ebb0475b99 | ||
|
|
95ffe14461 | ||
|
|
a0b2c7a229 | ||
|
|
5a9eed00e0 | ||
|
|
82c025e549 | ||
|
|
1960712b03 | ||
|
|
62f1aa0668 | ||
|
|
6ad637573b | ||
|
|
48ba3e7662 | ||
|
|
98ea22a6b6 | ||
|
|
2be36f77d1 |
115 changed files with 6683 additions and 125506 deletions
5
.gitignore
vendored
5
.gitignore
vendored
|
|
@ -38,8 +38,3 @@
|
|||
/v0.69.4.tar.gz
|
||||
/bindgen-cli-aarch64.tar.xz
|
||||
/bindgen-cli-x86_64.tar.xz
|
||||
/linux-ppc64-0.19.2.tgz
|
||||
/node-v22.14.0-linux-arm64.tar.xz
|
||||
/node-v22.14.0-linux-ppc64le.tar.xz
|
||||
/node-v22.14.0-linux-x64.tar.xz
|
||||
/node-v22.14.0-stripped.tar.gz
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/abi_self_test.cc
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/abi_self_test.cc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/abi_self_test.cc
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/abi_self_test.cc
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/abi_self_test.cc
|
||||
+++ chromium-133.0.6943.35/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-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/crypto/cpu_ppc64le.cc
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/cpu_ppc64le.cc
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/cpu_ppc64le.cc
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/cpu_ppc64le.cc
|
||||
@@ -0,0 +1,38 @@
|
||||
+/* Copyright (c) 2016, Google Inc.
|
||||
+ *
|
||||
|
|
@ -335,10 +335,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/cpu_ppc64le.cc
|
|||
+}
|
||||
+
|
||||
+#endif // OPENSSL_PPC64LE
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/crypto.cc
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/crypto.cc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/crypto.cc
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/crypto.cc
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/crypto.cc
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/crypto.cc
|
||||
@@ -67,6 +67,10 @@ uint32_t OPENSSL_get_ia32cap(int idx) {
|
||||
return OPENSSL_ia32cap_P[idx];
|
||||
}
|
||||
|
|
@ -347,13 +347,13 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/crypto.cc
|
|||
+
|
||||
+HIDDEN unsigned long OPENSSL_ppc64le_hwcap2 = 0;
|
||||
+
|
||||
#elif (defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)) && \
|
||||
!defined(OPENSSL_STATIC_ARMCAP)
|
||||
HIDDEN uint32_t OPENSSL_armcap_P = 0;
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
|
||||
#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
|
||||
|
||||
#include <openssl/arm_arch.h>
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl
|
||||
+++ chromium-133.0.6943.35/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-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/as
|
|||
+}
|
||||
+
|
||||
+close STDOUT or die "error closing STDOUT: $!";
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
|
||||
@@ -81,6 +81,12 @@ inline int vpaes_capable(void) { return
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h
|
||||
@@ -82,6 +82,12 @@ inline int vpaes_capable(void) { return
|
||||
inline int vpaes_capable(void) { return CRYPTO_is_NEON_capable(); }
|
||||
#endif
|
||||
|
||||
|
|
@ -4181,24 +4181,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/in
|
|||
#endif
|
||||
|
||||
#endif // !NO_ASM
|
||||
@@ -501,6 +507,13 @@ void aes_gcm_dec_kernel(const uint8_t *i
|
||||
const u128 Htable[16]);
|
||||
#endif
|
||||
|
||||
+#elif defined(OPENSSL_PPC64LE)
|
||||
+#define GHASH_ASM_PPC64LE
|
||||
+#define GCM_FUNCREF
|
||||
+void gcm_init_p8(u128 Htable[16], const uint64_t Xi[2]);
|
||||
+void gcm_gmult_p8(uint8_t Xi[16], const u128 Htable[16]);
|
||||
+void gcm_ghash_p8(uint8_t Xi[16], const u128 Htable[16], const uint8_t *inp,
|
||||
+ size_t len);
|
||||
#endif
|
||||
#endif // OPENSSL_NO_ASM
|
||||
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
|
||||
@@ -105,6 +105,7 @@
|
||||
#include "self_check/fips.cc.inc"
|
||||
#include "self_check/self_check.cc.inc"
|
||||
|
|
@ -4207,11 +4193,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bcm.cc
|
|||
#include "sha/sha1.cc.inc"
|
||||
#include "sha/sha256.cc.inc"
|
||||
#include "sha/sha512.cc.inc"
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
|
||||
@@ -330,6 +330,23 @@ int bn_expand(BIGNUM *bn, size_t bits) {
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc
|
||||
@@ -325,6 +325,23 @@ int bn_expand(BIGNUM *bn, size_t bits) {
|
||||
}
|
||||
|
||||
int bn_resize_words(BIGNUM *bn, size_t words) {
|
||||
|
|
@ -4235,11 +4221,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/bn/bn.
|
|||
if ((size_t)bn->width <= words) {
|
||||
if (!bn_wexpand(bn, words)) {
|
||||
return 0;
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
|
||||
@@ -1234,6 +1234,8 @@ int EVP_has_aes_hardware(void) {
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc
|
||||
@@ -1230,6 +1230,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();
|
||||
|
|
@ -4248,10 +4234,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/cipher
|
|||
#else
|
||||
return 0;
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/asm/ghashp8-ppc.pl
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl
|
||||
+++ chromium-133.0.6943.35/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.
|
||||
|
|
@ -4924,11 +4910,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/as
|
|||
+}
|
||||
+
|
||||
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.cc.inc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc
|
||||
@@ -233,6 +233,13 @@ void CRYPTO_ghash_init(gmult_func *out_m
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.cc.inc
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/gcm.cc.inc
|
||||
@@ -228,6 +228,13 @@ void CRYPTO_ghash_init(gmult_func *out_m
|
||||
*out_hash = gcm_ghash_neon;
|
||||
return;
|
||||
}
|
||||
|
|
@ -4942,11 +4928,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gc
|
|||
#endif
|
||||
|
||||
gcm_init_nohw(out_table, H);
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc
|
||||
@@ -169,5 +169,15 @@ TEST(GCMTest, ABI) {
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/gcm_test.cc
|
||||
@@ -170,5 +170,15 @@ TEST(GCMTest, ABI) {
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
@ -4962,10 +4948,28 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/aes/gc
|
|||
+#endif // GHASH_ASM_PPC64LE
|
||||
}
|
||||
#endif // SUPPORTS_ABI_TEST && !OPENSSL_NO_ASM
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/rand/getrandom_fillin.h
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/modes/internal.h
|
||||
@@ -260,6 +260,13 @@ void aes_gcm_dec_kernel(const uint8_t *i
|
||||
const u128 Htable[16]);
|
||||
#endif
|
||||
|
||||
+#elif defined(OPENSSL_PPC64LE)
|
||||
+#define GHASH_ASM_PPC64LE
|
||||
+#define GCM_FUNCREF
|
||||
+void gcm_init_p8(u128 Htable[16], const uint64_t Xi[2]);
|
||||
+void gcm_gmult_p8(uint8_t Xi[16], const u128 Htable[16]);
|
||||
+void gcm_ghash_p8(uint8_t Xi[16], const u128 Htable[16], const uint8_t *inp,
|
||||
+ size_t len);
|
||||
#endif
|
||||
#endif // OPENSSL_NO_ASM
|
||||
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/rand_extra/getrandom_fillin.h
|
||||
===================================================================
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/rand_extra/getrandom_fillin.h
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/rand_extra/getrandom_fillin.h
|
||||
@@ -30,6 +30,8 @@
|
||||
#define EXPECTED_NR_getrandom 278
|
||||
#elif defined(OPENSSL_ARM)
|
||||
|
|
@ -4975,11 +4979,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/rand/getrandom_fi
|
|||
#elif defined(OPENSSL_RISCV64)
|
||||
#define EXPECTED_NR_getrandom 278
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
|
||||
@@ -425,6 +425,11 @@ bcm_infallible BCM_rand_bytes_with_addit
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc
|
||||
@@ -431,6 +431,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|.
|
||||
|
|
@ -4990,11 +4994,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/rand/r
|
|||
+ // kernel, syscalls made with |syscall| did not abort the transaction.
|
||||
CRYPTO_MUTEX_lock_read(&state->clear_drbg_lock);
|
||||
#endif
|
||||
if (!CTR_DRBG_reseed_ex(&state->drbg, seed, sizeof(seed),
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
|
||||
if (!CTR_DRBG_reseed(&state->drbg, seed, reseed_additional_data,
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h
|
||||
@@ -23,6 +23,16 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
|
@ -5012,10 +5016,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/in
|
|||
// Define SHA{n}[_{variant}]_ASM if sha{n}_block_data_order[_{variant}] is
|
||||
// defined in assembly.
|
||||
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc
|
||||
@@ -0,0 +1,369 @@
|
||||
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.ccom)
|
||||
+ * All rights reserved.
|
||||
|
|
@ -5386,11 +5390,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sh
|
|||
+#undef BODY_20_39
|
||||
+#undef BODY_40_59
|
||||
+#undef BODY_60_79
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/internal.h
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/internal.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/internal.h
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/internal.h
|
||||
@@ -66,8 +66,9 @@ extern "C" {
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/internal.h
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/internal.h
|
||||
@@ -56,8 +56,9 @@ extern "C" {
|
||||
#if !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_STATIC_ARMCAP) && \
|
||||
(defined(OPENSSL_X86) || defined(OPENSSL_X86_64) || \
|
||||
defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64))
|
||||
|
|
@ -5402,9 +5406,9 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/internal.h
|
|||
#define NEED_CPUID
|
||||
|
||||
// OPENSSL_cpuid_setup initializes the platform-specific feature cache. This
|
||||
@@ -1420,6 +1421,16 @@ inline int CRYPTO_is_ARMv8_SHA512_capabl
|
||||
#endif // OPENSSL_ARM || OPENSSL_AARCH64
|
||||
@@ -1397,6 +1398,16 @@ inline int CRYPTO_is_ARMv8_SHA512_capabl
|
||||
|
||||
#endif // OPENSSL_ARM || OPENSSL_AARCH64
|
||||
|
||||
+#if defined(OPENSSL_PPC64LE)
|
||||
+
|
||||
|
|
@ -5419,10 +5423,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/internal.h
|
|||
#if defined(BORINGSSL_DISPATCH_TEST)
|
||||
// Runtime CPU dispatch testing support
|
||||
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl
|
||||
+++ chromium-133.0.6943.35/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.
|
||||
|
|
@ -5744,10 +5748,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/perlasm/ppc-xlate
|
|||
+___
|
||||
+
|
||||
+close STDOUT or die "error closing STDOUT: $!";
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/abi_test.h
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/test/abi_test.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/test/abi_test.h
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/abi_test.h
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/test/abi_test.h
|
||||
+++ chromium-133.0.6943.35/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)
|
||||
|
|
@ -5854,10 +5858,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/abi_test.h
|
|||
static_assert(sizeof...(args) <= 8,
|
||||
"too many arguments for abi_test_trampoline");
|
||||
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl
|
||||
@@ -0,0 +1,262 @@
|
||||
+#!/usr/bin/env perl
|
||||
+# Copyright (c) 2019, Google Inc.
|
||||
|
|
@ -6121,10 +6125,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/test/asm/trampoli
|
|||
+
|
||||
+print $code;
|
||||
+close STDOUT or die "error closing STDOUT: $!";
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/include/openssl/target.h
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/include/openssl/target.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/include/openssl/target.h
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/include/openssl/target.h
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/include/openssl/target.h
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/include/openssl/target.h
|
||||
@@ -34,6 +34,9 @@
|
||||
#elif defined(__ARMEL__) || defined(_M_ARM)
|
||||
#define OPENSSL_32_BIT
|
||||
|
|
@ -6135,11 +6139,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/include/openssl/target.h
|
|||
#elif defined(__MIPSEL__) && !defined(__LP64__)
|
||||
#define OPENSSL_32_BIT
|
||||
#define OPENSSL_MIPS
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
|
||||
@@ -31,6 +31,8 @@ int main(int argc, char **argv) {
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc
|
||||
@@ -38,6 +38,8 @@ int main(int argc, char **argv) {
|
||||
puts("ARM (32-bit)");
|
||||
#elif defined(OPENSSL_AARCH64)
|
||||
puts("aarch64 (64-bit)");
|
||||
|
|
@ -6148,11 +6152,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/acvp/modu
|
|||
#else
|
||||
#error "FIPS build not supported on this architecture"
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.go
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/delocate.go
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.go
|
||||
@@ -56,7 +56,8 @@ type stringWriter interface {
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/delocate.go
|
||||
@@ -54,7 +54,8 @@ type stringWriter interface {
|
||||
type processorType int
|
||||
|
||||
const (
|
||||
|
|
@ -6162,7 +6166,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
aarch64
|
||||
)
|
||||
|
||||
@@ -69,6 +70,8 @@ type delocation struct {
|
||||
@@ -67,6 +68,8 @@ type delocation struct {
|
||||
|
||||
// symbols is the set of symbols defined in the module.
|
||||
symbols map[string]struct{}
|
||||
|
|
@ -6171,7 +6175,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
// redirectors maps from out-call symbol name to the name of a
|
||||
// redirector function for that symbol. E.g. “memcpy” ->
|
||||
// “bcm_redirector_memcpy”.
|
||||
@@ -77,6 +80,9 @@ type delocation struct {
|
||||
@@ -75,6 +78,9 @@ type delocation struct {
|
||||
// should be used to reference it. E.g. “P384_data_storage” ->
|
||||
// “P384_data_storage”.
|
||||
bssAccessorsNeeded map[string]string
|
||||
|
|
@ -6181,7 +6185,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
// gotExternalsNeeded is a set of symbol names for which we need
|
||||
// “delta” symbols: symbols that contain the offset from their location
|
||||
// to the memory in question.
|
||||
@@ -155,6 +161,8 @@ func (d *delocation) processInput(input
|
||||
@@ -151,6 +157,8 @@ func (d *delocation) processInput(input
|
||||
switch d.processor {
|
||||
case x86_64:
|
||||
statement, err = d.processIntelInstruction(statement, node.up)
|
||||
|
|
@ -6190,7 +6194,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
case aarch64:
|
||||
statement, err = d.processAarch64Instruction(statement, node.up)
|
||||
default:
|
||||
@@ -255,7 +263,7 @@ func (d *delocation) processDirective(st
|
||||
@@ -247,7 +255,7 @@ func (d *delocation) processDirective(st
|
||||
d.writeNode(statement)
|
||||
break
|
||||
|
||||
|
|
@ -6199,7 +6203,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
d.writeNode(statement)
|
||||
break
|
||||
|
||||
@@ -344,6 +352,10 @@ func (d *delocation) processLabelContain
|
||||
@@ -336,6 +344,10 @@ func (d *delocation) processLabelContain
|
||||
d.output.WriteString("\t" + name + "\t" + strings.Join(args, ", ") + "\n")
|
||||
}
|
||||
|
||||
|
|
@ -6210,7 +6214,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
return statement, nil
|
||||
}
|
||||
|
||||
@@ -703,6 +715,191 @@ func (d *delocation) processAarch64Instr
|
||||
@@ -659,6 +671,191 @@ func (d *delocation) processAarch64Instr
|
||||
return statement, nil
|
||||
}
|
||||
|
||||
|
|
@ -6402,7 +6406,7 @@ Index: chromium-144.0.7559.59/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)
|
||||
@@ -757,6 +954,215 @@ func (d *delocation) parseMemRef(memRef
|
||||
@@ -713,6 +910,215 @@ func (d *delocation) parseMemRef(memRef
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -6618,7 +6622,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
/* Intel */
|
||||
|
||||
type instructionType int
|
||||
@@ -1370,6 +1776,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{})
|
||||
|
|
@ -6627,8 +6631,8 @@ Index: chromium-144.0.7559.59/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
|
||||
@@ -1402,6 +1810,25 @@ func transform(w stringWriter, inputs []
|
||||
}, ruleStatement, ruleSymbolDefiningDirective, ruleSymbolDefiningDirectiveName)
|
||||
@@ -1368,6 +1776,25 @@ func transform(w stringWriter, inputs []
|
||||
}, ruleStatement, ruleLabel, ruleSymbolName)
|
||||
|
||||
forEachPath(input.ast.up, func(node *node32) {
|
||||
+ node = node.up
|
||||
|
|
@ -6653,7 +6657,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
assertNodeType(node, ruleLocationDirective)
|
||||
directive := input.contents[node.begin:node.end]
|
||||
if !strings.HasPrefix(directive, ".file") {
|
||||
@@ -1449,11 +1876,13 @@ func transform(w stringWriter, inputs []
|
||||
@@ -1415,11 +1842,13 @@ func transform(w stringWriter, inputs []
|
||||
|
||||
d := &delocation{
|
||||
symbols: symbols,
|
||||
|
|
@ -6667,7 +6671,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
gotExternalsNeeded: make(map[string]struct{}),
|
||||
gotOffsetsNeeded: make(map[string]struct{}),
|
||||
gotOffOffsetsNeeded: make(map[string]struct{}),
|
||||
@@ -1488,6 +1917,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 {
|
||||
|
|
@ -6690,7 +6694,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
case aarch64:
|
||||
writeAarch64Function(w, redirector, func(w stringWriter) {
|
||||
w.WriteString("\tb " + name + "\n")
|
||||
@@ -1512,6 +1957,13 @@ func transform(w stringWriter, inputs []
|
||||
@@ -1478,6 +1923,13 @@ func transform(w stringWriter, inputs []
|
||||
target := d.bssAccessorsNeeded[name]
|
||||
|
||||
switch d.processor {
|
||||
|
|
@ -6704,7 +6708,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
case x86_64:
|
||||
w.WriteString(".type " + funcName + ", @function\n")
|
||||
w.WriteString(funcName + ":\n")
|
||||
@@ -1527,6 +1979,26 @@ func transform(w stringWriter, inputs []
|
||||
@@ -1493,6 +1945,26 @@ func transform(w stringWriter, inputs []
|
||||
}
|
||||
|
||||
switch d.processor {
|
||||
|
|
@ -6731,7 +6735,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
case aarch64:
|
||||
externalNames := sortedSet(d.gotExternalsNeeded)
|
||||
for _, symbol := range externalNames {
|
||||
@@ -1818,6 +2290,10 @@ func localTargetName(name string) string
|
||||
@@ -1803,6 +2275,10 @@ func localTargetName(name string) string
|
||||
return ".L" + name + "_local_target"
|
||||
}
|
||||
|
||||
|
|
@ -6741,8 +6745,8 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
+
|
||||
func isSynthesized(symbol string) bool {
|
||||
return strings.HasSuffix(symbol, "_bss_get") ||
|
||||
strings.HasPrefix(symbol, "BORINGSSL_bcm_text_")
|
||||
@@ -1872,6 +2348,8 @@ func detectProcessor(input inputFile) pr
|
||||
symbol == "OPENSSL_ia32cap_get" ||
|
||||
@@ -1894,6 +2370,8 @@ func detectProcessor(input inputFile) pr
|
||||
switch instructionName {
|
||||
case "movq", "call", "leaq":
|
||||
return x86_64
|
||||
|
|
@ -6751,13 +6755,13 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
case "str", "bl", "ldr", "st1":
|
||||
return aarch64
|
||||
}
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/delocate.peg
|
||||
@@ -12,9 +12,9 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
|
||||
|
||||
-# This is a rough parser for x86-64 and aarch64 assembly designed to work with
|
||||
-# https://github.com/pointlander/peg. delocate.go has a go:generate line for
|
||||
|
|
@ -6768,10 +6772,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
|
||||
# To regenerate delocate.peg.go:
|
||||
#
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go
|
||||
@@ -39,6 +39,11 @@ func (test *delocateTest) Path(file stri
|
||||
|
||||
var delocateTests = []delocateTest{
|
||||
|
|
@ -6784,10 +6788,10 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s
|
||||
@@ -0,0 +1,9 @@
|
||||
+ .text
|
||||
+foo:
|
||||
|
|
@ -6798,10 +6802,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
+ .localentry foo,.-foo
|
||||
+.LVL0:
|
||||
+ bl
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s
|
||||
@@ -0,0 +1,62 @@
|
||||
+.text
|
||||
+.file 1 "inserted_by_delocate.cc"
|
||||
|
|
@ -6865,19 +6869,19 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
+.byte 0xff
|
||||
+.byte 0x31
|
||||
+.byte 0x80
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s
|
||||
+++ chromium-133.0.6943.35/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-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s
|
||||
@@ -0,0 +1,72 @@
|
||||
+.text
|
||||
+.file 1 "inserted_by_delocate.cc"
|
||||
|
|
@ -6951,10 +6955,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
+.byte 0xff
|
||||
+.byte 0x31
|
||||
+.byte 0x80
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s
|
||||
@@ -0,0 +1,161 @@
|
||||
+ .file "foo.cc"
|
||||
+ .abiversion 2
|
||||
|
|
@ -7117,10 +7121,10 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s
|
||||
@@ -0,0 +1,552 @@
|
||||
+.text
|
||||
+.file 1 "inserted_by_delocate.cc"
|
||||
|
|
@ -7674,10 +7678,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
+.byte 0xff
|
||||
+.byte 0x31
|
||||
+.byte 0x80
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s
|
||||
@@ -0,0 +1,226 @@
|
||||
+ .file "foo.cc"
|
||||
+ .abiversion 2
|
||||
|
|
@ -7905,10 +7909,10 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s
|
||||
@@ -0,0 +1,677 @@
|
||||
+.text
|
||||
+.file 1 "inserted_by_delocate.cc"
|
||||
|
|
@ -8587,10 +8591,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
+.byte 0xff
|
||||
+.byte 0x31
|
||||
+.byte 0x80
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s
|
||||
@@ -0,0 +1,23 @@
|
||||
+ .text
|
||||
+foo:
|
||||
|
|
@ -8615,10 +8619,10 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s
|
||||
@@ -0,0 +1,178 @@
|
||||
+.text
|
||||
+.file 1 "inserted_by_delocate.cc"
|
||||
|
|
@ -8798,11 +8802,11 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/fipstools/delocate/
|
|||
+.byte 0xff
|
||||
+.byte 0x31
|
||||
+.byte 0x80
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
|
||||
@@ -377,6 +377,10 @@ static void sha1_block_data_order(uint32
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc
|
||||
@@ -362,6 +362,10 @@ static void sha1_block_data_order(uint32
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
|
@ -8813,22 +8817,22 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/crypto/fipsmodule/sha/sh
|
|||
sha1_block_data_order_nohw(state, data, num);
|
||||
}
|
||||
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/build.json
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/build.json
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/build.json
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/build.json
|
||||
@@ -130,6 +130,10 @@
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/build.json
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/build.json
|
||||
@@ -126,6 +126,10 @@
|
||||
{"src": "crypto/fipsmodule/sha/asm/sha512-armv4.pl"},
|
||||
{"src": "crypto/fipsmodule/aes/asm/vpaes-armv7.pl"}
|
||||
],
|
||||
+ "perlasm_ppc64le": [
|
||||
+ {"src": "crypto/fipsmodule/aes/asm/aesp8-ppc.pl"},
|
||||
+ {"src": "crypto/fipsmodule/aes/asm/ghashp8-ppc.pl"}
|
||||
+ {"src": "crypto/fipsmodule/modes/asm/ghashp8-ppc.pl"}
|
||||
+ ],
|
||||
"perlasm_x86": [
|
||||
{"src": "crypto/fipsmodule/aes/asm/aesni-x86.pl"},
|
||||
{"src": "crypto/fipsmodule/bn/asm/bn-586.pl"},
|
||||
@@ -239,6 +243,7 @@
|
||||
@@ -229,6 +233,7 @@
|
||||
"crypto/cpu_arm_freebsd.cc",
|
||||
"crypto/cpu_arm_linux.cc",
|
||||
"crypto/cpu_intel.cc",
|
||||
|
|
@ -8836,7 +8840,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/build.json
|
|||
"crypto/crypto.cc",
|
||||
"crypto/curve25519/curve25519.cc",
|
||||
"crypto/curve25519/curve25519_64_adx.cc",
|
||||
@@ -805,6 +810,9 @@
|
||||
@@ -786,6 +791,9 @@
|
||||
"perlasm_arm": [
|
||||
{"src": "crypto/test/asm/trampoline-armv4.pl"}
|
||||
],
|
||||
|
|
@ -8846,10 +8850,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/build.json
|
|||
"perlasm_x86": [
|
||||
{"src": "crypto/test/asm/trampoline-x86.pl"}
|
||||
],
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/util/pregenerate/build.go
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/util/pregenerate/build.go
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/util/pregenerate/build.go
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/util/pregenerate/build.go
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/util/pregenerate/build.go
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/util/pregenerate/build.go
|
||||
@@ -38,6 +38,7 @@ type InputTarget struct {
|
||||
// architecture.
|
||||
PerlasmAarch64 []PerlasmSource `json:"perlasm_aarch64,omitempty"`
|
||||
|
|
@ -8868,10 +8872,10 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/util/pregenerate/build.g
|
|||
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-144.0.7559.59/third_party/boringssl/README.ppc64le
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/README.ppc64le
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/README.ppc64le
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/README.ppc64le
|
||||
@@ -0,0 +1,8 @@
|
||||
+==============================================================
|
||||
+To recreate boringssl pregenerated files patch for ppc64le:
|
||||
|
|
@ -8881,11 +8885,11 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/gen/sources.gni
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/gen/sources.gni
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/gen/sources.gni
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.gni
|
||||
@@ -123,6 +123,7 @@ bcm_sources_asm = [
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/gen/sources.gni
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/gen/sources.gni
|
||||
@@ -119,6 +119,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",
|
||||
|
|
@ -8893,7 +8897,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.gni
|
|||
"gen/bcm/armv4-mont-linux.S",
|
||||
"gen/bcm/armv8-mont-apple.S",
|
||||
"gen/bcm/armv8-mont-linux.S",
|
||||
@@ -139,6 +140,7 @@ bcm_sources_asm = [
|
||||
@@ -135,6 +136,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",
|
||||
|
|
@ -8901,7 +8905,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.gni
|
|||
"gen/bcm/ghash-ssse3-x86-apple.S",
|
||||
"gen/bcm/ghash-ssse3-x86-linux.S",
|
||||
"gen/bcm/ghash-ssse3-x86_64-apple.S",
|
||||
@@ -338,6 +340,7 @@ crypto_sources = [
|
||||
@@ -328,6 +330,7 @@ crypto_sources = [
|
||||
"crypto/cpu_arm_freebsd.cc",
|
||||
"crypto/cpu_arm_linux.cc",
|
||||
"crypto/cpu_intel.cc",
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@ Subject: [PATCH] Add ppc64 target to libaom
|
|||
third_party/libaom/cmake_update.sh | 3 +++
|
||||
2 files changed, 15 insertions(+)
|
||||
|
||||
Index: chromium-144.0.7559.59/third_party/libaom/BUILD.gn
|
||||
Index: chromium-128.0.6613.113/third_party/libaom/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/libaom/BUILD.gn
|
||||
+++ chromium-144.0.7559.59/third_party/libaom/BUILD.gn
|
||||
@@ -299,6 +299,18 @@ if (current_cpu == "arm64" || current_cp
|
||||
--- chromium-128.0.6613.113.orig/third_party/libaom/BUILD.gn
|
||||
+++ chromium-128.0.6613.113/third_party/libaom/BUILD.gn
|
||||
@@ -275,6 +275,18 @@ if (current_cpu == "arm64") {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -31,7 +31,7 @@ Index: chromium-144.0.7559.59/third_party/libaom/BUILD.gn
|
|||
static_library("libaom") {
|
||||
check_includes = false
|
||||
if (!is_debug && is_win) {
|
||||
@@ -368,6 +380,9 @@ static_library("libaom") {
|
||||
@@ -338,6 +350,9 @@ static_library("libaom") {
|
||||
# This is needed by all arm boards due to aom_arm_cpu_caps()
|
||||
sources += [ "source/libaom/aom_ports/aarch32_cpudetect.c" ]
|
||||
}
|
||||
|
|
@ -41,17 +41,17 @@ Index: chromium-144.0.7559.59/third_party/libaom/BUILD.gn
|
|||
if (is_android) {
|
||||
deps += [ "//third_party/cpu_features:ndk_compat" ]
|
||||
}
|
||||
Index: chromium-144.0.7559.59/third_party/libaom/cmake_update.sh
|
||||
Index: chromium-128.0.6613.113/third_party/libaom/cmake_update.sh
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/libaom/cmake_update.sh
|
||||
+++ chromium-144.0.7559.59/third_party/libaom/cmake_update.sh
|
||||
@@ -167,6 +167,9 @@ egrep \
|
||||
"#define [A-Z0-9_]+[[:space:]]+[01]" "${CFG}/win/ia32/config/aom_config.h" \
|
||||
| awk '{print "%define " $2 " " $3}' > "${CFG}/win/ia32/config/aom_config.asm"
|
||||
--- chromium-128.0.6613.113.orig/third_party/libaom/cmake_update.sh
|
||||
+++ chromium-128.0.6613.113/third_party/libaom/cmake_update.sh
|
||||
@@ -190,6 +190,9 @@ reset_dirs linux/arm64-cpu-detect
|
||||
gen_config_files linux/arm64-cpu-detect \
|
||||
"${toolchain}/arm64-linux-gcc.cmake ${all_platforms}"
|
||||
|
||||
+reset_dirs linux/ppc64
|
||||
+gen_config_files linux/ppc64 "${toolchain}/ppc-linux-gcc.cmake ${all_platforms}"
|
||||
+
|
||||
# Copy linux configurations and modify for Windows.
|
||||
reset_dirs win/x64
|
||||
cp "${CFG}/linux/x64/config"/* "${CFG}/win/x64/config/"
|
||||
reset_dirs win/arm64-cpu-detect
|
||||
cp "${CFG}/linux/arm64-cpu-detect/config"/* \
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
|
||||
Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
|
||||
@@ -0,0 +1,100 @@
|
||||
+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm
|
||||
@@ -0,0 +1,95 @@
|
||||
+;
|
||||
+; Copyright (c) 2025, Alliance for Open Media. All rights reserved.
|
||||
+; Copyright (c) 2024, Alliance for Open Media. All rights reserved.
|
||||
+;
|
||||
+; This source code is subject to the terms of the BSD 2 Clause License and
|
||||
+; the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
|
||||
|
|
@ -16,7 +16,6 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+AOM_ARCH_AARCH64 equ 0
|
||||
+AOM_ARCH_ARM equ 0
|
||||
+AOM_ARCH_PPC equ 1
|
||||
+AOM_ARCH_RISCV equ 0
|
||||
+AOM_ARCH_X86 equ 0
|
||||
+AOM_ARCH_X86_64 equ 0
|
||||
+CONFIG_ACCOUNTING equ 0
|
||||
|
|
@ -34,7 +33,6 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+CONFIG_COLLECT_PARTITION_STATS equ 0
|
||||
+CONFIG_COLLECT_RD_STATS equ 0
|
||||
+CONFIG_CWG_C013 equ 0
|
||||
+CONFIG_CWG_E050 equ 0
|
||||
+CONFIG_DEBUG equ 0
|
||||
+CONFIG_DENOISE equ 1
|
||||
+CONFIG_DISABLE_FULL_PIXEL_SPLIT_8X8 equ 1
|
||||
|
|
@ -44,12 +42,11 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+CONFIG_GCC equ 1
|
||||
+CONFIG_GCOV equ 0
|
||||
+CONFIG_GPROF equ 0
|
||||
+CONFIG_HIGHWAY equ 0
|
||||
+CONFIG_INSPECTION equ 0
|
||||
+CONFIG_INTERNAL_STATS equ 0
|
||||
+CONFIG_INTER_STATS_ONLY equ 0
|
||||
+CONFIG_LIBVMAF_PSNR_PEAK equ 1
|
||||
+CONFIG_LIBYUV equ 1
|
||||
+CONFIG_LIBYUV equ 0
|
||||
+CONFIG_MAX_DECODE_PROFILE equ 2
|
||||
+CONFIG_MISMATCH_DEBUG equ 0
|
||||
+CONFIG_MULTITHREAD equ 1
|
||||
|
|
@ -83,14 +80,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+HAVE_ARM_CRC32 equ 0
|
||||
+HAVE_AVX equ 0
|
||||
+HAVE_AVX2 equ 0
|
||||
+HAVE_AVX512 equ 0
|
||||
+HAVE_FEXCEPT equ 1
|
||||
+HAVE_MMX equ 0
|
||||
+HAVE_NEON equ 0
|
||||
+HAVE_NEON_DOTPROD equ 0
|
||||
+HAVE_NEON_I8MM equ 0
|
||||
+HAVE_PTHREAD_H equ 1
|
||||
+HAVE_RVV equ 0
|
||||
+HAVE_SSE equ 0
|
||||
+HAVE_SSE2 equ 0
|
||||
+HAVE_SSE3 equ 0
|
||||
|
|
@ -103,13 +98,13 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+HAVE_VSX equ 1
|
||||
+HAVE_WXWIDGETS equ 0
|
||||
+STATIC_LINK_JXL equ 0
|
||||
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
|
||||
Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
|
||||
+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.c
|
||||
@@ -0,0 +1,13 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.
|
||||
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
|
||||
+ *
|
||||
+ * This source code is subject to the terms of the BSD 2 Clause License and
|
||||
+ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
|
||||
|
|
@ -119,15 +114,15 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+ * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
|
||||
+ */
|
||||
+#include "aom/aom_codec.h"
|
||||
+static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/ppc-linux-gcc.cmake\" -DCONFIG_AV1_DECODER=0 -DCONFIG_AV1_ENCODER=1 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_QUANT_MATRIX=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384";
|
||||
+static const char* const cfg = "cmake ../source/libaom -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=\"../source/libaom/build/cmake/toolchains/ppc-linux-gcc.cmake\" -DCONFIG_AV1_DECODER=0 -DCONFIG_AV1_ENCODER=1 -DCONFIG_LIBYUV=0 -DCONFIG_AV1_HIGHBITDEPTH=0 -DCONFIG_AV1_TEMPORAL_DENOISING=1 -DCONFIG_QUANT_MATRIX=0 -DCONFIG_REALTIME_ONLY=1 -DCONFIG_SIZE_LIMIT=1 -DDECODE_HEIGHT_LIMIT=16384 -DDECODE_WIDTH_LIMIT=16384";
|
||||
+const char *aom_codec_build_config(void) {return cfg;}
|
||||
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
|
||||
Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
|
||||
@@ -0,0 +1,103 @@
|
||||
+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_config.h
|
||||
@@ -0,0 +1,98 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.
|
||||
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
|
||||
+ *
|
||||
+ * This source code is subject to the terms of the BSD 2 Clause License and
|
||||
+ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
|
||||
|
|
@ -141,7 +136,6 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+#define AOM_ARCH_AARCH64 0
|
||||
+#define AOM_ARCH_ARM 0
|
||||
+#define AOM_ARCH_PPC 1
|
||||
+#define AOM_ARCH_RISCV 0
|
||||
+#define AOM_ARCH_X86 0
|
||||
+#define AOM_ARCH_X86_64 0
|
||||
+#define CONFIG_ACCOUNTING 0
|
||||
|
|
@ -159,7 +153,6 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+#define CONFIG_COLLECT_PARTITION_STATS 0
|
||||
+#define CONFIG_COLLECT_RD_STATS 0
|
||||
+#define CONFIG_CWG_C013 0
|
||||
+#define CONFIG_CWG_E050 0
|
||||
+#define CONFIG_DEBUG 0
|
||||
+#define CONFIG_DENOISE 1
|
||||
+#define CONFIG_DISABLE_FULL_PIXEL_SPLIT_8X8 1
|
||||
|
|
@ -169,12 +162,11 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+#define CONFIG_GCC 1
|
||||
+#define CONFIG_GCOV 0
|
||||
+#define CONFIG_GPROF 0
|
||||
+#define CONFIG_HIGHWAY 0
|
||||
+#define CONFIG_INSPECTION 0
|
||||
+#define CONFIG_INTERNAL_STATS 0
|
||||
+#define CONFIG_INTER_STATS_ONLY 0
|
||||
+#define CONFIG_LIBVMAF_PSNR_PEAK 1
|
||||
+#define CONFIG_LIBYUV 1
|
||||
+#define CONFIG_LIBYUV 0
|
||||
+#define CONFIG_MAX_DECODE_PROFILE 2
|
||||
+#define CONFIG_MISMATCH_DEBUG 0
|
||||
+#define CONFIG_MULTITHREAD 1
|
||||
|
|
@ -208,14 +200,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+#define HAVE_ARM_CRC32 0
|
||||
+#define HAVE_AVX 0
|
||||
+#define HAVE_AVX2 0
|
||||
+#define HAVE_AVX512 0
|
||||
+#define HAVE_FEXCEPT 1
|
||||
+#define HAVE_MMX 0
|
||||
+#define HAVE_NEON 0
|
||||
+#define HAVE_NEON_DOTPROD 0
|
||||
+#define HAVE_NEON_I8MM 0
|
||||
+#define HAVE_PTHREAD_H 1
|
||||
+#define HAVE_RVV 0
|
||||
+#define HAVE_SSE 0
|
||||
+#define HAVE_SSE2 0
|
||||
+#define HAVE_SSE3 0
|
||||
|
|
@ -229,13 +219,13 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+#define HAVE_WXWIDGETS 0
|
||||
+#define STATIC_LINK_JXL 0
|
||||
+#endif // AOM_CONFIG_H_
|
||||
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
|
||||
Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
|
||||
@@ -0,0 +1,1177 @@
|
||||
+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h
|
||||
@@ -0,0 +1,1501 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.
|
||||
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
|
||||
+ *
|
||||
+ * This source code is subject to the terms of the BSD 2 Clause License and
|
||||
+ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
|
||||
|
|
@ -308,6 +298,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_dc_128_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_128_predictor_16x32 aom_dc_128_predictor_16x32_c
|
||||
+
|
||||
+void aom_dc_128_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_c
|
||||
+
|
||||
+void aom_dc_128_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_c
|
||||
+
|
||||
+void aom_dc_128_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_128_predictor_16x8 aom_dc_128_predictor_16x8_c
|
||||
+
|
||||
|
|
@ -320,12 +316,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_dc_128_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_128_predictor_32x64 aom_dc_128_predictor_32x64_c
|
||||
+
|
||||
+void aom_dc_128_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_c
|
||||
+
|
||||
+void aom_dc_128_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_c
|
||||
+
|
||||
+void aom_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_128_predictor_4x4 aom_dc_128_predictor_4x4_c
|
||||
+
|
||||
+void aom_dc_128_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_128_predictor_4x8 aom_dc_128_predictor_4x8_c
|
||||
+
|
||||
+void aom_dc_128_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_128_predictor_64x16 aom_dc_128_predictor_64x16_c
|
||||
+
|
||||
+void aom_dc_128_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_128_predictor_64x32 aom_dc_128_predictor_64x32_c
|
||||
+
|
||||
|
|
@ -335,6 +340,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_dc_128_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_128_predictor_8x16 aom_dc_128_predictor_8x16_c
|
||||
+
|
||||
+void aom_dc_128_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_c
|
||||
+
|
||||
+void aom_dc_128_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_128_predictor_8x4 aom_dc_128_predictor_8x4_c
|
||||
+
|
||||
|
|
@ -347,6 +355,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_dc_left_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_left_predictor_16x32 aom_dc_left_predictor_16x32_c
|
||||
+
|
||||
+void aom_dc_left_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_c
|
||||
+
|
||||
+void aom_dc_left_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_c
|
||||
+
|
||||
+void aom_dc_left_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_left_predictor_16x8 aom_dc_left_predictor_16x8_c
|
||||
+
|
||||
|
|
@ -359,12 +373,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_dc_left_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_left_predictor_32x64 aom_dc_left_predictor_32x64_c
|
||||
+
|
||||
+void aom_dc_left_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_c
|
||||
+
|
||||
+void aom_dc_left_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_c
|
||||
+
|
||||
+void aom_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_left_predictor_4x4 aom_dc_left_predictor_4x4_c
|
||||
+
|
||||
+void aom_dc_left_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_left_predictor_4x8 aom_dc_left_predictor_4x8_c
|
||||
+
|
||||
+void aom_dc_left_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_left_predictor_64x16 aom_dc_left_predictor_64x16_c
|
||||
+
|
||||
+void aom_dc_left_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_left_predictor_64x32 aom_dc_left_predictor_64x32_c
|
||||
+
|
||||
|
|
@ -374,6 +397,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_dc_left_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_left_predictor_8x16 aom_dc_left_predictor_8x16_c
|
||||
+
|
||||
+void aom_dc_left_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_c
|
||||
+
|
||||
+void aom_dc_left_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_left_predictor_8x4 aom_dc_left_predictor_8x4_c
|
||||
+
|
||||
|
|
@ -386,6 +412,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_dc_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_predictor_16x32 aom_dc_predictor_16x32_c
|
||||
+
|
||||
+void aom_dc_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_c
|
||||
+
|
||||
+void aom_dc_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_c
|
||||
+
|
||||
+void aom_dc_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_predictor_16x8 aom_dc_predictor_16x8_c
|
||||
+
|
||||
|
|
@ -398,12 +430,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_dc_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_predictor_32x64 aom_dc_predictor_32x64_c
|
||||
+
|
||||
+void aom_dc_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_c
|
||||
+
|
||||
+void aom_dc_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_c
|
||||
+
|
||||
+void aom_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_predictor_4x4 aom_dc_predictor_4x4_c
|
||||
+
|
||||
+void aom_dc_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_predictor_4x8 aom_dc_predictor_4x8_c
|
||||
+
|
||||
+void aom_dc_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_predictor_64x16 aom_dc_predictor_64x16_c
|
||||
+
|
||||
+void aom_dc_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_predictor_64x32 aom_dc_predictor_64x32_c
|
||||
+
|
||||
|
|
@ -413,6 +454,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_dc_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_predictor_8x16 aom_dc_predictor_8x16_c
|
||||
+
|
||||
+void aom_dc_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_c
|
||||
+
|
||||
+void aom_dc_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_predictor_8x4 aom_dc_predictor_8x4_c
|
||||
+
|
||||
|
|
@ -425,6 +469,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_dc_top_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_16x32 aom_dc_top_predictor_16x32_c
|
||||
+
|
||||
+void aom_dc_top_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_c
|
||||
+
|
||||
+void aom_dc_top_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_c
|
||||
+
|
||||
+void aom_dc_top_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_16x8 aom_dc_top_predictor_16x8_c
|
||||
+
|
||||
|
|
@ -437,12 +487,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_dc_top_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_32x64 aom_dc_top_predictor_32x64_c
|
||||
+
|
||||
+void aom_dc_top_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_c
|
||||
+
|
||||
+void aom_dc_top_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_c
|
||||
+
|
||||
+void aom_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_4x4 aom_dc_top_predictor_4x4_c
|
||||
+
|
||||
+void aom_dc_top_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_4x8 aom_dc_top_predictor_4x8_c
|
||||
+
|
||||
+void aom_dc_top_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_64x16 aom_dc_top_predictor_64x16_c
|
||||
+
|
||||
+void aom_dc_top_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_64x32 aom_dc_top_predictor_64x32_c
|
||||
+
|
||||
|
|
@ -452,12 +511,114 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_dc_top_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_8x16 aom_dc_top_predictor_8x16_c
|
||||
+
|
||||
+void aom_dc_top_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_c
|
||||
+
|
||||
+void aom_dc_top_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_8x4 aom_dc_top_predictor_8x4_c
|
||||
+
|
||||
+void aom_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_dc_top_predictor_8x8 aom_dc_top_predictor_8x8_c
|
||||
+
|
||||
+void aom_dist_wtd_comp_avg_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_comp_avg_pred aom_dist_wtd_comp_avg_pred_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad128x128_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad128x128_avg aom_dist_wtd_sad128x128_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad128x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad128x64_avg aom_dist_wtd_sad128x64_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad16x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad16x16_avg aom_dist_wtd_sad16x16_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad16x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad16x32_avg aom_dist_wtd_sad16x32_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad16x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad16x8_avg aom_dist_wtd_sad16x8_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad32x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad32x16_avg aom_dist_wtd_sad32x16_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad32x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad32x32_avg aom_dist_wtd_sad32x32_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad32x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad32x64_avg aom_dist_wtd_sad32x64_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad4x4_avg aom_dist_wtd_sad4x4_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad4x8_avg aom_dist_wtd_sad4x8_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad64x128_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad64x128_avg aom_dist_wtd_sad64x128_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad64x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad64x32_avg aom_dist_wtd_sad64x32_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad64x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad64x64_avg aom_dist_wtd_sad64x64_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad8x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad8x16_avg aom_dist_wtd_sad8x16_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad8x4_avg aom_dist_wtd_sad8x4_avg_c
|
||||
+
|
||||
+unsigned int aom_dist_wtd_sad8x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sad8x8_avg aom_dist_wtd_sad8x8_avg_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance128x128_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance128x128 aom_dist_wtd_sub_pixel_avg_variance128x128_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance128x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance128x64 aom_dist_wtd_sub_pixel_avg_variance128x64_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance16x16 aom_dist_wtd_sub_pixel_avg_variance16x16_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance16x32 aom_dist_wtd_sub_pixel_avg_variance16x32_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance16x8 aom_dist_wtd_sub_pixel_avg_variance16x8_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance32x16 aom_dist_wtd_sub_pixel_avg_variance32x16_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance32x32 aom_dist_wtd_sub_pixel_avg_variance32x32_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance32x64 aom_dist_wtd_sub_pixel_avg_variance32x64_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance4x4 aom_dist_wtd_sub_pixel_avg_variance4x4_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance4x8 aom_dist_wtd_sub_pixel_avg_variance4x8_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance64x128_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance64x128 aom_dist_wtd_sub_pixel_avg_variance64x128_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance64x32 aom_dist_wtd_sub_pixel_avg_variance64x32_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance64x64 aom_dist_wtd_sub_pixel_avg_variance64x64_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance8x16 aom_dist_wtd_sub_pixel_avg_variance8x16_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance8x4 aom_dist_wtd_sub_pixel_avg_variance8x4_c
|
||||
+
|
||||
+uint32_t aom_dist_wtd_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param);
|
||||
+#define aom_dist_wtd_sub_pixel_avg_variance8x8 aom_dist_wtd_sub_pixel_avg_variance8x8_c
|
||||
+
|
||||
+void aom_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride);
|
||||
+#define aom_fdct4x4 aom_fdct4x4_c
|
||||
+
|
||||
|
|
@ -482,6 +643,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_get_blk_sse_sum_c(const int16_t *data, int stride, int bw, int bh, int *x_sum, int64_t *x2_sum);
|
||||
+#define aom_get_blk_sse_sum aom_get_blk_sse_sum_c
|
||||
+
|
||||
+unsigned int aom_get_mb_ss_c(const int16_t *);
|
||||
+#define aom_get_mb_ss aom_get_mb_ss_c
|
||||
+
|
||||
+void aom_get_var_sse_sum_16x16_dual_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse16x16, unsigned int *tot_sse, int *tot_sum, uint32_t *var16x16);
|
||||
+#define aom_get_var_sse_sum_16x16_dual aom_get_var_sse_sum_16x16_dual_c
|
||||
+
|
||||
|
|
@ -494,6 +658,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_h_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_h_predictor_16x32 aom_h_predictor_16x32_c
|
||||
+
|
||||
+void aom_h_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_h_predictor_16x4 aom_h_predictor_16x4_c
|
||||
+
|
||||
+void aom_h_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_h_predictor_16x64 aom_h_predictor_16x64_c
|
||||
+
|
||||
+void aom_h_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_h_predictor_16x8 aom_h_predictor_16x8_c
|
||||
+
|
||||
|
|
@ -506,12 +676,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_h_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_h_predictor_32x64 aom_h_predictor_32x64_c
|
||||
+
|
||||
+void aom_h_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_h_predictor_32x8 aom_h_predictor_32x8_c
|
||||
+
|
||||
+void aom_h_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_h_predictor_4x16 aom_h_predictor_4x16_c
|
||||
+
|
||||
+void aom_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_h_predictor_4x4 aom_h_predictor_4x4_c
|
||||
+
|
||||
+void aom_h_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_h_predictor_4x8 aom_h_predictor_4x8_c
|
||||
+
|
||||
+void aom_h_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_h_predictor_64x16 aom_h_predictor_64x16_c
|
||||
+
|
||||
+void aom_h_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_h_predictor_64x32 aom_h_predictor_64x32_c
|
||||
+
|
||||
|
|
@ -521,6 +700,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_h_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_h_predictor_8x16 aom_h_predictor_8x16_c
|
||||
+
|
||||
+void aom_h_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_h_predictor_8x32 aom_h_predictor_8x32_c
|
||||
+
|
||||
+void aom_h_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_h_predictor_8x4 aom_h_predictor_8x4_c
|
||||
+
|
||||
|
|
@ -767,6 +949,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_paeth_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_paeth_predictor_16x32 aom_paeth_predictor_16x32_c
|
||||
+
|
||||
+void aom_paeth_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_paeth_predictor_16x4 aom_paeth_predictor_16x4_c
|
||||
+
|
||||
+void aom_paeth_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_paeth_predictor_16x64 aom_paeth_predictor_16x64_c
|
||||
+
|
||||
+void aom_paeth_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_paeth_predictor_16x8 aom_paeth_predictor_16x8_c
|
||||
+
|
||||
|
|
@ -779,12 +967,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_paeth_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_paeth_predictor_32x64 aom_paeth_predictor_32x64_c
|
||||
+
|
||||
+void aom_paeth_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_paeth_predictor_32x8 aom_paeth_predictor_32x8_c
|
||||
+
|
||||
+void aom_paeth_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_paeth_predictor_4x16 aom_paeth_predictor_4x16_c
|
||||
+
|
||||
+void aom_paeth_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_paeth_predictor_4x4 aom_paeth_predictor_4x4_c
|
||||
+
|
||||
+void aom_paeth_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_paeth_predictor_4x8 aom_paeth_predictor_4x8_c
|
||||
+
|
||||
+void aom_paeth_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_paeth_predictor_64x16 aom_paeth_predictor_64x16_c
|
||||
+
|
||||
+void aom_paeth_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_paeth_predictor_64x32 aom_paeth_predictor_64x32_c
|
||||
+
|
||||
|
|
@ -794,6 +991,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_paeth_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_paeth_predictor_8x16 aom_paeth_predictor_8x16_c
|
||||
+
|
||||
+void aom_paeth_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_paeth_predictor_8x32 aom_paeth_predictor_8x32_c
|
||||
+
|
||||
+void aom_paeth_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_paeth_predictor_8x4 aom_paeth_predictor_8x4_c
|
||||
+
|
||||
|
|
@ -908,6 +1108,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+unsigned int aom_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
|
||||
+#define aom_sad4x4 aom_sad4x4_c
|
||||
+
|
||||
+unsigned int aom_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
|
||||
+#define aom_sad4x4_avg aom_sad4x4_avg_c
|
||||
+
|
||||
+void aom_sad4x4x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
|
||||
+#define aom_sad4x4x3d aom_sad4x4x3d_c
|
||||
+
|
||||
|
|
@ -917,6 +1120,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+unsigned int aom_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
|
||||
+#define aom_sad4x8 aom_sad4x8_c
|
||||
+
|
||||
+unsigned int aom_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
|
||||
+#define aom_sad4x8_avg aom_sad4x8_avg_c
|
||||
+
|
||||
+void aom_sad4x8x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
|
||||
+#define aom_sad4x8x3d aom_sad4x8x3d_c
|
||||
+
|
||||
|
|
@ -974,6 +1180,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+unsigned int aom_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
|
||||
+#define aom_sad8x4 aom_sad8x4_c
|
||||
+
|
||||
+unsigned int aom_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
|
||||
+#define aom_sad8x4_avg aom_sad8x4_avg_c
|
||||
+
|
||||
+void aom_sad8x4x3d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
|
||||
+#define aom_sad8x4x3d aom_sad8x4x3d_c
|
||||
+
|
||||
|
|
@ -1016,6 +1225,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_sad_skip_16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
|
||||
+#define aom_sad_skip_16x32x4d aom_sad_skip_16x32x4d_c
|
||||
+
|
||||
+unsigned int aom_sad_skip_16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
|
||||
+#define aom_sad_skip_16x8 aom_sad_skip_16x8_c
|
||||
+
|
||||
+void aom_sad_skip_16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
|
||||
+#define aom_sad_skip_16x8x4d aom_sad_skip_16x8x4d_c
|
||||
+
|
||||
+unsigned int aom_sad_skip_32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
|
||||
+#define aom_sad_skip_32x16 aom_sad_skip_32x16_c
|
||||
+
|
||||
|
|
@ -1034,6 +1249,18 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_sad_skip_32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
|
||||
+#define aom_sad_skip_32x64x4d aom_sad_skip_32x64x4d_c
|
||||
+
|
||||
+unsigned int aom_sad_skip_4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
|
||||
+#define aom_sad_skip_4x4 aom_sad_skip_4x4_c
|
||||
+
|
||||
+void aom_sad_skip_4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
|
||||
+#define aom_sad_skip_4x4x4d aom_sad_skip_4x4x4d_c
|
||||
+
|
||||
+unsigned int aom_sad_skip_4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
|
||||
+#define aom_sad_skip_4x8 aom_sad_skip_4x8_c
|
||||
+
|
||||
+void aom_sad_skip_4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
|
||||
+#define aom_sad_skip_4x8x4d aom_sad_skip_4x8x4d_c
|
||||
+
|
||||
+unsigned int aom_sad_skip_64x128_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
|
||||
+#define aom_sad_skip_64x128 aom_sad_skip_64x128_c
|
||||
+
|
||||
|
|
@ -1058,6 +1285,18 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_sad_skip_8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
|
||||
+#define aom_sad_skip_8x16x4d aom_sad_skip_8x16x4d_c
|
||||
+
|
||||
+unsigned int aom_sad_skip_8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
|
||||
+#define aom_sad_skip_8x4 aom_sad_skip_8x4_c
|
||||
+
|
||||
+void aom_sad_skip_8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
|
||||
+#define aom_sad_skip_8x4x4d aom_sad_skip_8x4x4d_c
|
||||
+
|
||||
+unsigned int aom_sad_skip_8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
|
||||
+#define aom_sad_skip_8x8 aom_sad_skip_8x8_c
|
||||
+
|
||||
+void aom_sad_skip_8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[4], int ref_stride, uint32_t sad_array[4]);
|
||||
+#define aom_sad_skip_8x8x4d aom_sad_skip_8x8x4d_c
|
||||
+
|
||||
+int aom_satd_c(const tran_low_t *coeff, int length);
|
||||
+#define aom_satd aom_satd_c
|
||||
+
|
||||
|
|
@ -1073,6 +1312,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_smooth_h_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_h_predictor_16x32 aom_smooth_h_predictor_16x32_c
|
||||
+
|
||||
+void aom_smooth_h_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_h_predictor_16x4 aom_smooth_h_predictor_16x4_c
|
||||
+
|
||||
+void aom_smooth_h_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_h_predictor_16x64 aom_smooth_h_predictor_16x64_c
|
||||
+
|
||||
+void aom_smooth_h_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_h_predictor_16x8 aom_smooth_h_predictor_16x8_c
|
||||
+
|
||||
|
|
@ -1085,12 +1330,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_smooth_h_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_h_predictor_32x64 aom_smooth_h_predictor_32x64_c
|
||||
+
|
||||
+void aom_smooth_h_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_h_predictor_32x8 aom_smooth_h_predictor_32x8_c
|
||||
+
|
||||
+void aom_smooth_h_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_h_predictor_4x16 aom_smooth_h_predictor_4x16_c
|
||||
+
|
||||
+void aom_smooth_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_h_predictor_4x4 aom_smooth_h_predictor_4x4_c
|
||||
+
|
||||
+void aom_smooth_h_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_h_predictor_4x8 aom_smooth_h_predictor_4x8_c
|
||||
+
|
||||
+void aom_smooth_h_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_h_predictor_64x16 aom_smooth_h_predictor_64x16_c
|
||||
+
|
||||
+void aom_smooth_h_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_h_predictor_64x32 aom_smooth_h_predictor_64x32_c
|
||||
+
|
||||
|
|
@ -1100,6 +1354,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_smooth_h_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_h_predictor_8x16 aom_smooth_h_predictor_8x16_c
|
||||
+
|
||||
+void aom_smooth_h_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_h_predictor_8x32 aom_smooth_h_predictor_8x32_c
|
||||
+
|
||||
+void aom_smooth_h_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_h_predictor_8x4 aom_smooth_h_predictor_8x4_c
|
||||
+
|
||||
|
|
@ -1112,6 +1369,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_smooth_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_predictor_16x32 aom_smooth_predictor_16x32_c
|
||||
+
|
||||
+void aom_smooth_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_predictor_16x4 aom_smooth_predictor_16x4_c
|
||||
+
|
||||
+void aom_smooth_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_predictor_16x64 aom_smooth_predictor_16x64_c
|
||||
+
|
||||
+void aom_smooth_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_predictor_16x8 aom_smooth_predictor_16x8_c
|
||||
+
|
||||
|
|
@ -1124,12 +1387,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_smooth_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_predictor_32x64 aom_smooth_predictor_32x64_c
|
||||
+
|
||||
+void aom_smooth_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_predictor_32x8 aom_smooth_predictor_32x8_c
|
||||
+
|
||||
+void aom_smooth_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_predictor_4x16 aom_smooth_predictor_4x16_c
|
||||
+
|
||||
+void aom_smooth_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_predictor_4x4 aom_smooth_predictor_4x4_c
|
||||
+
|
||||
+void aom_smooth_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_predictor_4x8 aom_smooth_predictor_4x8_c
|
||||
+
|
||||
+void aom_smooth_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_predictor_64x16 aom_smooth_predictor_64x16_c
|
||||
+
|
||||
+void aom_smooth_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_predictor_64x32 aom_smooth_predictor_64x32_c
|
||||
+
|
||||
|
|
@ -1139,6 +1411,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_smooth_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_predictor_8x16 aom_smooth_predictor_8x16_c
|
||||
+
|
||||
+void aom_smooth_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_predictor_8x32 aom_smooth_predictor_8x32_c
|
||||
+
|
||||
+void aom_smooth_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_predictor_8x4 aom_smooth_predictor_8x4_c
|
||||
+
|
||||
|
|
@ -1151,6 +1426,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_smooth_v_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_v_predictor_16x32 aom_smooth_v_predictor_16x32_c
|
||||
+
|
||||
+void aom_smooth_v_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_v_predictor_16x4 aom_smooth_v_predictor_16x4_c
|
||||
+
|
||||
+void aom_smooth_v_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_v_predictor_16x64 aom_smooth_v_predictor_16x64_c
|
||||
+
|
||||
+void aom_smooth_v_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_v_predictor_16x8 aom_smooth_v_predictor_16x8_c
|
||||
+
|
||||
|
|
@ -1163,12 +1444,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_smooth_v_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_v_predictor_32x64 aom_smooth_v_predictor_32x64_c
|
||||
+
|
||||
+void aom_smooth_v_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_v_predictor_32x8 aom_smooth_v_predictor_32x8_c
|
||||
+
|
||||
+void aom_smooth_v_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_v_predictor_4x16 aom_smooth_v_predictor_4x16_c
|
||||
+
|
||||
+void aom_smooth_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_v_predictor_4x4 aom_smooth_v_predictor_4x4_c
|
||||
+
|
||||
+void aom_smooth_v_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_v_predictor_4x8 aom_smooth_v_predictor_4x8_c
|
||||
+
|
||||
+void aom_smooth_v_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_v_predictor_64x16 aom_smooth_v_predictor_64x16_c
|
||||
+
|
||||
+void aom_smooth_v_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_v_predictor_64x32 aom_smooth_v_predictor_64x32_c
|
||||
+
|
||||
|
|
@ -1178,6 +1468,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_smooth_v_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_v_predictor_8x16 aom_smooth_v_predictor_8x16_c
|
||||
+
|
||||
+void aom_smooth_v_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_v_predictor_8x32 aom_smooth_v_predictor_8x32_c
|
||||
+
|
||||
+void aom_smooth_v_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_smooth_v_predictor_8x4 aom_smooth_v_predictor_8x4_c
|
||||
+
|
||||
|
|
@ -1304,6 +1597,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_v_predictor_16x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_16x32 aom_v_predictor_16x32_c
|
||||
+
|
||||
+void aom_v_predictor_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_16x4 aom_v_predictor_16x4_c
|
||||
+
|
||||
+void aom_v_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_16x64 aom_v_predictor_16x64_c
|
||||
+
|
||||
+void aom_v_predictor_16x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_16x8 aom_v_predictor_16x8_c
|
||||
+
|
||||
|
|
@ -1316,12 +1615,21 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_v_predictor_32x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_32x64 aom_v_predictor_32x64_c
|
||||
+
|
||||
+void aom_v_predictor_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_32x8 aom_v_predictor_32x8_c
|
||||
+
|
||||
+void aom_v_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_4x16 aom_v_predictor_4x16_c
|
||||
+
|
||||
+void aom_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_4x4 aom_v_predictor_4x4_c
|
||||
+
|
||||
+void aom_v_predictor_4x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_4x8 aom_v_predictor_4x8_c
|
||||
+
|
||||
+void aom_v_predictor_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_64x16 aom_v_predictor_64x16_c
|
||||
+
|
||||
+void aom_v_predictor_64x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_64x32 aom_v_predictor_64x32_c
|
||||
+
|
||||
|
|
@ -1331,12 +1639,18 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void aom_v_predictor_8x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_8x16 aom_v_predictor_8x16_c
|
||||
+
|
||||
+void aom_v_predictor_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_8x32 aom_v_predictor_8x32_c
|
||||
+
|
||||
+void aom_v_predictor_8x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_8x4 aom_v_predictor_8x4_c
|
||||
+
|
||||
+void aom_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
|
||||
+#define aom_v_predictor_8x8 aom_v_predictor_8x8_c
|
||||
+
|
||||
+uint64_t aom_var_2d_u16_c(uint8_t *src, int src_stride, int width, int height);
|
||||
+#define aom_var_2d_u16 aom_var_2d_u16_c
|
||||
+
|
||||
+uint64_t aom_var_2d_u8_c(uint8_t *src, int src_stride, int width, int height);
|
||||
+#define aom_var_2d_u8 aom_var_2d_u8_c
|
||||
+
|
||||
|
|
@ -1410,14 +1724,14 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+} // extern "C"
|
||||
+#endif
|
||||
+
|
||||
+#endif // AOM_DSP_RTCD_H_
|
||||
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
|
||||
+#endif
|
||||
Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
|
||||
+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h
|
||||
@@ -0,0 +1,91 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.
|
||||
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
|
||||
+ *
|
||||
+ * This source code is subject to the terms of the BSD 2 Clause License and
|
||||
+ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
|
||||
|
|
@ -1506,14 +1820,14 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+} // extern "C"
|
||||
+#endif
|
||||
+
|
||||
+#endif // AOM_SCALE_RTCD_H_
|
||||
Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
|
||||
+#endif
|
||||
Index: chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
|
||||
@@ -0,0 +1,405 @@
|
||||
+++ chromium-129.0.6668.42/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h
|
||||
@@ -0,0 +1,438 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2025, Alliance for Open Media. All rights reserved.
|
||||
+ * Copyright (c) 2024, Alliance for Open Media. All rights reserved.
|
||||
+ *
|
||||
+ * This source code is subject to the terms of the BSD 2 Clause License and
|
||||
+ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
|
||||
|
|
@ -1615,6 +1929,9 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+ int subpel_y_q3, const uint8_t *ref, int ref_stride, int subpel_search);
|
||||
+#define aom_upsampled_pred aom_upsampled_pred_c
|
||||
+
|
||||
+int av1_apply_selfguided_restoration_c(const uint8_t *dat, int width, int height, int stride, int eps, const int *xqd, uint8_t *dst, int dst_stride, int32_t *tmpbuf, int bit_depth, int highbd);
|
||||
+#define av1_apply_selfguided_restoration av1_apply_selfguided_restoration_c
|
||||
+
|
||||
+int64_t av1_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz);
|
||||
+#define av1_block_error av1_block_error_c
|
||||
+
|
||||
|
|
@ -1735,7 +2052,7 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void av1_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride);
|
||||
+#define av1_fwht4x4 av1_fwht4x4_c
|
||||
+
|
||||
+uint32_t av1_get_crc32c_value_c(void *crc_calculator, const uint8_t *p, size_t length);
|
||||
+uint32_t av1_get_crc32c_value_c(void *crc_calculator, uint8_t *p, size_t length);
|
||||
+#define av1_get_crc32c_value av1_get_crc32c_value_c
|
||||
+
|
||||
+void av1_get_horver_correlation_full_c(const int16_t *diff, int stride, int w, int h, float *hcorr, float *vcorr);
|
||||
|
|
@ -1849,12 +2166,20 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void av1_round_shift_array_c(int32_t *arr, int size, int bit);
|
||||
+#define av1_round_shift_array av1_round_shift_array_c
|
||||
+
|
||||
+int av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height,
|
||||
+ int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride,
|
||||
+ int sgr_params_idx, int bit_depth, int highbd);
|
||||
+#define av1_selfguided_restoration av1_selfguided_restoration_c
|
||||
+
|
||||
+void av1_txb_init_levels_c(const tran_low_t *const coeff, const int width, const int height, uint8_t *const levels);
|
||||
+#define av1_txb_init_levels av1_txb_init_levels_c
|
||||
+
|
||||
+void av1_upsample_intra_edge_c(uint8_t *p, int sz);
|
||||
+#define av1_upsample_intra_edge av1_upsample_intra_edge_c
|
||||
+
|
||||
+void av1_warp_affine_c(const int32_t *mat, const uint8_t *ref, int width, int height, int stride, uint8_t *pred, int p_col, int p_row, int p_width, int p_height, int p_stride, int subsampling_x, int subsampling_y, ConvolveParams *conv_params, int16_t alpha, int16_t beta, int16_t gamma, int16_t delta);
|
||||
+#define av1_warp_affine av1_warp_affine_c
|
||||
+
|
||||
+void av1_wedge_compute_delta_squares_c(int16_t *d, const int16_t *a, const int16_t *b, int N);
|
||||
+#define av1_wedge_compute_delta_squares av1_wedge_compute_delta_squares_c
|
||||
+
|
||||
|
|
@ -1864,6 +2189,12 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+uint64_t av1_wedge_sse_from_residuals_c(const int16_t *r1, const int16_t *d, const uint8_t *m, int N);
|
||||
+#define av1_wedge_sse_from_residuals av1_wedge_sse_from_residuals_c
|
||||
+
|
||||
+void av1_wiener_convolve_add_src_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const WienerConvolveParams *conv_params);
|
||||
+#define av1_wiener_convolve_add_src av1_wiener_convolve_add_src_c
|
||||
+
|
||||
+void cdef_copy_rect8_16bit_to_16bit_c(uint16_t *dst, int dstride, const uint16_t *src, int sstride, int width, int height);
|
||||
+#define cdef_copy_rect8_16bit_to_16bit cdef_copy_rect8_16bit_to_16bit_c
|
||||
+
|
||||
+void cdef_copy_rect8_8bit_to_16bit_c(uint16_t *dst, int dstride, const uint8_t *src, int sstride, int width, int height);
|
||||
+#define cdef_copy_rect8_8bit_to_16bit cdef_copy_rect8_8bit_to_16bit_c
|
||||
+
|
||||
|
|
@ -1897,6 +2228,22 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+void cdef_find_dir_dual_c(const uint16_t *img1, const uint16_t *img2, int stride, int32_t *var1, int32_t *var2, int coeff_shift, int *out1, int *out2);
|
||||
+#define cdef_find_dir_dual cdef_find_dir_dual_c
|
||||
+
|
||||
+cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_c(TX_SIZE tx_size);
|
||||
+#define cfl_get_luma_subsampling_420_lbd cfl_get_luma_subsampling_420_lbd_c
|
||||
+
|
||||
+cfl_subsample_lbd_fn cfl_get_luma_subsampling_422_lbd_c(TX_SIZE tx_size);
|
||||
+#define cfl_get_luma_subsampling_422_lbd cfl_get_luma_subsampling_422_lbd_c
|
||||
+
|
||||
+cfl_subsample_lbd_fn cfl_get_luma_subsampling_444_lbd_c(TX_SIZE tx_size);
|
||||
+#define cfl_get_luma_subsampling_444_lbd cfl_get_luma_subsampling_444_lbd_c
|
||||
+
|
||||
+cfl_predict_lbd_fn cfl_get_predict_lbd_fn_c(TX_SIZE tx_size);
|
||||
+#define cfl_get_predict_lbd_fn cfl_get_predict_lbd_fn_c
|
||||
+
|
||||
+cfl_subtract_average_fn cfl_get_subtract_average_fn_c(TX_SIZE tx_size);
|
||||
+cfl_subtract_average_fn cfl_get_subtract_average_fn_vsx(TX_SIZE tx_size);
|
||||
+#define cfl_get_subtract_average_fn cfl_get_subtract_average_fn_vsx
|
||||
+
|
||||
+void av1_rtcd(void);
|
||||
+
|
||||
+#include "config/aom_config.h"
|
||||
|
|
@ -1916,4 +2263,4 @@ Index: chromium-144.0.7559.59/third_party/libaom/source/config/linux/ppc64/confi
|
|||
+} // extern "C"
|
||||
+#endif
|
||||
+
|
||||
+#endif // AV1_RTCD_H_
|
||||
+#endif
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
Index: chromium-144.0.7559.59/v8/gni/v8.gni
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/v8/gni/v8.gni
|
||||
+++ chromium-144.0.7559.59/v8/gni/v8.gni
|
||||
@@ -317,7 +317,7 @@ assert(
|
||||
if (v8_enable_pointer_compression == "") {
|
||||
v8_enable_pointer_compression =
|
||||
v8_current_cpu == "arm64" || v8_current_cpu == "x64" ||
|
||||
- v8_current_cpu == "loong64"
|
||||
+ v8_current_cpu == "loong64" || v8_current_cpu == "ppc64"
|
||||
}
|
||||
|
||||
# The Wasm interpreter is currently supported only on arm64 and x64, on
|
||||
|
|
@ -8,11 +8,11 @@ Subject: [PATCH] Force baseline POWER8 / AltiVec / VSX CPU features when on a
|
|||
BUILD.gn | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
Index: chromium-144.0.7559.59/v8/BUILD.gn
|
||||
Index: chromium-130.0.6723.44/v8/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/v8/BUILD.gn
|
||||
+++ chromium-144.0.7559.59/v8/BUILD.gn
|
||||
@@ -1596,7 +1596,14 @@ config("toolchain") {
|
||||
--- 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" ]
|
||||
|
|
|
|||
|
|
@ -40,21 +40,21 @@ 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(-)
|
||||
|
||||
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/CONTRIBUTORS
|
||||
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/CONTRIBUTORS
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/CONTRIBUTORS
|
||||
+++ chromium-144.0.7559.59/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>
|
||||
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context.h
|
||||
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/minidump/minidump_context.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context.h
|
||||
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_context.h
|
||||
@@ -686,6 +686,70 @@ struct MinidumpContextRISCV64 {
|
||||
--- 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;
|
||||
};
|
||||
|
||||
|
|
@ -125,10 +125,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_co
|
|||
} // namespace crashpad
|
||||
|
||||
#endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_H_
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc
|
||||
+++ chromium-144.0.7559.59/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;
|
||||
}
|
||||
|
|
@ -192,10 +192,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_co
|
|||
+}
|
||||
|
||||
} // namespace crashpad
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.h
|
||||
+++ chromium-144.0.7559.59/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_;
|
||||
};
|
||||
|
|
@ -246,10 +246,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_co
|
|||
} // namespace crashpad
|
||||
|
||||
#endif // CRASHPAD_MINIDUMP_MINIDUMP_CONTEXT_WRITER_H_
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc
|
||||
+++ chromium-144.0.7559.59/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);
|
||||
}
|
||||
|
|
@ -272,10 +272,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_co
|
|||
} // namespace
|
||||
} // namespace test
|
||||
} // namespace crashpad
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc
|
||||
+++ chromium-144.0.7559.59/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)
|
||||
|
|
@ -285,10 +285,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/minidump_mi
|
|||
#else
|
||||
#error define kCPU for this CPU
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
|
||||
+++ chromium-144.0.7559.59/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++;
|
||||
}
|
||||
|
|
@ -369,10 +369,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidu
|
|||
+
|
||||
} // namespace test
|
||||
} // namespace crashpad
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h
|
||||
+++ chromium-144.0.7559.59/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,
|
||||
|
|
@ -383,10 +383,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/minidump/test/minidu
|
|||
//! \}
|
||||
|
||||
} // namespace test
|
||||
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/capture_memory.cc
|
||||
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/capture_memory.cc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/capture_memory.cc
|
||||
+++ chromium-144.0.7559.59/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]);
|
||||
|
|
@ -399,10 +399,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/capture_mem
|
|||
#else
|
||||
#error Port.
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
|
||||
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/cpu_architecture.h
|
||||
+++ chromium-144.0.7559.59/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.
|
||||
|
|
@ -413,10 +413,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_archite
|
|||
};
|
||||
|
||||
} // namespace crashpad
|
||||
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context.cc
|
||||
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_context.cc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/cpu_context.cc
|
||||
+++ chromium-144.0.7559.59/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:
|
||||
|
|
@ -443,10 +443,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context
|
|||
case kCPUArchitectureRISCV64:
|
||||
return true;
|
||||
case kCPUArchitectureX86:
|
||||
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context.h
|
||||
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/snapshot/cpu_context.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/cpu_context.h
|
||||
+++ chromium-144.0.7559.59/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;
|
||||
};
|
||||
|
|
@ -480,10 +480,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/cpu_context
|
|||
};
|
||||
};
|
||||
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h
|
||||
+++ chromium-144.0.7559.59/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_
|
||||
|
|
@ -571,10 +571,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/cpu_c
|
|||
} // namespace internal
|
||||
} // namespace crashpad
|
||||
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc
|
||||
+++ chromium-144.0.7559.59/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)
|
||||
|
|
@ -592,10 +592,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/debug
|
|||
},
|
||||
module_mapping->name,
|
||||
module_mapping->device,
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc
|
||||
+++ chromium-144.0.7559.59/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);
|
||||
}
|
||||
|
|
@ -666,11 +666,11 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/excep
|
|||
#endif // ARCH_CPU_X86_FAMILY
|
||||
|
||||
bool ExceptionSnapshotLinux::Initialize(
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
|
||||
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h
|
||||
@@ -94,6 +94,8 @@ class ExceptionSnapshotLinux final : pub
|
||||
--- 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)
|
||||
CPUContextRISCV64 riscv64;
|
||||
|
|
@ -679,10 +679,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/excep
|
|||
#endif
|
||||
} context_union_;
|
||||
CPUContext context_;
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc
|
||||
+++ chromium-144.0.7559.59/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);
|
||||
|
|
@ -712,10 +712,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/excep
|
|||
#else
|
||||
#error Port.
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc
|
||||
+++ chromium-144.0.7559.59/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)
|
||||
|
|
@ -725,10 +725,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/proce
|
|||
#else
|
||||
#error Port.
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/signal_context.h
|
||||
+++ chromium-144.0.7559.59/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");
|
||||
|
|
@ -819,11 +819,11 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/signa
|
|||
#else
|
||||
#error Port.
|
||||
#endif // ARCH_CPU_X86_FAMILY
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
|
||||
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc
|
||||
@@ -229,6 +229,8 @@ CPUArchitecture SystemSnapshotLinux::Get
|
||||
--- 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)
|
||||
return kCPUArchitectureRISCV64;
|
||||
|
|
@ -832,7 +832,7 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/syste
|
|||
#else
|
||||
#error port to your architecture
|
||||
#endif
|
||||
@@ -247,6 +249,9 @@ uint32_t SystemSnapshotLinux::CPURevisio
|
||||
@@ -226,6 +228,9 @@ uint32_t SystemSnapshotLinux::CPURevisio
|
||||
#elif defined(ARCH_CPU_RISCV64)
|
||||
// Not implemented
|
||||
return 0;
|
||||
|
|
@ -842,7 +842,7 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/syste
|
|||
#else
|
||||
#error port to your architecture
|
||||
#endif
|
||||
@@ -270,6 +275,9 @@ std::string SystemSnapshotLinux::CPUVend
|
||||
@@ -249,6 +254,9 @@ std::string SystemSnapshotLinux::CPUVend
|
||||
#elif defined(ARCH_CPU_RISCV64)
|
||||
// Not implemented
|
||||
return std::string();
|
||||
|
|
@ -852,7 +852,7 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/syste
|
|||
#else
|
||||
#error port to your architecture
|
||||
#endif
|
||||
@@ -401,6 +409,9 @@ bool SystemSnapshotLinux::NXEnabled() co
|
||||
@@ -380,6 +388,9 @@ bool SystemSnapshotLinux::NXEnabled() co
|
||||
#elif defined(ARCH_CPU_RISCV64)
|
||||
// Not implemented
|
||||
return false;
|
||||
|
|
@ -862,10 +862,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/syste
|
|||
#else
|
||||
#error Port.
|
||||
#endif // ARCH_CPU_X86_FAMILY
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc
|
||||
+++ chromium-144.0.7559.59/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,
|
||||
|
|
@ -881,11 +881,11 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/threa
|
|||
#else
|
||||
#error Port.
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
|
||||
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h
|
||||
@@ -79,6 +79,8 @@ class ThreadSnapshotLinux final : public
|
||||
--- 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)
|
||||
CPUContextRISCV64 riscv64;
|
||||
|
|
@ -894,10 +894,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/linux/threa
|
|||
#else
|
||||
#error Port.
|
||||
#endif // ARCH_CPU_X86_FAMILY
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc
|
||||
+++ chromium-144.0.7559.59/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++;
|
||||
}
|
||||
|
|
@ -937,10 +937,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_c
|
|||
+
|
||||
} // namespace test
|
||||
} // namespace crashpad
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h
|
||||
+++ chromium-144.0.7559.59/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);
|
||||
|
|
@ -949,10 +949,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/snapshot/test/test_c
|
|||
//! \}
|
||||
|
||||
} // namespace test
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/test/linux/get_tls.cc
|
||||
+++ chromium-144.0.7559.59/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)
|
||||
|
|
@ -962,10 +962,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/test/linux/get_tls.c
|
|||
#else
|
||||
#error Port.
|
||||
#endif // ARCH_CPU_ARMEL
|
||||
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/test/multiprocess_posix.cc
|
||||
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/test/multiprocess_posix.cc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/test/multiprocess_posix.cc
|
||||
+++ chromium-144.0.7559.59/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
|
||||
}
|
||||
|
||||
|
|
@ -976,10 +976,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/test/multiprocess_po
|
|||
SetExpectedChildTermination(kTerminationSignal, SIGTRAP);
|
||||
#else
|
||||
SetExpectedChildTermination(kTerminationSignal, SIGILL);
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
|
||||
+++ chromium-144.0.7559.59/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;
|
||||
|
|
@ -992,10 +992,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/auxiliary
|
|||
if (!MapInsertOrReplace(&values_, type, value, nullptr)) {
|
||||
LOG(ERROR) << "duplicate auxv entry";
|
||||
return false;
|
||||
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/ptracer.cc
|
||||
Index: chromium-130.0.6723.44/third_party/crashpad/crashpad/util/linux/ptracer.cc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/linux/ptracer.cc
|
||||
+++ chromium-144.0.7559.59/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;
|
||||
}
|
||||
|
|
@ -1071,10 +1071,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/ptracer.c
|
|||
GetThreadArea64(tid,
|
||||
info->thread_context,
|
||||
&info->thread_specific_data_address,
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/util/linux/thread_info.h
|
||||
+++ chromium-144.0.7559.59/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
|
||||
|
|
@ -1193,10 +1193,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/linux/thread_in
|
|||
//! \brief The thread-local storage address for the thread.
|
||||
LinuxVMAddress thread_specific_data_address;
|
||||
};
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context.h
|
||||
+++ chromium-144.0.7559.59/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`
|
||||
|
|
@ -1205,10 +1205,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_co
|
|||
//!
|
||||
//! Additionally, the value `LR` on ARM/ARM64 will be the return address of
|
||||
//! this function.
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context_linux.S
|
||||
+++ chromium-144.0.7559.59/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__)
|
||||
|
|
@ -1435,10 +1435,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_co
|
|||
#elif defined(__riscv)
|
||||
|
||||
#define MCONTEXT_GREGS_OFFSET 176
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context_test.cc
|
||||
+++ chromium-144.0.7559.59/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);
|
||||
|
||||
|
|
@ -1448,10 +1448,10 @@ Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/misc/capture_co
|
|||
// Sanitizers can cause enough code bloat that the “nearby” check would
|
||||
// likely fail.
|
||||
const uintptr_t kReferencePC =
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc
|
||||
+++ chromium-144.0.7559.59/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-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h
|
||||
+++ chromium-144.0.7559.59/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-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
|
|||
#else
|
||||
#error "This code has not been ported to your platform yet."
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc
|
||||
+++ chromium-144.0.7559.59/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-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
|
|||
+#endif
|
||||
+
|
||||
} // namespace google_breakpad
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h
|
||||
+++ chromium-144.0.7559.59/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-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
|
|||
};
|
||||
|
||||
} // namespace google_breakpad
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
|
||||
+++ chromium-144.0.7559.59/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-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
|
|||
#endif
|
||||
|
||||
} // namespace google_breakpad
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
|
||||
+++ chromium-144.0.7559.59/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,11 +247,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/dum
|
|||
#else
|
||||
static void FillCPUContext(RawContextCPU* out, const ucontext_t* uc);
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
|
||||
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
|
||||
@@ -466,6 +466,13 @@ bool ExceptionHandler::HandleSignal(int
|
||||
--- 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));
|
||||
}
|
||||
|
|
@ -265,7 +265,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
|
|||
#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
|
||||
ucontext_t* uc_ptr = (ucontext_t*)uc;
|
||||
if (uc_ptr->uc_mcontext.fpregs) {
|
||||
@@ -704,10 +711,18 @@ bool ExceptionHandler::WriteMinidump() {
|
||||
@@ -701,10 +708,18 @@ bool ExceptionHandler::WriteMinidump() {
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -285,7 +285,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
|
|||
context.tid = sys_gettid();
|
||||
|
||||
// Add an exception stream to the minidump for better reporting.
|
||||
@@ -728,6 +743,9 @@ bool ExceptionHandler::WriteMinidump() {
|
||||
@@ -725,6 +740,9 @@ bool ExceptionHandler::WriteMinidump() {
|
||||
#elif defined(__mips__)
|
||||
context.siginfo.si_addr =
|
||||
reinterpret_cast<void*>(context.context.uc_mcontext.pc);
|
||||
|
|
@ -295,11 +295,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
|
|||
#elif defined(__riscv)
|
||||
context.siginfo.si_addr =
|
||||
reinterpret_cast<void*>(context.context.uc_mcontext.__gregs[REG_PC]);
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
|
||||
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h
|
||||
@@ -197,7 +197,11 @@ class ExceptionHandler {
|
||||
--- 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.
|
||||
ucontext_t context;
|
||||
|
|
@ -312,11 +312,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
|
|||
fpstate_t float_state;
|
||||
#endif
|
||||
};
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
|
||||
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc
|
||||
@@ -325,7 +325,7 @@ TEST(ExceptionHandlerTest, ParallelChild
|
||||
--- 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;
|
||||
} else {
|
||||
|
|
@ -325,7 +325,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
|
|||
}
|
||||
}
|
||||
|
||||
@@ -581,6 +581,8 @@ const unsigned char kIllegalInstruction[
|
||||
@@ -576,6 +576,8 @@ const unsigned char kIllegalInstruction[
|
||||
#if defined(__mips__)
|
||||
// mfc2 zero,Impl - usually illegal in userspace.
|
||||
0x48, 0x00, 0x00, 0x48
|
||||
|
|
@ -334,7 +334,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
|
|||
#else
|
||||
// This crashes with SIGILL on x86/x86-64/arm.
|
||||
0xff, 0xff, 0xff, 0xff
|
||||
@@ -776,10 +778,10 @@ TEST(ExceptionHandlerTest, InstructionPo
|
||||
@@ -771,10 +773,10 @@ TEST(ExceptionHandlerTest, InstructionPo
|
||||
|
||||
// These are defined here so the parent can use them to check the
|
||||
// data from the minidump afterwards.
|
||||
|
|
@ -347,22 +347,22 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/han
|
|||
const int kOffset = kMemorySize - sizeof(kIllegalInstruction);
|
||||
|
||||
const pid_t child = fork();
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
|
||||
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc
|
||||
@@ -143,7 +143,9 @@ class MicrodumpWriter {
|
||||
--- 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)
|
||||
: ucontext_(context ? &context->context : nullptr),
|
||||
: ucontext_(context ? &context->context : NULL),
|
||||
-#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
|
||||
+#if defined(__powerpc64__)
|
||||
+ vector_state_(context ? &context->vector_state : nullptr),
|
||||
+ vector_state_(context ? &context->vector_state : NULL),
|
||||
+#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
|
||||
float_state_(context ? &context->float_state : nullptr),
|
||||
float_state_(context ? &context->float_state : NULL),
|
||||
#endif
|
||||
dumper_(dumper),
|
||||
@@ -350,6 +352,8 @@ class MicrodumpWriter {
|
||||
@@ -348,6 +350,8 @@ class MicrodumpWriter {
|
||||
# else
|
||||
# error "Unexpected __riscv_xlen"
|
||||
# endif
|
||||
|
|
@ -371,7 +371,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/mic
|
|||
#else
|
||||
# error "This code has not been ported to your platform yet"
|
||||
#endif
|
||||
@@ -422,7 +426,9 @@ class MicrodumpWriter {
|
||||
@@ -420,7 +424,9 @@ class MicrodumpWriter {
|
||||
void DumpCPUState() {
|
||||
RawContextCPU cpu;
|
||||
my_memset(&cpu, 0, sizeof(RawContextCPU));
|
||||
|
|
@ -382,7 +382,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/mic
|
|||
UContextReader::FillCPUContext(&cpu, ucontext_, float_state_);
|
||||
#else
|
||||
UContextReader::FillCPUContext(&cpu, ucontext_);
|
||||
@@ -618,7 +624,9 @@ class MicrodumpWriter {
|
||||
@@ -616,7 +622,9 @@ class MicrodumpWriter {
|
||||
void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
|
||||
|
||||
const ucontext_t* const ucontext_;
|
||||
|
|
@ -393,11 +393,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/mic
|
|||
const google_breakpad::fpstate_t* const float_state_;
|
||||
#endif
|
||||
LinuxDumper* dumper_;
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
|
||||
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc
|
||||
@@ -281,10 +281,19 @@ TEST(MicrodumpWriterTest, BasicWithMappi
|
||||
--- 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-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/mic
|
|||
#else
|
||||
ASSERT_NE(std::string::npos,
|
||||
buf.find("M 00001000 0000002A 00001000 "
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc
|
||||
+++ chromium-144.0.7559.59/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,11 +446,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
|
|||
# if defined(__ANDROID__)
|
||||
for (int i = EF_R0; i <= EF_R31; i++)
|
||||
info.mcontext.gregs[i - EF_R0] = status->pr_reg[i];
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
|
||||
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc
|
||||
@@ -789,7 +789,9 @@ bool LinuxDumper::GetStackInfo(const voi
|
||||
--- 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));
|
||||
|
||||
// The number of bytes of stack which we try to capture.
|
||||
|
|
@ -461,10 +461,10 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
|
|||
|
||||
const MappingInfo* mapping = FindMapping(stack_pointer);
|
||||
if (!mapping)
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h
|
||||
+++ chromium-144.0.7559.59/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,11 +475,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
|
|||
typedef Elf64_auxv_t elf_aux_entry;
|
||||
#endif
|
||||
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
|
||||
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc
|
||||
@@ -57,6 +57,8 @@
|
||||
--- 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)
|
||||
#define TID_PTR_REGISTER "x4"
|
||||
|
|
@ -488,10 +488,10 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
|
|||
#else
|
||||
#error This test has not been ported to this platform.
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc
|
||||
+++ chromium-144.0.7559.59/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,11 +533,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
|
|||
#else
|
||||
# error "This code hasn't been ported to your platform yet."
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
|
||||
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc
|
||||
@@ -469,6 +469,9 @@ TEST(LinuxPtraceDumperTest, VerifyStackR
|
||||
--- 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 =
|
||||
reinterpret_cast<pid_t*>(one_thread.mcontext.__gregs[4]);
|
||||
|
|
@ -547,7 +547,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
|
|||
#else
|
||||
#error This test has not been ported to this platform.
|
||||
#endif
|
||||
@@ -568,6 +571,8 @@ TEST_F(LinuxPtraceDumperTest, SanitizeSt
|
||||
@@ -569,6 +572,8 @@ TEST_F(LinuxPtraceDumperTest, SanitizeSt
|
||||
uintptr_t heap_addr = thread_info.mcontext.gregs[1];
|
||||
#elif defined(__riscv)
|
||||
uintptr_t heap_addr = thread_info.mcontext.__gregs[4];
|
||||
|
|
@ -556,22 +556,22 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
|
|||
#else
|
||||
#error This test has not been ported to this platform.
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
|
||||
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc
|
||||
@@ -145,7 +145,9 @@ class MinidumpWriter {
|
||||
--- 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),
|
||||
ucontext_(context ? &context->context : nullptr),
|
||||
ucontext_(context ? &context->context : NULL),
|
||||
-#if GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
|
||||
+#if defined(__powerpc64__)
|
||||
+ vector_state_(context ? &context->vector_state : nullptr),
|
||||
+ vector_state_(context ? &context->vector_state : NULL),
|
||||
+#elif GOOGLE_BREAKPAD_CRASH_CONTEXT_HAS_FLOAT_STATE
|
||||
float_state_(context ? &context->float_state : nullptr),
|
||||
float_state_(context ? &context->float_state : NULL),
|
||||
#endif
|
||||
dumper_(dumper),
|
||||
@@ -477,7 +479,9 @@ class MinidumpWriter {
|
||||
@@ -476,7 +478,9 @@ class MinidumpWriter {
|
||||
if (!cpu.Allocate())
|
||||
return false;
|
||||
my_memset(cpu.get(), 0, sizeof(RawContextCPU));
|
||||
|
|
@ -582,7 +582,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
|
|||
UContextReader::FillCPUContext(cpu.get(), ucontext_, float_state_);
|
||||
#else
|
||||
UContextReader::FillCPUContext(cpu.get(), ucontext_);
|
||||
@@ -954,7 +958,7 @@ class MinidumpWriter {
|
||||
@@ -953,7 +957,7 @@ class MinidumpWriter {
|
||||
dirent->location.rva = 0;
|
||||
}
|
||||
|
||||
|
|
@ -591,7 +591,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
|
|||
bool WriteCPUInformation(MDRawSystemInfo* sys_info) {
|
||||
char vendor_id[sizeof(sys_info->cpu.x86_cpu_info.vendor_id) + 1] = {0};
|
||||
static const char vendor_id_name[] = "vendor_id";
|
||||
@@ -974,7 +978,9 @@ class MinidumpWriter {
|
||||
@@ -973,7 +977,9 @@ class MinidumpWriter {
|
||||
|
||||
// processor_architecture should always be set, do this first
|
||||
sys_info->processor_architecture =
|
||||
|
|
@ -602,7 +602,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
|
|||
# if _MIPS_SIM == _ABIO32
|
||||
MD_CPU_ARCHITECTURE_MIPS;
|
||||
# elif _MIPS_SIM == _ABI64
|
||||
@@ -1441,7 +1447,9 @@ class MinidumpWriter {
|
||||
@@ -1440,7 +1446,9 @@ class MinidumpWriter {
|
||||
const char* path_; // Path to the file where the minidum should be written.
|
||||
|
||||
const ucontext_t* const ucontext_; // also from the signal handler
|
||||
|
|
@ -613,10 +613,10 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
|
|||
const google_breakpad::fpstate_t* const float_state_; // ditto
|
||||
#endif
|
||||
LinuxDumper* dumper_;
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h
|
||||
+++ chromium-144.0.7559.59/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-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
|
|||
#elif !defined(__ARM_EABI__) && !defined(__mips__)
|
||||
typedef std::remove_pointer<fpregset_t>::type fpstate_t;
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc
|
||||
+++ chromium-144.0.7559.59/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-144.0.7559.59/third_party/breakpad/breakpad/src/client/linux/min
|
|||
#else
|
||||
# error "This code has not been ported to your platform yet."
|
||||
#endif
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc
|
||||
+++ chromium-144.0.7559.59/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,11 +654,11 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/mem
|
|||
struct kernel_stat st;
|
||||
if (sys_fstat(fd, &st) == -1 || st.st_size < 0) {
|
||||
#else
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
|
||||
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc
|
||||
@@ -178,9 +178,10 @@ TEST_F(MemoryMappedFileTest, RemapAfterM
|
||||
--- 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
|
||||
// done on page boundaries, so we need a two page file to test this.
|
||||
|
|
@ -672,25 +672,25 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/linux/mem
|
|||
for (size_t i = 0; i < data1_size; ++i) {
|
||||
data1[i] = i & 0x7f;
|
||||
}
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59.orig/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
|
||||
+++ chromium-144.0.7559.59/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc
|
||||
@@ -64,8 +64,9 @@ TEST(PageAllocatorTest, LargeObject) {
|
||||
--- 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());
|
||||
uint8_t* p = reinterpret_cast<uint8_t*>(allocator.Alloc(10000));
|
||||
+ uint64_t expected_pages = 1 + ((10000 - 1) / getpagesize());
|
||||
ASSERT_FALSE(p == nullptr);
|
||||
ASSERT_FALSE(p == NULL);
|
||||
- EXPECT_EQ(3U, allocator.pages_allocated());
|
||||
+ EXPECT_EQ(expected_pages, allocator.pages_allocated());
|
||||
for (unsigned i = 1; i < 10; ++i) {
|
||||
uint8_t* p = reinterpret_cast<uint8_t*>(allocator.Alloc(i));
|
||||
ASSERT_FALSE(p == nullptr);
|
||||
Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
|
||||
ASSERT_FALSE(p == NULL);
|
||||
Index: chromium-130.0.6723.44/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc
|
||||
+++ chromium-144.0.7559.59/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)
|
||||
|
|
@ -709,7 +709,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/tools/linux/md2c
|
|||
#endif
|
||||
|
||||
using google_breakpad::MDTypeHelper;
|
||||
@@ -325,6 +329,9 @@ struct CrashedProcess {
|
||||
@@ -324,6 +328,9 @@ struct CrashedProcess {
|
||||
#if defined(__aarch64__)
|
||||
user_fpsimd_struct fpregs;
|
||||
#endif
|
||||
|
|
@ -719,7 +719,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/tools/linux/md2c
|
|||
uintptr_t stack_addr;
|
||||
const uint8_t* stack;
|
||||
size_t stack_length;
|
||||
@@ -628,6 +635,38 @@ ParseThreadRegisters(CrashedProcess::Thr
|
||||
@@ -627,6 +634,38 @@ ParseThreadRegisters(CrashedProcess::Thr
|
||||
#error "Unexpected __riscv_xlen"
|
||||
#endif
|
||||
}
|
||||
|
|
@ -758,7 +758,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/breakpad/src/tools/linux/md2c
|
|||
#else
|
||||
#error "This code has not been ported to your platform yet"
|
||||
#endif
|
||||
@@ -733,6 +772,12 @@ ParseSystemInfo(const Options& options,
|
||||
@@ -732,6 +771,12 @@ ParseSystemInfo(const Options& options,
|
||||
# else
|
||||
# error "Unexpected __riscv_xlen"
|
||||
# endif
|
||||
|
|
|
|||
|
|
@ -1,46 +0,0 @@
|
|||
From e93d9b5fdcd8e5744de629461c03a07de2252f8f Mon Sep 17 00:00:00 2001
|
||||
From: Stephen Gallagher <sgallagh@redhat.com>
|
||||
Date: Fri, 17 Apr 2020 12:59:44 +0200
|
||||
Subject: [PATCH] Remove unused OpenSSL config
|
||||
|
||||
The build process will try to create these config files, even when
|
||||
using the system OpenSSL and will thus fail since we strip this path
|
||||
from the tarball.
|
||||
|
||||
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
|
||||
Signed-off-by: rpm-build <rpm-build>
|
||||
---
|
||||
node.gyp | 17 -----------------
|
||||
1 file changed, 17 deletions(-)
|
||||
|
||||
diff --git a/node.gyp b/node.gyp
|
||||
index 1147495..da6ea50 100644
|
||||
--- a/node.gyp
|
||||
+++ b/node.gyp
|
||||
@@ -822,23 +822,6 @@
|
||||
],
|
||||
},
|
||||
],
|
||||
- }, {
|
||||
- 'variables': {
|
||||
- 'opensslconfig_internal': '<(obj_dir)/deps/openssl/openssl.cnf',
|
||||
- 'opensslconfig': './deps/openssl/nodejs-openssl.cnf',
|
||||
- },
|
||||
- 'actions': [
|
||||
- {
|
||||
- 'action_name': 'reset_openssl_cnf',
|
||||
- 'inputs': [ '<(opensslconfig)', ],
|
||||
- 'outputs': [ '<(opensslconfig_internal)', ],
|
||||
- 'action': [
|
||||
- '<(python)', 'tools/copyfile.py',
|
||||
- '<(opensslconfig)',
|
||||
- '<(opensslconfig_internal)',
|
||||
- ],
|
||||
- },
|
||||
- ],
|
||||
}],
|
||||
],
|
||||
}, # node_core_target_name
|
||||
--
|
||||
2.47.0
|
||||
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
Index: chromium-144.0.7559.59/third_party/xnnpack/generate_build_gn.py
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/xnnpack/generate_build_gn.py
|
||||
+++ chromium-144.0.7559.59/third_party/xnnpack/generate_build_gn.py
|
||||
@@ -239,7 +239,10 @@ _PLATFORMS = [
|
||||
bazel_platform='//:linux_aarch64'),
|
||||
_Platform(gn_cpu='riscv64',
|
||||
bazel_cpu='riscv64',
|
||||
- bazel_platform='//:linux_riscv64')
|
||||
+ bazel_platform='//:linux_riscv64'),
|
||||
+ _Platform(gn_cpu='ppc64',
|
||||
+ bazel_cpu='ppc64le',
|
||||
+ bazel_platform='//:linux_ppc64le')
|
||||
]
|
||||
|
||||
|
||||
Index: chromium-144.0.7559.59/third_party/xnnpack/bazelroot/BUILD
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/xnnpack/bazelroot/BUILD
|
||||
+++ chromium-144.0.7559.59/third_party/xnnpack/bazelroot/BUILD
|
||||
@@ -29,6 +29,14 @@ platform(
|
||||
],
|
||||
)
|
||||
|
||||
+platform(
|
||||
+ name = "linux_ppc64le",
|
||||
+ constraint_values = [
|
||||
+ "@platforms//os:linux",
|
||||
+ "@platforms//cpu:ppc64le",
|
||||
+ ],
|
||||
+)
|
||||
+
|
||||
# A dummy clang toolchain for building them for any arch.
|
||||
|
||||
filegroup(name = "empty")
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
From b3a14db7637232d30c878cc1f1ad6d8037e81379 Mon Sep 17 00:00:00 2001
|
||||
From: Shawn Anastasio <shawn@anastas.io>
|
||||
Date: Tue, 15 Jan 2019 22:42:21 -0600
|
||||
Subject: [PATCH] linux/seccomp-bpf: ppc64+glibc workaround in SIGSYS handler
|
||||
|
||||
Workaround for an apparent issue with glibc negating syscall
|
||||
parameters. Observed on a ppc64le machine with glibc.
|
||||
More investigation required.
|
||||
---
|
||||
sandbox/linux/seccomp-bpf/trap.cc | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf/trap.cc
|
||||
===================================================================
|
||||
--- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf/trap.cc
|
||||
+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf/trap.cc
|
||||
@@ -236,6 +236,20 @@ void Trap::SigSys(int nr, LinuxSigInfo*
|
||||
SetIsInSigHandler();
|
||||
}
|
||||
|
||||
+#if defined(__powerpc64__)
|
||||
+ // On ppc64+glibc, some syscalls seem to accidentally negate the first
|
||||
+ // parameter which causes checks against it to fail. For now, manually
|
||||
+ // negate them back.
|
||||
+ // TODO(shawn@anastas.io): investigate this issue further
|
||||
+ auto nr = SECCOMP_SYSCALL(ctx);
|
||||
+ if (nr == __NR_openat || nr == __NR_mkdirat || nr == __NR_faccessat || nr == __NR_readlinkat ||
|
||||
+ nr == __NR_renameat || nr == __NR_renameat2 || nr == __NR_newfstatat || nr == __NR_unlinkat) {
|
||||
+ if (static_cast<int>(SECCOMP_PARM1(ctx)) > 0) {
|
||||
+ SECCOMP_PARM1(ctx) = -SECCOMP_PARM1(ctx);
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
// Copy the seccomp-specific data into a arch_seccomp_data structure. This
|
||||
// is what we are showing to TrapFnc callbacks that the system call
|
||||
// evaluator registered with the sandbox.
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,80 @@
|
|||
From 036d209a3f1a771de9aed31dfbe804aaf91d1c27 Mon Sep 17 00:00:00 2001
|
||||
From: Shawn Anastasio <shawnanastasio@yahoo.com>
|
||||
Date: Thu, 9 Aug 2018 23:35:21 -0500
|
||||
Subject: [PATCH] sandbox/linux: Implement partial support for ppc64 syscalls
|
||||
and ucontext
|
||||
|
||||
Unlike other architectures, the ppc64 files currently rely on applicable
|
||||
headers being provided by the system. It is sufficient for standard
|
||||
GNU/Linux environments, but may require expansion elsewhere.
|
||||
---
|
||||
sandbox/linux/BUILD.gn | 2 ++
|
||||
sandbox/linux/system_headers/linux_syscalls.h | 4 ++++
|
||||
sandbox/linux/system_headers/linux_ucontext.h | 2 ++
|
||||
sandbox/linux/system_headers/ppc64_linux_syscalls.h | 12 ++++++++++++
|
||||
sandbox/linux/system_headers/ppc64_linux_ucontext.h | 12 ++++++++++++
|
||||
5 files changed, 32 insertions(+)
|
||||
create mode 100644 sandbox/linux/system_headers/ppc64_linux_syscalls.h
|
||||
create mode 100644 sandbox/linux/system_headers/ppc64_linux_ucontext.h
|
||||
|
||||
Index: chromium-128.0.6613.113/sandbox/linux/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-128.0.6613.113.orig/sandbox/linux/BUILD.gn
|
||||
+++ chromium-128.0.6613.113/sandbox/linux/BUILD.gn
|
||||
@@ -383,6 +383,8 @@ component("sandbox_services") {
|
||||
|
||||
source_set("sandbox_services_headers") {
|
||||
sources = [
|
||||
+ "system_headers/ppc64_linux_syscalls.h",
|
||||
+ "system_headers/ppc64_linux_ucontext.h",
|
||||
"system_headers/arm64_linux_syscalls.h",
|
||||
"system_headers/arm_linux_syscalls.h",
|
||||
"system_headers/arm_linux_ucontext.h",
|
||||
Index: chromium-128.0.6613.113/sandbox/linux/system_headers/linux_syscalls.h
|
||||
===================================================================
|
||||
--- chromium-128.0.6613.113.orig/sandbox/linux/system_headers/linux_syscalls.h
|
||||
+++ chromium-128.0.6613.113/sandbox/linux/system_headers/linux_syscalls.h
|
||||
@@ -35,5 +35,9 @@
|
||||
#include "sandbox/linux/system_headers/arm64_linux_syscalls.h"
|
||||
#endif
|
||||
|
||||
+#if defined(__powerpc64__)
|
||||
+#include "sandbox/linux/system_headers/ppc64_linux_syscalls.h"
|
||||
+#endif
|
||||
+
|
||||
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_
|
||||
|
||||
Index: chromium-128.0.6613.113/sandbox/linux/system_headers/ppc64_linux_syscalls.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-128.0.6613.113/sandbox/linux/system_headers/ppc64_linux_syscalls.h
|
||||
@@ -0,0 +1,12 @@
|
||||
+// Copyright 2014 The Chromium Authors. All rights reserved.
|
||||
+// Use of this source code is governed by a BSD-style license that can be
|
||||
+// found in the LICENSE file.
|
||||
+
|
||||
+#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_
|
||||
+#define SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_
|
||||
+
|
||||
+#include <asm/unistd.h>
|
||||
+
|
||||
+//TODO: is it necessary to redefine syscall numbers for PPC64?
|
||||
+
|
||||
+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_
|
||||
Index: chromium-128.0.6613.113/sandbox/linux/system_headers/ppc64_linux_ucontext.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-128.0.6613.113/sandbox/linux/system_headers/ppc64_linux_ucontext.h
|
||||
@@ -0,0 +1,12 @@
|
||||
+// Copyright 2014 The Chromium Authors. All rights reserved.
|
||||
+// Use of this source code is governed by a BSD-style license that can be
|
||||
+// found in the LICENSE file.
|
||||
+
|
||||
+#ifndef SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_
|
||||
+#define SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_
|
||||
+
|
||||
+#include <sys/ucontext.h>
|
||||
+
|
||||
+//TODO: is it necessary to redefine ucontext on PPC64?
|
||||
+
|
||||
+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_UCONTEXT_H_
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
From c41cd6ac927f592b161abc04468d3c7a4be91995 Mon Sep 17 00:00:00 2001
|
||||
From: Shawn Anastasio <shawnanastasio@yahoo.com>
|
||||
Date: Tue, 23 Oct 2018 15:49:31 -0500
|
||||
Subject: [PATCH] sandbox/linux: Update IsSyscallAllowed in broker_process.cc
|
||||
|
||||
---
|
||||
sandbox/linux/syscall_broker/broker_process.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: chromium-128.0.6613.113/sandbox/linux/syscall_broker/broker_process.cc
|
||||
===================================================================
|
||||
--- chromium-128.0.6613.113.orig/sandbox/linux/syscall_broker/broker_process.cc
|
||||
+++ chromium-128.0.6613.113/sandbox/linux/syscall_broker/broker_process.cc
|
||||
@@ -169,7 +169,7 @@ bool BrokerProcess::IsSyscallBrokerable(
|
||||
#if defined(__NR_fstatat64)
|
||||
case __NR_fstatat64:
|
||||
#endif
|
||||
-#if defined(__x86_64__) || defined(__aarch64__)
|
||||
+#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__)
|
||||
case __NR_newfstatat:
|
||||
#endif
|
||||
return !fast_check || policy_->allowed_command_set.test(COMMAND_STAT);
|
||||
638
0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64.patch
Normal file
638
0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64.patch
Normal file
|
|
@ -0,0 +1,638 @@
|
|||
From da52663deec77f705d7d58b18484c3e28e563f10 Mon Sep 17 00:00:00 2001
|
||||
From: Shawn Anastasio <shawnanastasio@yahoo.com>
|
||||
Date: Tue, 18 Sep 2018 18:39:28 -0500
|
||||
Subject: [PATCH] sandbox/linux: Update syscall helpers/lists for ppc64
|
||||
|
||||
---
|
||||
.../seccomp-bpf-helpers/baseline_policy.cc | 8 +-
|
||||
.../syscall_parameters_restrictions.cc | 2 +-
|
||||
.../syscall_parameters_restrictions.h | 2 +-
|
||||
.../linux/seccomp-bpf-helpers/syscall_sets.cc | 108 ++++++++++--------
|
||||
.../linux/seccomp-bpf-helpers/syscall_sets.h | 6 +-
|
||||
sandbox/linux/services/syscall_wrappers.cc | 2 +-
|
||||
6 files changed, 73 insertions(+), 55 deletions(-)
|
||||
|
||||
Index: chromium-130.0.6723.44/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) ||
|
||||
#if defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
SyscallSets::IsSocketCall(sysno) ||
|
||||
#endif
|
||||
#if defined(__arm__)
|
||||
@@ -255,7 +256,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
||||
}
|
||||
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
|
||||
- defined(__aarch64__)
|
||||
+ defined(__aarch64__) || defined(__powerpc64__)
|
||||
if (sysno == __NR_mmap)
|
||||
return RestrictMmapFlags();
|
||||
#endif
|
||||
@@ -276,7 +277,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
||||
return RestrictPrctl();
|
||||
|
||||
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
|
||||
- defined(__aarch64__)
|
||||
+ defined(__aarch64__) || defined(__powerpc64__)
|
||||
if (sysno == __NR_socketpair) {
|
||||
// Only allow AF_UNIX, PF_UNIX. Crash if anything else is seen.
|
||||
static_assert(AF_UNIX == PF_UNIX,
|
||||
@@ -340,7 +341,8 @@ ResultExpr EvaluateSyscallImpl(int fs_de
|
||||
}
|
||||
|
||||
#if defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
if (SyscallSets::IsSocketCall(sysno))
|
||||
return RestrictSocketcallCommand();
|
||||
#endif
|
||||
Index: chromium-130.0.6723.44/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"
|
||||
|
||||
#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \
|
||||
- !defined(__arm__) && !defined(__aarch64__) && \
|
||||
+ !defined(__arm__) && !defined(__aarch64__) && !defined(__powerpc64__) && \
|
||||
!defined(PTRACE_GET_THREAD_AREA)
|
||||
// Also include asm/ptrace-abi.h since ptrace.h in older libc (for instance
|
||||
// the one in Ubuntu 16.04 LTS) is missing PTRACE_GET_THREAD_AREA.
|
||||
@@ -45,6 +45,11 @@
|
||||
#include <asm/ptrace-abi.h>
|
||||
#endif
|
||||
|
||||
+// On PPC64, TCGETS is defined in terms of struct termios, so we must include termios.h
|
||||
+#ifdef __powerpc64__
|
||||
+#include <termios.h>
|
||||
+#endif
|
||||
+
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
|
||||
#if !defined(F_DUPFD_CLOEXEC)
|
||||
@@ -102,6 +107,15 @@ inline bool IsArchitectureMips() {
|
||||
#endif
|
||||
}
|
||||
|
||||
+inline bool IsArchitecturePPC64() {
|
||||
+#if defined(__powerpc64__)
|
||||
+ return true;
|
||||
+#else
|
||||
+ return false;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+
|
||||
// Ubuntu's version of glibc has a race condition in sem_post that can cause
|
||||
// it to call futex(2) with bogus op arguments. To workaround this, we need
|
||||
// to allow those futex(2) calls to fail with EINVAL, instead of crashing the
|
||||
@@ -269,9 +283,11 @@ ResultExpr RestrictFcntlCommands() {
|
||||
// operator.
|
||||
// Glibc overrides the kernel's O_LARGEFILE value. Account for this.
|
||||
uint64_t kOLargeFileFlag = O_LARGEFILE;
|
||||
- if (IsArchitectureX86_64() || IsArchitectureI386() || IsArchitectureMips())
|
||||
+ if (IsArchitectureX86_64() || IsArchitectureI386() || IsArchitectureMips() \
|
||||
+ || IsArchitecturePPC64())
|
||||
kOLargeFileFlag = 0100000;
|
||||
|
||||
+
|
||||
const Arg<int> cmd(1);
|
||||
const Arg<long> long_arg(2);
|
||||
|
||||
@@ -294,8 +310,17 @@ ResultExpr RestrictFcntlCommands() {
|
||||
F_SETLKW,
|
||||
F_GETLK,
|
||||
F_DUPFD,
|
||||
- F_DUPFD_CLOEXEC},
|
||||
- Allow())
|
||||
+ F_DUPFD_CLOEXEC
|
||||
+#if defined(__powerpc64__)
|
||||
+// On PPC64, F_SETLK, F_GETLK, F_SETLKW are defined as the 64-bit variants
|
||||
+// but glibc will sometimes still use the 32-bit versions. Allow both.
|
||||
+ ,
|
||||
+ 5, /* F_GETLK (32) */
|
||||
+ 6, /* F_SETLK (32) */
|
||||
+ 7 /* F_SETLKW (32) */
|
||||
+#endif
|
||||
+ },
|
||||
+ Allow())
|
||||
.Case(F_SETFL,
|
||||
If((long_arg & ~kAllowedMask) == 0, Allow()).Else(CrashSIGSYS()))
|
||||
.Case(F_ADD_SEALS,
|
||||
@@ -304,7 +329,7 @@ ResultExpr RestrictFcntlCommands() {
|
||||
// clang-format on
|
||||
}
|
||||
|
||||
-#if defined(__i386__) || defined(__mips__)
|
||||
+#if defined(__i386__) || defined(__mips__) || defined(__powerpc64__)
|
||||
ResultExpr RestrictSocketcallCommand() {
|
||||
// Unfortunately, we are unable to restrict the first parameter to
|
||||
// socketpair(2). Whilst initially sounding bad, it's noteworthy that very
|
||||
@@ -463,7 +488,7 @@ ResultExpr RestrictPtrace() {
|
||||
#endif
|
||||
return Switch(request)
|
||||
.Cases({
|
||||
-#if !defined(__aarch64__)
|
||||
+#if !defined(__aarch64__) && !defined(__powerpc64__)
|
||||
PTRACE_GETREGS, PTRACE_GETFPREGS, PTRACE_GET_THREAD_AREA,
|
||||
PTRACE_GETREGSET,
|
||||
#endif
|
||||
Index: chromium-130.0.6723.44/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();
|
||||
|
||||
-#if defined(__i386__) || defined(__mips__)
|
||||
+#if defined(__i386__) || defined(__mips__) || defined(__powerpc64__)
|
||||
// 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-130.0.6723.44/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:
|
||||
#if defined(__i386__) || defined(__x86_64__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_time:
|
||||
#endif
|
||||
return true;
|
||||
@@ -52,12 +53,14 @@ bool SyscallSets::IsAllowedGettime(int s
|
||||
case __NR_clock_nanosleep_time64: // Parameters filtered by RestrictClockID().
|
||||
#endif
|
||||
#if defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_ftime: // Obsolete.
|
||||
#endif
|
||||
case __NR_settimeofday: // Privileged.
|
||||
#if defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_stime:
|
||||
#endif
|
||||
default:
|
||||
@@ -136,7 +139,7 @@ bool SyscallSets::IsFileSystem(int sysno
|
||||
case __NR_faccessat2:
|
||||
case __NR_fchmodat:
|
||||
case __NR_fchownat: // Should be called chownat ?
|
||||
-#if defined(__x86_64__) || defined(__aarch64__)
|
||||
+#if defined(__x86_64__) || defined(__aarch64__) || defined(__powerpc64__)
|
||||
case __NR_newfstatat: // fstatat(). EPERM not a valid errno.
|
||||
#elif defined(__i386__) || defined(__arm__) || \
|
||||
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
@@ -155,7 +158,7 @@ bool SyscallSets::IsFileSystem(int sysno
|
||||
case __NR_memfd_create:
|
||||
case __NR_mkdirat:
|
||||
case __NR_mknodat:
|
||||
-#if defined(__i386__)
|
||||
+#if defined(__i386__) || defined(__powerpc64__)
|
||||
case __NR_oldlstat:
|
||||
case __NR_oldstat:
|
||||
#endif
|
||||
@@ -169,7 +172,8 @@ bool SyscallSets::IsFileSystem(int sysno
|
||||
#endif
|
||||
case __NR_statfs: // EPERM not a valid errno.
|
||||
#if defined(__i386__) || defined(__arm__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_statfs64:
|
||||
#endif
|
||||
case __NR_statx: // EPERM not a valid errno.
|
||||
@@ -180,7 +184,8 @@ bool SyscallSets::IsFileSystem(int sysno
|
||||
case __NR_truncate64:
|
||||
#endif
|
||||
case __NR_unlinkat:
|
||||
-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
|
||||
+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_utime:
|
||||
#endif
|
||||
case __NR_utimensat: // New.
|
||||
@@ -220,7 +225,8 @@ bool SyscallSets::IsAllowedFileSystemAcc
|
||||
#endif
|
||||
return true;
|
||||
// TODO(jln): these should be denied gracefully as well (moved below).
|
||||
-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
|
||||
+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_fadvise64: // EPERM not a valid errno.
|
||||
#endif
|
||||
#if defined(__i386__)
|
||||
@@ -233,11 +239,12 @@ bool SyscallSets::IsAllowedFileSystemAcc
|
||||
case __NR_flock: // EPERM not a valid errno.
|
||||
case __NR_fstatfs: // Give information about the whole filesystem.
|
||||
#if defined(__i386__) || defined(__arm__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_fstatfs64:
|
||||
#endif
|
||||
case __NR_fsync: // EPERM not a valid errno.
|
||||
-#if defined(__i386__)
|
||||
+#if defined(__i386__) || defined(__powerpc64__)
|
||||
case __NR_oldfstat:
|
||||
#endif
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
|
||||
@@ -245,6 +252,8 @@ bool SyscallSets::IsAllowedFileSystemAcc
|
||||
case __NR_sync_file_range: // EPERM not a valid errno.
|
||||
#elif defined(__arm__)
|
||||
case __NR_arm_sync_file_range: // EPERM not a valid errno.
|
||||
+#elif defined(__powerpc64__)
|
||||
+ case __NR_sync_file_range2: // EPERM not a valid errno.
|
||||
#endif
|
||||
default:
|
||||
return false;
|
||||
@@ -265,7 +274,8 @@ bool SyscallSets::IsDeniedFileSystemAcce
|
||||
#endif
|
||||
case __NR_getdents64: // EPERM not a valid errno.
|
||||
#if defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_readdir:
|
||||
#endif
|
||||
return true;
|
||||
@@ -306,7 +316,7 @@ bool SyscallSets::IsGetSimpleId(int sysn
|
||||
bool SyscallSets::IsProcessPrivilegeChange(int sysno) {
|
||||
switch (sysno) {
|
||||
case __NR_capset:
|
||||
-#if defined(__i386__) || defined(__x86_64__)
|
||||
+#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc64__)
|
||||
case __NR_ioperm: // Intel privilege.
|
||||
case __NR_iopl: // Intel privilege.
|
||||
#endif
|
||||
@@ -362,7 +372,8 @@ bool SyscallSets::IsAllowedSignalHandlin
|
||||
// overflow.
|
||||
case __NR_sigaltstack:
|
||||
#if defined(__i386__) || defined(__arm__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_rt_sigtimedwait_time64:
|
||||
case __NR_sigaction:
|
||||
case __NR_sigprocmask:
|
||||
@@ -378,7 +389,8 @@ bool SyscallSets::IsAllowedSignalHandlin
|
||||
#endif
|
||||
case __NR_signalfd4:
|
||||
#if defined(__i386__) || defined(__arm__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_sigpending:
|
||||
case __NR_sigsuspend:
|
||||
#endif
|
||||
@@ -402,7 +414,7 @@ bool SyscallSets::IsAllowedOperationOnFd
|
||||
#endif
|
||||
case __NR_dup3:
|
||||
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
|
||||
- defined(__aarch64__)
|
||||
+ defined(__aarch64__) || defined(__powerpc64__)
|
||||
case __NR_shutdown:
|
||||
#endif
|
||||
return true;
|
||||
@@ -435,7 +447,7 @@ bool SyscallSets::IsAllowedProcessStartO
|
||||
case __NR_exit_group:
|
||||
case __NR_wait4:
|
||||
case __NR_waitid:
|
||||
-#if defined(__i386__)
|
||||
+#if defined(__i386__) || defined(__powerpc64__)
|
||||
case __NR_waitpid:
|
||||
#endif
|
||||
return true;
|
||||
@@ -452,7 +464,7 @@ bool SyscallSets::IsAllowedProcessStartO
|
||||
#endif
|
||||
case __NR_set_tid_address:
|
||||
case __NR_unshare:
|
||||
-#if !defined(__mips__) && !defined(__aarch64__)
|
||||
+#if !defined(__mips__) && !defined(__aarch64__) || defined(__powerpc64__)
|
||||
case __NR_vfork:
|
||||
#endif
|
||||
default:
|
||||
@@ -499,7 +511,7 @@ bool SyscallSets::IsAllowedEpoll(int sys
|
||||
bool SyscallSets::IsDeniedGetOrModifySocket(int sysno) {
|
||||
switch (sysno) {
|
||||
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
|
||||
- defined(__aarch64__)
|
||||
+ defined(__aarch64__) || defined(__powerpc64__)
|
||||
case __NR_accept:
|
||||
case __NR_accept4:
|
||||
case __NR_bind:
|
||||
@@ -514,7 +526,8 @@ bool SyscallSets::IsDeniedGetOrModifySoc
|
||||
}
|
||||
|
||||
#if defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
// Big multiplexing system call for sockets.
|
||||
bool SyscallSets::IsSocketCall(int sysno) {
|
||||
switch (sysno) {
|
||||
@@ -528,7 +541,8 @@ bool SyscallSets::IsSocketCall(int sysno
|
||||
}
|
||||
#endif
|
||||
|
||||
-#if defined(__x86_64__) || defined(__arm__) || defined(__mips__)
|
||||
+#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
|
||||
+ defined(__powerpc64__)
|
||||
bool SyscallSets::IsNetworkSocketInformation(int sysno) {
|
||||
switch (sysno) {
|
||||
case __NR_getpeername:
|
||||
@@ -554,7 +568,7 @@ bool SyscallSets::IsAllowedAddressSpaceA
|
||||
case __NR_mincore:
|
||||
case __NR_mlockall:
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
|
||||
- defined(__aarch64__)
|
||||
+ defined(__aarch64__) || defined(__powerpc64__)
|
||||
case __NR_mmap:
|
||||
#endif
|
||||
#if defined(__i386__) || defined(__arm__) || \
|
||||
@@ -584,7 +598,8 @@ bool SyscallSets::IsAllowedGeneralIo(int
|
||||
switch (sysno) {
|
||||
case __NR_lseek:
|
||||
#if defined(__i386__) || defined(__arm__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR__llseek:
|
||||
#endif
|
||||
#if !defined(__aarch64__)
|
||||
@@ -604,26 +619,28 @@ bool SyscallSets::IsAllowedGeneralIo(int
|
||||
case __NR_readv:
|
||||
case __NR_pread64:
|
||||
#if defined(__arm__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_recv:
|
||||
#endif
|
||||
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
|
||||
- defined(__aarch64__)
|
||||
+ defined(__aarch64__) || defined(__powerpc64__)
|
||||
case __NR_recvfrom: // Could specify source.
|
||||
case __NR_recvmsg: // Could specify source.
|
||||
#endif
|
||||
-#if defined(__i386__) || defined(__x86_64__)
|
||||
+#if defined(__i386__) || defined(__x86_64__) || defined(__powerpc64__)
|
||||
case __NR_select:
|
||||
#endif
|
||||
-#if defined(__i386__) || defined(__arm__) || defined(__mips__)
|
||||
+#if defined(__i386__) || defined(__arm__) || defined(__mips__) || defined(__powerpc64__)
|
||||
case __NR__newselect:
|
||||
#endif
|
||||
#if defined(__arm__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_send:
|
||||
#endif
|
||||
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
|
||||
- defined(__aarch64__)
|
||||
+ defined(__aarch64__) || defined(__powerpc64__)
|
||||
case __NR_sendmsg: // Could specify destination.
|
||||
case __NR_sendto: // Could specify destination.
|
||||
#endif
|
||||
@@ -679,7 +696,8 @@ bool SyscallSets::IsAllowedBasicSchedule
|
||||
return true;
|
||||
case __NR_getpriority:
|
||||
#if defined(__i386__) || defined(__arm__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_nice:
|
||||
#endif
|
||||
case __NR_setpriority:
|
||||
@@ -691,7 +709,8 @@ bool SyscallSets::IsAllowedBasicSchedule
|
||||
bool SyscallSets::IsAdminOperation(int sysno) {
|
||||
switch (sysno) {
|
||||
#if defined(__i386__) || defined(__arm__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_bdflush:
|
||||
#endif
|
||||
case __NR_kexec_load:
|
||||
@@ -707,7 +726,8 @@ bool SyscallSets::IsAdminOperation(int s
|
||||
|
||||
bool SyscallSets::IsKernelModule(int sysno) {
|
||||
switch (sysno) {
|
||||
-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
|
||||
+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_create_module:
|
||||
case __NR_get_kernel_syms: // Should ENOSYS.
|
||||
case __NR_query_module:
|
||||
@@ -740,7 +760,8 @@ bool SyscallSets::IsFsControl(int sysno)
|
||||
case __NR_swapoff:
|
||||
case __NR_swapon:
|
||||
#if defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_umount:
|
||||
#endif
|
||||
case __NR_umount2:
|
||||
@@ -756,7 +777,7 @@ bool SyscallSets::IsNuma(int sysno) {
|
||||
case __NR_getcpu:
|
||||
case __NR_mbind:
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
|
||||
- defined(__aarch64__)
|
||||
+ defined(__aarch64__) || defined(__powerpc64__)
|
||||
case __NR_migrate_pages:
|
||||
#endif
|
||||
case __NR_move_pages:
|
||||
@@ -791,14 +812,15 @@ bool SyscallSets::IsGlobalProcessEnviron
|
||||
switch (sysno) {
|
||||
case __NR_acct: // Privileged.
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
|
||||
- defined(__aarch64__)
|
||||
+ defined(__aarch64__) || defined(__powerpc64__)
|
||||
case __NR_getrlimit:
|
||||
#endif
|
||||
-#if defined(__i386__) || defined(__arm__)
|
||||
+#if defined(__i386__) || defined(__arm__) || defined(__powerpc64__)
|
||||
case __NR_ugetrlimit:
|
||||
#endif
|
||||
#if defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_ulimit:
|
||||
#endif
|
||||
case __NR_getrusage:
|
||||
@@ -832,7 +854,7 @@ bool SyscallSets::IsGlobalSystemStatus(i
|
||||
#endif
|
||||
case __NR_sysinfo:
|
||||
case __NR_uname:
|
||||
-#if defined(__i386__)
|
||||
+#if defined(__i386__) || defined(__powerpc64__)
|
||||
case __NR_olduname:
|
||||
case __NR_oldolduname:
|
||||
#endif
|
||||
@@ -916,7 +938,8 @@ bool SyscallSets::IsSystemVSemaphores(in
|
||||
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \
|
||||
defined(__aarch64__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
// These give a lot of ambient authority and bypass the setuid sandbox.
|
||||
bool SyscallSets::IsSystemVSharedMemory(int sysno) {
|
||||
switch (sysno) {
|
||||
@@ -947,7 +970,8 @@ bool SyscallSets::IsSystemVMessageQueue(
|
||||
#endif
|
||||
|
||||
#if defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
// Big system V multiplexing system call.
|
||||
bool SyscallSets::IsSystemVIpc(int sysno) {
|
||||
switch (sysno) {
|
||||
@@ -967,7 +991,8 @@ bool SyscallSets::IsAnySystemV(int sysno
|
||||
return IsSystemVMessageQueue(sysno) || IsSystemVSemaphores(sysno) ||
|
||||
IsSystemVSharedMemory(sysno);
|
||||
#elif defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
return IsSystemVIpc(sysno);
|
||||
#endif
|
||||
}
|
||||
@@ -1024,7 +1049,8 @@ bool SyscallSets::IsFaNotify(int sysno)
|
||||
bool SyscallSets::IsTimer(int sysno) {
|
||||
switch (sysno) {
|
||||
case __NR_getitimer:
|
||||
-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
|
||||
+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_alarm:
|
||||
#endif
|
||||
case __NR_setitimer:
|
||||
@@ -1103,18 +1129,22 @@ bool SyscallSets::IsMisc(int sysno) {
|
||||
case __NR_syncfs:
|
||||
case __NR_vhangup:
|
||||
// The system calls below are not implemented.
|
||||
-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
|
||||
+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_afs_syscall:
|
||||
#endif
|
||||
#if defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_break:
|
||||
#endif
|
||||
-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
|
||||
+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_getpmsg:
|
||||
#endif
|
||||
#if defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_gtty:
|
||||
case __NR_idle:
|
||||
case __NR_lock:
|
||||
@@ -1122,20 +1152,22 @@ bool SyscallSets::IsMisc(int sysno) {
|
||||
case __NR_prof:
|
||||
case __NR_profil:
|
||||
#endif
|
||||
-#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
|
||||
+#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_putpmsg:
|
||||
#endif
|
||||
#if defined(__x86_64__)
|
||||
case __NR_security:
|
||||
#endif
|
||||
#if defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
case __NR_stty:
|
||||
#endif
|
||||
-#if defined(__x86_64__)
|
||||
+#if defined(__x86_64__) || defined(__powerpc64__)
|
||||
case __NR_tuxcall:
|
||||
#endif
|
||||
-#if !defined(__aarch64__)
|
||||
+#if !defined(__aarch64__) && !defined(__powerpc64__)
|
||||
case __NR_vserver:
|
||||
#endif
|
||||
return true;
|
||||
Index: chromium-130.0.6723.44/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);
|
||||
|
||||
#if defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
// Big multiplexing system call for sockets.
|
||||
static bool IsSocketCall(int sysno);
|
||||
#endif
|
||||
|
||||
#if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \
|
||||
- defined(__aarch64__)
|
||||
+ defined(__aarch64__) || defined(__powerpc64__)
|
||||
static bool IsNetworkSocketInformation(int sysno);
|
||||
#endif
|
||||
|
||||
@@ -84,7 +85,8 @@ class SANDBOX_EXPORT SyscallSets {
|
||||
#endif
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \
|
||||
defined(__aarch64__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_64_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
// These give a lot of ambient authority and bypass the setuid sandbox.
|
||||
static bool IsSystemVSharedMemory(int sysno);
|
||||
#endif
|
||||
@@ -95,7 +97,8 @@ class SANDBOX_EXPORT SyscallSets {
|
||||
#endif
|
||||
|
||||
#if defined(__i386__) || \
|
||||
- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS))
|
||||
+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
+ defined(__powerpc64__)
|
||||
// Big system V multiplexing system call.
|
||||
static bool IsSystemVIpc(int sysno);
|
||||
#endif
|
||||
Index: chromium-130.0.6723.44/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);
|
||||
#elif defined(ARCH_CPU_X86) || defined(ARCH_CPU_ARM_FAMILY) || \
|
||||
- defined(ARCH_CPU_MIPS_FAMILY)
|
||||
+ defined(ARCH_CPU_MIPS_FAMILY) || defined(ARCH_CPU_PPC64_FAMILY)
|
||||
// CONFIG_CLONE_BACKWARDS defined.
|
||||
return syscall(__NR_clone, flags, child_stack, ptid, tls, ctid);
|
||||
#endif
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
From c9043a422fb4a5a6c72aaa1b907cea5f6a3061dd Mon Sep 17 00:00:00 2001
|
||||
From: Shawn Anastasio <shawnanastasio@yahoo.com>
|
||||
Date: Thu, 9 Aug 2018 19:10:24 -0500
|
||||
Subject: [PATCH 1/4] sandbox/linux/bpf_dsl: Update syscall ranges for ppc64
|
||||
|
||||
---
|
||||
sandbox/linux/bpf_dsl/linux_syscall_ranges.h | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
Index: chromium-128.0.6613.113/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
|
||||
@@ -56,6 +56,13 @@
|
||||
#define MAX_PUBLIC_SYSCALL __NR_syscalls
|
||||
#define MAX_SYSCALL MAX_PUBLIC_SYSCALL
|
||||
|
||||
+#elif defined(__powerpc64__)
|
||||
+
|
||||
+#include <asm/unistd.h>
|
||||
+#define MIN_SYSCALL 0u
|
||||
+#define MAX_PUBLIC_SYSCALL 386u
|
||||
+#define MAX_SYSCALL MAX_PUBLIC_SYSCALL
|
||||
+
|
||||
#else
|
||||
#error "Unsupported architecture"
|
||||
#endif
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
From 7468b266532bd607eb1f5292d758256d800b2eee Mon Sep 17 00:00:00 2001
|
||||
From: Shawn Anastasio <shawnanastasio@yahoo.com>
|
||||
Date: Fri, 10 Aug 2018 00:23:50 -0500
|
||||
Subject: [PATCH] services/service_manager/sandbox/linux: Fix TCGETS
|
||||
declaration on PPC64
|
||||
|
||||
---
|
||||
.../sandbox/linux/bpf_renderer_policy_linux.cc | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
Index: chromium-128.0.6613.113/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
|
||||
@@ -15,6 +15,11 @@
|
||||
#include "sandbox/linux/system_headers/linux_syscalls.h"
|
||||
#include "sandbox/policy/linux/sandbox_linux.h"
|
||||
|
||||
+// On PPC64, TCGETS is defined in terms of struct termios, so we must include termios.h
|
||||
+#ifdef __powerpc64__
|
||||
+#include <termios.h>
|
||||
+#endif
|
||||
+
|
||||
// TODO(vignatti): replace the local definitions below with #include
|
||||
// <linux/dma-buf.h> once kernel version 4.6 becomes widely used.
|
||||
#include <linux/types.h>
|
||||
|
|
@ -1,20 +1,11 @@
|
|||
Description: fix swiftshader build issue on ppc64el
|
||||
Origin: vendor, https://gitlab.raptorengineering.com/raptor-engineering-public/chromium/openpower-patches/-/blob/chromium-131/patches/ppc64le/third_party/0001-swiftshader-fix-build.patch
|
||||
Bug: https://buildd.debian.org/status/fetch.php?pkg=chromium&arch=ppc64el&ver=131.0.6778.204-1&stamp=1734633529&raw=0
|
||||
Last-Update: 2024-12-20
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
Index: chromium-144.0.7559.59/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn
|
||||
+++ chromium-144.0.7559.59/third_party/swiftshader/third_party/llvm-16.0/BUILD.gn
|
||||
@@ -1599,6 +1599,9 @@ swiftshader_llvm_source_set("swiftshader
|
||||
--- a/third_party/swiftshader/third_party/llvm-10.0/BUILD.gn
|
||||
+++ b/third_party/swiftshader/third_party/llvm-10.0/BUILD.gn
|
||||
@@ -1258,6 +1258,8 @@
|
||||
"llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp",
|
||||
"llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp",
|
||||
"llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp",
|
||||
+ "llvm/lib/MC/MCXCOFFObjectTargetWriter.cpp",
|
||||
+ "llvm/lib/MC/MCAsmInfoXCOFF.cpp",
|
||||
+ "llvm/lib/MC/MCInstrInfo.cpp",
|
||||
]
|
||||
}
|
||||
|
||||
|
|
|
|||
11
0001-third-party-hwy-wrong-include.patch
Normal file
11
0001-third-party-hwy-wrong-include.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
--- a/third_party/highway/src/hwy/targets.cc
|
||||
+++ b/third_party/highway/src/hwy/targets.cc
|
||||
@@ -35,7 +35,7 @@
|
||||
HWY_OS_LINUX
|
||||
// sys/auxv.h does not always include asm/hwcap.h, or define HWCAP*, hence we
|
||||
// still include this directly. See #1199.
|
||||
-#ifndef TOOLCHAIN_MISS_ASM_HWCAP_H
|
||||
+#if !defined(TOOLCHAIN_MISS_ASM_HWCAP_H) && !defined(HWY_ARCH_PPC)
|
||||
#include <asm/hwcap.h>
|
||||
#endif
|
||||
#if HWY_HAVE_AUXV
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
Index: chromium-144.0.7559.59/third_party/angle/src/libANGLE/Constants.h
|
||||
Index: chromium-128.0.6613.113/third_party/angle/src/libANGLE/Constants.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/angle/src/libANGLE/Constants.h
|
||||
+++ chromium-144.0.7559.59/third_party/angle/src/libANGLE/Constants.h
|
||||
--- chromium-128.0.6613.113.orig/third_party/angle/src/libANGLE/Constants.h
|
||||
+++ chromium-128.0.6613.113/third_party/angle/src/libANGLE/Constants.h
|
||||
@@ -9,6 +9,7 @@
|
||||
#ifndef LIBANGLE_CONSTANTS_H_
|
||||
#define LIBANGLE_CONSTANTS_H_
|
||||
|
|
|
|||
|
|
@ -8,11 +8,11 @@ Subject: [PATCH] third_party/libvpx: Properly generate gni on ppc64
|
|||
third_party/libvpx/generate_gni.sh | 10 ++++++++++
|
||||
2 files changed, 12 insertions(+)
|
||||
|
||||
Index: chromium-144.0.7559.59/third_party/libvpx/BUILD.gn
|
||||
Index: chromium-128.0.6613.113/third_party/libvpx/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/libvpx/BUILD.gn
|
||||
+++ chromium-144.0.7559.59/third_party/libvpx/BUILD.gn
|
||||
@@ -297,6 +297,8 @@ if (current_cpu == "x86" || (current_cpu
|
||||
--- chromium-128.0.6613.113.orig/third_party/libvpx/BUILD.gn
|
||||
+++ chromium-128.0.6613.113/third_party/libvpx/BUILD.gn
|
||||
@@ -320,6 +320,8 @@ if (current_cpu == "x86" || (current_cpu
|
||||
} else if (current_cpu == "x64") {
|
||||
deps = [ ":libvpx_x86_64_headers" ]
|
||||
sources = libvpx_srcs_x86_64_avx512
|
||||
|
|
|
|||
22
0001-third_party-lss-Don-t-look-for-mmap2-on-ppc64.patch
Normal file
22
0001-third_party-lss-Don-t-look-for-mmap2-on-ppc64.patch
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
Index: chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
|
||||
===================================================================
|
||||
--- chromium-128.0.6613.113.orig/third_party/lss/linux_syscall_support.h
|
||||
+++ chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
|
||||
@@ -4638,7 +4638,7 @@ struct kernel_statx {
|
||||
LSS_REG(2, buf);
|
||||
LSS_BODY(void*, mmap2, "0"(__r2));
|
||||
}
|
||||
-#else
|
||||
+#elif !defined(__powerpc64__) /* ppc64 doesn't have mmap2 */
|
||||
#define __NR__mmap2 __NR_mmap2
|
||||
LSS_INLINE _syscall6(void*, _mmap2, void*, s,
|
||||
size_t, l, int, p,
|
||||
@@ -4749,7 +4749,7 @@ struct kernel_statx {
|
||||
#if defined(__i386__) || \
|
||||
defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) || \
|
||||
(defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI32) || \
|
||||
- defined(__PPC__) || \
|
||||
+ (defined(__PPC__) && !defined(__powerpc64__)) || \
|
||||
(defined(__s390__) && !defined(__s390x__))
|
||||
/* On these architectures, implement mmap() with mmap2(). */
|
||||
LSS_INLINE void* LSS_NAME(mmap)(void *s, size_t l, int p, int f, int d,
|
||||
|
|
@ -8,10 +8,10 @@ Subject: [PATCH] third_party/pffft: Include altivec.h on ppc64 with SIMD
|
|||
third_party/pffft/src/pffft.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Index: chromium-144.0.7559.59/third_party/pffft/src/pffft.c
|
||||
Index: chromium-128.0.6613.113/third_party/pffft/src/pffft.c
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/pffft/src/pffft.c
|
||||
+++ chromium-144.0.7559.59/third_party/pffft/src/pffft.c
|
||||
--- chromium-128.0.6613.113.orig/third_party/pffft/src/pffft.c
|
||||
+++ chromium-128.0.6613.113/third_party/pffft/src/pffft.c
|
||||
@@ -100,6 +100,7 @@
|
||||
Altivec support macros
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S
|
||||
+++ chromium-133.0.6943.35/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-144.0.7559.59/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.
|
|||
+// See https://www.airs.ccom/blog/archives/518.
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S
|
||||
+++ chromium-133.0.6943.35/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-144.0.7559.59/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linu
|
|||
+// See https://www.airs.ccom/blog/archives/518.
|
||||
+.section .note.GNU-stack,"",%progbits
|
||||
+#endif
|
||||
Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.cmake
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/gen/sources.cmake
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/gen/sources.cmake
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.cmake
|
||||
@@ -122,6 +122,7 @@ set(
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/gen/sources.cmake
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/gen/sources.cmake
|
||||
@@ -118,6 +118,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-144.0.7559.59/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
|
||||
@@ -153,6 +154,7 @@ set(
|
||||
@@ -149,6 +150,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-144.0.7559.59/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
|
||||
@@ -352,6 +354,7 @@ set(
|
||||
@@ -342,6 +344,7 @@ set(
|
||||
crypto/cpu_arm_freebsd.cc
|
||||
crypto/cpu_arm_linux.cc
|
||||
crypto/cpu_intel.cc
|
||||
|
|
@ -4299,7 +4299,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.cmake
|
|||
crypto/crypto.cc
|
||||
crypto/curve25519/curve25519.cc
|
||||
crypto/curve25519/curve25519_64_adx.cc
|
||||
@@ -2980,6 +2983,7 @@ set(
|
||||
@@ -2830,6 +2833,7 @@ set(
|
||||
gen/test_support/trampoline-armv8-apple.S
|
||||
gen/test_support/trampoline-armv8-linux.S
|
||||
gen/test_support/trampoline-armv8-win.S
|
||||
|
|
@ -4307,11 +4307,11 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/gen/sources.json
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/gen/sources.json
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/boringssl/src/gen/sources.json
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.json
|
||||
@@ -100,6 +100,7 @@
|
||||
--- chromium-133.0.6943.35.orig/third_party/boringssl/src/gen/sources.json
|
||||
+++ chromium-133.0.6943.35/third_party/boringssl/src/gen/sources.json
|
||||
@@ -96,6 +96,7 @@
|
||||
"gen/bcm/aesni-x86-linux.S",
|
||||
"gen/bcm/aesni-x86_64-apple.S",
|
||||
"gen/bcm/aesni-x86_64-linux.S",
|
||||
|
|
@ -4319,7 +4319,7 @@ Index: chromium-144.0.7559.59/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",
|
||||
@@ -131,6 +132,7 @@
|
||||
@@ -127,6 +128,7 @@
|
||||
"gen/bcm/ghash-x86-linux.S",
|
||||
"gen/bcm/ghash-x86_64-apple.S",
|
||||
"gen/bcm/ghash-x86_64-linux.S",
|
||||
|
|
@ -4327,7 +4327,7 @@ Index: chromium-144.0.7559.59/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",
|
||||
@@ -322,6 +324,7 @@
|
||||
@@ -312,6 +314,7 @@
|
||||
"crypto/cpu_arm_freebsd.cc",
|
||||
"crypto/cpu_arm_linux.cc",
|
||||
"crypto/cpu_intel.cc",
|
||||
|
|
@ -4335,7 +4335,7 @@ Index: chromium-144.0.7559.59/third_party/boringssl/src/gen/sources.json
|
|||
"crypto/crypto.cc",
|
||||
"crypto/curve25519/curve25519.cc",
|
||||
"crypto/curve25519/curve25519_64_adx.cc",
|
||||
@@ -2892,6 +2895,7 @@
|
||||
@@ -2750,6 +2753,7 @@
|
||||
"gen/test_support/trampoline-armv8-apple.S",
|
||||
"gen/test_support/trampoline-armv8-linux.S",
|
||||
"gen/test_support/trampoline-armv8-win.S",
|
||||
|
|
@ -4343,10 +4343,10 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
|
||||
Index: chromium-133.0.6943.35/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ chromium-144.0.7559.59/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S
|
||||
+++ chromium-133.0.6943.35/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,7 +1,7 @@
|
|||
Index: chromium-144.0.7559.59/v8/src/base/immediate-crash.h
|
||||
Index: chromium-128.0.6613.113/v8/src/base/immediate-crash.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/v8/src/base/immediate-crash.h
|
||||
+++ chromium-144.0.7559.59/v8/src/base/immediate-crash.h
|
||||
--- chromium-128.0.6613.113.orig/v8/src/base/immediate-crash.h
|
||||
+++ chromium-128.0.6613.113/v8/src/base/immediate-crash.h
|
||||
@@ -98,6 +98,13 @@
|
||||
#define TRAP_SEQUENCE1_() asm volatile(".2byte 0x0001");
|
||||
#define TRAP_SEQUENCE2_() asm volatile("")
|
||||
|
|
|
|||
|
|
@ -1,36 +0,0 @@
|
|||
# crypto: fix missing OPENSSL_NO_ENGINE guard
|
||||
# PR-URL: https://github.com/nodejs/node/pull/57012
|
||||
# Reviewed-By: Richard Lau <rlau@redhat.com>
|
||||
# Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
|
||||
# Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
|
||||
# Reviewed-By: James M Snell <jasnell@gmail.com>
|
||||
|
||||
diff --git a/src/crypto/crypto_context.cc b/src/crypto/crypto_context.cc
|
||||
index abcdef1..2345678 100644
|
||||
--- a/src/crypto/crypto_context.cc
|
||||
+++ b/src/crypto/crypto_context.cc
|
||||
@@ -34,7 +34,9 @@ using ncrypto::BIOPointer;
|
||||
using ncrypto::ClearErrorOnReturn;
|
||||
using ncrypto::CryptoErrorList;
|
||||
using ncrypto::DHPointer;
|
||||
+#ifndef OPENSSL_NO_ENGINE
|
||||
using ncrypto::EnginePointer;
|
||||
+#endif // !OPENSSL_NO_ENGINE
|
||||
using ncrypto::EVPKeyPointer;
|
||||
using ncrypto::MarkPopErrorOnReturn;
|
||||
using ncrypto::SSLPointer;
|
||||
|
||||
diff --git a/src/crypto/crypto_util.cc b/src/crypto/crypto_util.cc
|
||||
index 1234567..abcdef0 100644
|
||||
--- a/src/crypto/crypto_util.cc
|
||||
+++ b/src/crypto/crypto_util.cc
|
||||
@@ -30,7 +30,9 @@
|
||||
using ncrypto::BIOPointer;
|
||||
using ncrypto::CryptoErrorList;
|
||||
+#ifndef OPENSSL_NO_ENGINE
|
||||
using ncrypto::EnginePointer;
|
||||
+#endif // !OPENSSL_NO_ENGINE
|
||||
using ncrypto::EVPKeyCtxPointer;
|
||||
using v8::ArrayBuffer;
|
||||
using v8::BackingStore;
|
||||
using v8::BigInt;
|
||||
21
0002-Include-cstddef-to-fix-build.patch
Normal file
21
0002-Include-cstddef-to-fix-build.patch
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
From 82922bf486e9926a171152f61030dfcd53f017b8 Mon Sep 17 00:00:00 2001
|
||||
From: Timothy Pearson <tpearson@raptorengineering.com>
|
||||
Date: Thu, 30 Aug 2018 17:32:05 -0500
|
||||
Subject: [PATCH] Include cstddef to fix build
|
||||
|
||||
size_t is not defined unless cstddef is included.
|
||||
---
|
||||
third_party/crashpad/crashpad/compat/linux/sys/user.h | 1 +
|
||||
|
||||
Index: chromium-127.0.6533.72/third_party/crashpad/crashpad/compat/linux/sys/user.h
|
||||
===================================================================
|
||||
--- chromium-127.0.6533.72.orig/third_party/crashpad/crashpad/compat/linux/sys/user.h
|
||||
+++ chromium-127.0.6533.72/third_party/crashpad/crashpad/compat/linux/sys/user.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#ifndef CRASHPAD_COMPAT_LINUX_SYS_USER_H_
|
||||
#define CRASHPAD_COMPAT_LINUX_SYS_USER_H_
|
||||
|
||||
+#include <cstddef>
|
||||
#include_next <sys/user.h>
|
||||
|
||||
#include <features.h>
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,76 @@
|
|||
From 3c4705bfdda45feb860a1f121631773e5fe8e53f Mon Sep 17 00:00:00 2001
|
||||
From: Shawn Anastasio <shawnanastasio@yahoo.com>
|
||||
Date: Thu, 9 Aug 2018 19:11:26 -0500
|
||||
Subject: [PATCH 1/4] sandbox/linux/bpf_dsl: Modify seccomp_macros to add
|
||||
support for ppc64
|
||||
|
||||
---
|
||||
sandbox/linux/bpf_dsl/seccomp_macros.h | 43 ++++++++++++++++++++++++++
|
||||
1 file changed, 43 insertions(+)
|
||||
|
||||
Index: chromium-128.0.6613.113/sandbox/linux/bpf_dsl/seccomp_macros.h
|
||||
===================================================================
|
||||
--- chromium-128.0.6613.113.orig/sandbox/linux/bpf_dsl/seccomp_macros.h
|
||||
+++ chromium-128.0.6613.113/sandbox/linux/bpf_dsl/seccomp_macros.h
|
||||
@@ -14,6 +14,9 @@
|
||||
#if defined(__mips__)
|
||||
// sys/user.h in eglibc misses size_t definition
|
||||
#include <stddef.h>
|
||||
+#elif defined(__powerpc64__)
|
||||
+// Manually define greg_t on ppc64
|
||||
+typedef unsigned long long greg_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -343,6 +346,51 @@ struct regs_struct {
|
||||
#define SECCOMP_PT_PARM4(_regs) (_regs).regs[3]
|
||||
#define SECCOMP_PT_PARM5(_regs) (_regs).regs[4]
|
||||
#define SECCOMP_PT_PARM6(_regs) (_regs).regs[5]
|
||||
+
|
||||
+#elif defined(__powerpc64__)
|
||||
+#include <asm/ptrace.h>
|
||||
+
|
||||
+typedef struct pt_regs regs_struct;
|
||||
+
|
||||
+#ifdef ARCH_CPU_LITTLE_ENDIAN
|
||||
+#define SECCOMP_ARCH AUDIT_ARCH_PPC64LE
|
||||
+#else
|
||||
+#define SECCOMP_ARCH AUDIT_ARCH_PPC64
|
||||
+#endif
|
||||
+
|
||||
+#define SECCOMP_REG(_ctx, _reg) ((_ctx)->uc_mcontext.regs->gpr[_reg])
|
||||
+
|
||||
+#define SECCOMP_RESULT(_ctx) SECCOMP_REG(_ctx, 3)
|
||||
+#define SECCOMP_SYSCALL(_ctx) SECCOMP_REG(_ctx, 0)
|
||||
+#define SECCOMP_IP(_ctx) (_ctx)->uc_mcontext.regs->nip
|
||||
+#define SECCOMP_PARM1(_ctx) SECCOMP_REG(_ctx, 3)
|
||||
+#define SECCOMP_PARM2(_ctx) SECCOMP_REG(_ctx, 4)
|
||||
+#define SECCOMP_PARM3(_ctx) SECCOMP_REG(_ctx, 5)
|
||||
+#define SECCOMP_PARM4(_ctx) SECCOMP_REG(_ctx, 6)
|
||||
+#define SECCOMP_PARM5(_ctx) SECCOMP_REG(_ctx, 7)
|
||||
+#define SECCOMP_PARM6(_ctx) SECCOMP_REG(_ctx, 8)
|
||||
+
|
||||
+#define SECCOMP_NR_IDX (offsetof(struct arch_seccomp_data, nr))
|
||||
+#define SECCOMP_ARCH_IDX (offsetof(struct arch_seccomp_data, arch))
|
||||
+#define SECCOMP_IP_MSB_IDX \
|
||||
+ (offsetof(struct arch_seccomp_data, instruction_pointer) + 4)
|
||||
+#define SECCOMP_IP_LSB_IDX \
|
||||
+ (offsetof(struct arch_seccomp_data, instruction_pointer) + 0)
|
||||
+#define SECCOMP_ARG_MSB_IDX(nr) \
|
||||
+ (offsetof(struct arch_seccomp_data, args) + 8 * (nr) + 4)
|
||||
+#define SECCOMP_ARG_LSB_IDX(nr) \
|
||||
+ (offsetof(struct arch_seccomp_data, args) + 8 * (nr) + 0)
|
||||
+
|
||||
+#define SECCOMP_PT_RESULT(_regs) (_regs).gpr[3]
|
||||
+#define SECCOMP_PT_SYSCALL(_regs) (_regs).gpr[0]
|
||||
+#define SECCOMP_PT_IP(_regs) (_regs).nip
|
||||
+#define SECCOMP_PT_PARM1(_regs) (_regs).gpr[3]
|
||||
+#define SECCOMP_PT_PARM2(_regs) (_regs).gpr[4]
|
||||
+#define SECCOMP_PT_PARM3(_regs) (_regs).gpr[5]
|
||||
+#define SECCOMP_PT_PARM4(_regs) (_regs).gpr[6]
|
||||
+#define SECCOMP_PT_PARM5(_regs) (_regs).gpr[7]
|
||||
+#define SECCOMP_PT_PARM6(_regs) (_regs).gpr[8]
|
||||
+
|
||||
#else
|
||||
#error Unsupported target platform
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,8 +1,8 @@
|
|||
Index: chromium-144.0.7559.59/third_party/lss/linux_syscall_support.h
|
||||
Index: chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/lss/linux_syscall_support.h
|
||||
+++ chromium-144.0.7559.59/third_party/lss/linux_syscall_support.h
|
||||
@@ -86,7 +86,7 @@
|
||||
--- chromium-128.0.6613.113.orig/third_party/lss/linux_syscall_support.h
|
||||
+++ chromium-128.0.6613.113/third_party/lss/linux_syscall_support.h
|
||||
@@ -87,7 +87,7 @@
|
||||
* Porting to other related platforms should not be difficult.
|
||||
*/
|
||||
#if (defined(__i386__) || defined(__x86_64__) || defined(__ARM_ARCH_3__) || \
|
||||
|
|
@ -11,7 +11,7 @@ Index: chromium-144.0.7559.59/third_party/lss/linux_syscall_support.h
|
|||
defined(__aarch64__) || defined(__s390__) || defined(__e2k__) || \
|
||||
(defined(__riscv) && __riscv_xlen == 64) || defined(__loongarch_lp64)) \
|
||||
&& (defined(__linux) || defined(__ANDROID__))
|
||||
@@ -400,7 +400,7 @@ struct kernel_stat64 {
|
||||
@@ -399,7 +399,7 @@ struct kernel_stat64 {
|
||||
unsigned __pad2;
|
||||
unsigned long long st_blocks;
|
||||
};
|
||||
|
|
@ -20,7 +20,7 @@ Index: chromium-144.0.7559.59/third_party/lss/linux_syscall_support.h
|
|||
struct kernel_stat64 {
|
||||
unsigned long long st_dev;
|
||||
unsigned long long st_ino;
|
||||
@@ -422,6 +422,28 @@ struct kernel_stat64 {
|
||||
@@ -421,6 +421,28 @@ struct kernel_stat64 {
|
||||
unsigned long __unused4;
|
||||
unsigned long __unused5;
|
||||
};
|
||||
|
|
@ -49,7 +49,7 @@ Index: chromium-144.0.7559.59/third_party/lss/linux_syscall_support.h
|
|||
#elif defined(__e2k__)
|
||||
struct kernel_stat64 {
|
||||
unsigned long long st_dev;
|
||||
@@ -538,7 +560,7 @@ struct kernel_stat {
|
||||
@@ -537,7 +559,7 @@ struct kernel_stat {
|
||||
uint64_t st_ctime_nsec_;
|
||||
int64_t __unused4[3];
|
||||
};
|
||||
|
|
@ -58,7 +58,7 @@ Index: chromium-144.0.7559.59/third_party/lss/linux_syscall_support.h
|
|||
typedef unsigned long kernel_blkcnt_t;
|
||||
typedef unsigned long kernel_blksize_t;
|
||||
typedef unsigned kernel_dev_t;
|
||||
@@ -569,6 +591,37 @@ struct kernel_stat {
|
||||
@@ -568,6 +590,37 @@ struct kernel_stat {
|
||||
unsigned long __unused4;
|
||||
unsigned long __unused5;
|
||||
};
|
||||
|
|
@ -96,7 +96,7 @@ Index: chromium-144.0.7559.59/third_party/lss/linux_syscall_support.h
|
|||
#elif (defined(__mips__) && _MIPS_SIM != _MIPS_SIM_ABI64)
|
||||
typedef int kernel_blkcnt_t;
|
||||
typedef int kernel_blksize_t;
|
||||
@@ -1825,6 +1878,28 @@ struct kernel_statx {
|
||||
@@ -1824,6 +1877,28 @@ struct kernel_statx {
|
||||
#ifndef __NR_getcpu
|
||||
#define __NR_getcpu 302
|
||||
#endif
|
||||
|
|
@ -122,10 +122,30 @@ Index: chromium-144.0.7559.59/third_party/lss/linux_syscall_support.h
|
|||
+#define __NR_recvmsg 342
|
||||
+#endif
|
||||
+
|
||||
/* End of powerpc definitions */
|
||||
/* End of powerpc defininitions */
|
||||
#elif defined(__s390__)
|
||||
#ifndef __NR_quotactl
|
||||
@@ -4826,7 +4901,7 @@ struct kernel_statx {
|
||||
@@ -3363,6 +3438,11 @@ struct kernel_statx {
|
||||
/* TODO(csilvers): consider wrapping some args up in a struct, like we
|
||||
* do for i386's _syscall6, so we can compile successfully on gcc 2.95
|
||||
*/
|
||||
+ #ifdef __powerpc64__
|
||||
+ /* TODO: implement clone() for ppc64.
|
||||
+ * until then, use system libc */
|
||||
+ #define sys_clone clone
|
||||
+ #else
|
||||
LSS_INLINE int LSS_NAME(clone)(int (*fn)(void *), void *child_stack,
|
||||
int flags, void *arg, int *parent_tidptr,
|
||||
void *newtls, int *child_tidptr) {
|
||||
@@ -3433,6 +3513,7 @@ struct kernel_statx {
|
||||
}
|
||||
LSS_RETURN(int, __ret, __err);
|
||||
}
|
||||
+ #endif
|
||||
#elif defined(__s390__)
|
||||
#undef LSS_REG
|
||||
#define LSS_REG(r, a) register unsigned long __r##r __asm__("r"#r) = (unsigned long) a
|
||||
@@ -4783,7 +4864,7 @@ struct kernel_statx {
|
||||
LSS_INLINE _syscall6(void*, mmap, void*, addr, size_t, length, int, prot,
|
||||
int, flags, int, fd, int64_t, offset)
|
||||
#endif
|
||||
|
|
@ -134,7 +154,7 @@ Index: chromium-144.0.7559.59/third_party/lss/linux_syscall_support.h
|
|||
#undef LSS_SC_LOADARGS_0
|
||||
#define LSS_SC_LOADARGS_0(dummy...)
|
||||
#undef LSS_SC_LOADARGS_1
|
||||
@@ -5216,7 +5291,11 @@ struct kernel_statx {
|
||||
@@ -5173,7 +5254,11 @@ struct kernel_statx {
|
||||
#endif
|
||||
|
||||
#if !defined(__NR_pipe)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
From cca78240860abb63bbcfe94d1e5f04a1f23c527d Mon Sep 17 00:00:00 2001
|
||||
From: Shawn Anastasio <shawnanastasio@yahoo.com>
|
||||
Date: Thu, 9 Aug 2018 19:11:56 -0500
|
||||
Subject: [PATCH 3/4] sandbox/linux/system_headers: Update linux seccomp header
|
||||
for ppc64
|
||||
|
||||
---
|
||||
sandbox/linux/system_headers/linux_seccomp.h | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
Index: chromium-128.0.6613.113/sandbox/linux/system_headers/linux_seccomp.h
|
||||
===================================================================
|
||||
--- chromium-128.0.6613.113.orig/sandbox/linux/system_headers/linux_seccomp.h
|
||||
+++ chromium-128.0.6613.113/sandbox/linux/system_headers/linux_seccomp.h
|
||||
@@ -38,6 +38,9 @@
|
||||
#ifndef EM_AARCH64
|
||||
#define EM_AARCH64 183
|
||||
#endif
|
||||
+#ifndef EM_PPC64
|
||||
+#define EM_PPC64 21
|
||||
+#endif
|
||||
|
||||
#ifndef __AUDIT_ARCH_64BIT
|
||||
#define __AUDIT_ARCH_64BIT 0x80000000
|
||||
@@ -70,6 +73,12 @@
|
||||
#ifndef AUDIT_ARCH_AARCH64
|
||||
#define AUDIT_ARCH_AARCH64 (EM_AARCH64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE)
|
||||
#endif
|
||||
+#ifndef AUDIT_ARCH_PPC64
|
||||
+#define AUDIT_ARCH_PPC64 (EM_PPC64 | __AUDIT_ARCH_64BIT)
|
||||
+#endif
|
||||
+#ifndef AUDIT_ARCH_PPC64LE
|
||||
+#define AUDIT_ARCH_PPC64LE (EM_PPC64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE)
|
||||
+#endif
|
||||
|
||||
// For prctl.h
|
||||
#ifndef PR_SET_SECCOMP
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
Index: chromium-144.0.7559.59/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-144.0.7559.59/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-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp8_r
|
|||
+#endif
|
||||
+
|
||||
+#endif
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59/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-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vp9_r
|
|||
+#endif
|
||||
+
|
||||
+#endif
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59/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-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_c
|
|||
+.equ DECODE_WIDTH_LIMIT , 16384
|
||||
+.equ DECODE_HEIGHT_LIMIT , 16384
|
||||
+ .section .note.GNU-stack,"",%progbits
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59/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-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_c
|
|||
+#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-144.0.7559.59/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-144.0.7559.59/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-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_c
|
|||
+#define DECODE_WIDTH_LIMIT 16384
|
||||
+#define DECODE_HEIGHT_LIMIT 16384
|
||||
+#endif /* VPX_CONFIG_H */
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59/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-144.0.7559.59/third_party/libvpx/source/config/linux/ppc64/vpx_d
|
|||
+#endif
|
||||
+
|
||||
+#endif
|
||||
Index: chromium-144.0.7559.59/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-144.0.7559.59/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_
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
From 298df3dc44f7121cd8cb9a06b29fa3b16c959b8d Mon Sep 17 00:00:00 2001
|
||||
From: Shawn Anastasio <shawnanastasio@yahoo.com>
|
||||
Date: Thu, 9 Aug 2018 19:13:25 -0500
|
||||
Subject: [PATCH 4/4] sandbox/linux/system_headers: Update linux signal header
|
||||
for ppc64
|
||||
|
||||
---
|
||||
sandbox/linux/system_headers/linux_signal.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: chromium-128.0.6613.113/sandbox/linux/system_headers/linux_signal.h
|
||||
===================================================================
|
||||
--- chromium-128.0.6613.113.orig/sandbox/linux/system_headers/linux_signal.h
|
||||
+++ chromium-128.0.6613.113/sandbox/linux/system_headers/linux_signal.h
|
||||
@@ -13,7 +13,7 @@
|
||||
// (not undefined, but defined different values and in different memory
|
||||
// layouts). So, fill the gap here.
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || \
|
||||
- defined(__aarch64__)
|
||||
+ defined(__aarch64__) || defined(__powerpc64__)
|
||||
|
||||
#define LINUX_SIGHUP 1
|
||||
#define LINUX_SIGINT 2
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
Index: chromium-144.0.7559.59/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc
|
||||
Index: chromium-128.0.6613.113/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc
|
||||
+++ chromium-144.0.7559.59/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc
|
||||
--- chromium-128.0.6613.113.orig/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc
|
||||
+++ chromium-128.0.6613.113/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc
|
||||
@@ -239,6 +239,12 @@ std::string UserAgent() {
|
||||
#endif
|
||||
#elif defined (ARCH_CPU_RISCV64)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
|
||||
Index: chromium-128.0.6613.113/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
|
||||
+++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
|
||||
--- chromium-128.0.6613.113.orig/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
|
||||
+++ chromium-128.0.6613.113/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c
|
||||
@@ -38,6 +38,28 @@ static INLINE int16x8_t vec_max_across(i
|
||||
return vec_max(a, vec_perm(a, a, vec_perm16));
|
||||
}
|
||||
|
|
@ -137,10 +137,10 @@ Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vp9/encoder/ppc/v
|
|||
|
||||
eob = vec_max(eob, vec_or(scan0, zero_coeff0));
|
||||
eob2 = vec_max(vec_or(scan1, zero_coeff1), vec_or(scan2, zero_coeff2));
|
||||
Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
|
||||
Index: chromium-128.0.6613.113/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
|
||||
+++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
|
||||
--- chromium-128.0.6613.113.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
|
||||
+++ chromium-128.0.6613.113/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c
|
||||
@@ -15,6 +15,28 @@
|
||||
#include "vpx_dsp/ppc/txfm_common_vsx.h"
|
||||
#include "vpx_dsp/ppc/types_vsx.h"
|
||||
|
|
@ -255,10 +255,10 @@ Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct3
|
|||
}
|
||||
|
||||
// Returns 1 if negative 0 if positive
|
||||
Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
|
||||
Index: chromium-128.0.6613.113/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
|
||||
+++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
|
||||
--- chromium-128.0.6613.113.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
|
||||
+++ chromium-128.0.6613.113/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c
|
||||
@@ -13,6 +13,28 @@
|
||||
#include "./vpx_dsp_rtcd.h"
|
||||
#include "vpx_dsp/ppc/types_vsx.h"
|
||||
|
|
|
|||
107
0005-sandbox-linux-seccomp-bpf-Add-ppc64-syscall-stub.patch
Normal file
107
0005-sandbox-linux-seccomp-bpf-Add-ppc64-syscall-stub.patch
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
From 1d44643a7c7cf650efd1093d22cd5bf859fdcb51 Mon Sep 17 00:00:00 2001
|
||||
From: Shawn Anastasio <shawnanastasio@yahoo.com>
|
||||
Date: Thu, 9 Aug 2018 20:52:13 -0500
|
||||
Subject: [PATCH] sandbox/linux/seccomp-bpf: Add ppc64 syscall stub
|
||||
|
||||
---
|
||||
sandbox/linux/seccomp-bpf/syscall.cc | 53 ++++++++++++++++++++++++++--
|
||||
1 file changed, 51 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf/syscall.cc
|
||||
===================================================================
|
||||
--- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf/syscall.cc
|
||||
+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf/syscall.cc
|
||||
@@ -23,7 +23,7 @@ namespace sandbox {
|
||||
namespace {
|
||||
|
||||
#if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARM_FAMILY) || \
|
||||
- defined(ARCH_CPU_MIPS_FAMILY)
|
||||
+ defined(ARCH_CPU_MIPS_FAMILY) || defined (ARCH_CPU_PPC64_FAMILY)
|
||||
// Number that's not currently used by any Linux kernel ABIs.
|
||||
const int kInvalidSyscallNumber = 0x351d3;
|
||||
#else
|
||||
@@ -313,10 +313,54 @@ asm(// We need to be able to tell the ke
|
||||
"2:ret\n"
|
||||
".cfi_endproc\n"
|
||||
".size SyscallAsm, .-SyscallAsm\n"
|
||||
+#elif defined(__powerpc64__)
|
||||
+ ".text\n"
|
||||
+ ".align 4\n"
|
||||
+ ".type SyscallAsm @function\n"
|
||||
+ "SyscallAsm:\n"
|
||||
+ ".cfi_startproc\n"
|
||||
+
|
||||
+ // Check if r3 is negative
|
||||
+ "cmpdi 3, 0\n"
|
||||
+ "bgt 2f\n"
|
||||
+
|
||||
+ // Load address of 3f into r3 and return
|
||||
+ "mflr 10\n"
|
||||
+ "bl 1f\n"
|
||||
+ "1: mflr 3\n"
|
||||
+ "mtlr 10\n"
|
||||
+ "addi 3, 3, 4*13\n"
|
||||
+ "blr\n"
|
||||
+
|
||||
+ // Load arguments from array into r3-8
|
||||
+ // save param 3 in r10
|
||||
+ "2:\n"
|
||||
+ "mr 0, 3\n"
|
||||
+ "ld 3, 0(4)\n"
|
||||
+ "ld 5, 16(4)\n"
|
||||
+ "ld 6, 24(4)\n"
|
||||
+ "ld 7, 32(4)\n"
|
||||
+ "ld 8, 40(4)\n"
|
||||
+ "ld 4, 8(4)\n"
|
||||
+ "li 9, 0\n"
|
||||
+
|
||||
+ // Enter kernel
|
||||
+ "sc\n"
|
||||
+
|
||||
+ // Magic return address
|
||||
+ "3:\n"
|
||||
+ // Like MIPS, ppc64 return values are always positive.
|
||||
+ // Check for error in cr0.SO and negate upon error
|
||||
+ "bc 4, 3, 4f\n"
|
||||
+ "neg 3, 3\n"
|
||||
+ "4: blr\n"
|
||||
+
|
||||
+ ".cfi_endproc\n"
|
||||
+ ".size SyscallAsm, .-SyscallAsm\n"
|
||||
#endif
|
||||
); // asm
|
||||
|
||||
-#if defined(__x86_64__)
|
||||
+#if defined(__x86_64__) || defined(__powerpc64__)
|
||||
extern "C" {
|
||||
intptr_t SyscallAsm(intptr_t nr, const intptr_t args[6]);
|
||||
}
|
||||
@@ -430,6 +474,8 @@ intptr_t Syscall::Call(int nr,
|
||||
ret = inout;
|
||||
}
|
||||
|
||||
+#elif defined(__powerpc64__)
|
||||
+ intptr_t ret = SyscallAsm(nr, args);
|
||||
#else
|
||||
#error "Unimplemented architecture"
|
||||
#endif
|
||||
@@ -446,8 +492,18 @@ void Syscall::PutValueInUcontext(intptr_
|
||||
// needs to be changed back.
|
||||
ret_val = -ret_val;
|
||||
SECCOMP_PARM4(ctx) = 1;
|
||||
- } else
|
||||
+ } else {
|
||||
SECCOMP_PARM4(ctx) = 0;
|
||||
+ }
|
||||
+#endif
|
||||
+#if defined(__powerpc64__)
|
||||
+ // Same as MIPS, need to invert ret and set error register (cr0.SO)
|
||||
+ if (ret_val <= -1 && ret_val >= -4095) {
|
||||
+ ret_val = -ret_val;
|
||||
+ ctx->uc_mcontext.regs->ccr |= (1 << 28);
|
||||
+ } else {
|
||||
+ ctx->uc_mcontext.regs->ccr &= ~(1 << 28);
|
||||
+ }
|
||||
#endif
|
||||
SECCOMP_RESULT(ctx) = static_cast<greg_t>(ret_val);
|
||||
}
|
||||
24
0005-sandbox-linux-update-unit-test-for-ppc64.patch
Normal file
24
0005-sandbox-linux-update-unit-test-for-ppc64.patch
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
From 6a852c4135864ba87b3cbdd0880d7cfecf7cd654 Mon Sep 17 00:00:00 2001
|
||||
From: Shawn Anastasio <shawnanastasio@yahoo.com>
|
||||
Date: Thu, 13 Sep 2018 15:12:22 -0500
|
||||
Subject: [PATCH 5/6] sandbox/linux: update unit test for ppc64
|
||||
|
||||
---
|
||||
sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
|
||||
===================================================================
|
||||
--- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
|
||||
+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc
|
||||
@@ -350,8 +350,10 @@ TEST_BASELINE_SIGSYS(__NR_timer_create)
|
||||
|
||||
#if !defined(__aarch64__)
|
||||
TEST_BASELINE_SIGSYS(__NR_inotify_init)
|
||||
+#if !defined(__powerpc64__)
|
||||
TEST_BASELINE_SIGSYS(__NR_vserver)
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#if defined(LIBC_GLIBC) && !BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
BPF_TEST_C(BaselinePolicy, FutexEINVAL, BaselinePolicy) {
|
||||
14
0006-sandbox-linux-disable-timedwait-time64-ppc64.patch
Normal file
14
0006-sandbox-linux-disable-timedwait-time64-ppc64.patch
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
Index: chromium-128.0.6613.113/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
|
||||
@@ -374,7 +374,9 @@ bool SyscallSets::IsAllowedSignalHandlin
|
||||
#if defined(__i386__) || defined(__arm__) || \
|
||||
(defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \
|
||||
defined(__powerpc64__)
|
||||
+#if !defined(__powerpc64__)
|
||||
case __NR_rt_sigtimedwait_time64:
|
||||
+#endif
|
||||
case __NR_sigaction:
|
||||
case __NR_sigprocmask:
|
||||
case __NR_sigreturn:
|
||||
33
0007-sandbox-linux-add-ppc64-stat.patch
Normal file
33
0007-sandbox-linux-add-ppc64-stat.patch
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
Index: chromium-128.0.6613.113/sandbox/linux/system_headers/linux_stat.h
|
||||
===================================================================
|
||||
--- chromium-128.0.6613.113.orig/sandbox/linux/system_headers/linux_stat.h
|
||||
+++ chromium-128.0.6613.113/sandbox/linux/system_headers/linux_stat.h
|
||||
@@ -173,6 +173,28 @@ struct kernel_stat {
|
||||
unsigned int __unused4;
|
||||
unsigned int __unused5;
|
||||
};
|
||||
+#elif defined(__powerpc64__)
|
||||
+struct kernel_stat {
|
||||
+ unsigned long st_dev;
|
||||
+ ino_t st_ino;
|
||||
+ unsigned long st_nlink;
|
||||
+ mode_t st_mode;
|
||||
+ uid_t st_uid;
|
||||
+ gid_t st_gid;
|
||||
+ unsigned long st_rdev;
|
||||
+ long st_size;
|
||||
+ unsigned long st_blksize;
|
||||
+ unsigned long st_blocks;
|
||||
+ // unsigned long st_atime;
|
||||
+ unsigned long st_atime_nsec;
|
||||
+ //unsigned long st_mtime;
|
||||
+ unsigned long st_mtime_nsec;
|
||||
+ //unsigned long st_ctime;
|
||||
+ unsigned long st_ctime_nsec;
|
||||
+ unsigned long __unused4;
|
||||
+ unsigned long __unused5;
|
||||
+ unsigned long __unused6;
|
||||
+};
|
||||
#endif
|
||||
|
||||
#if !defined(AT_EMPTY_PATH)
|
||||
80
0008-sandbox-fix-ppc64le-glibc234.patch
Normal file
80
0008-sandbox-fix-ppc64le-glibc234.patch
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
--- a/sandbox/policy/linux/bpf_utility_policy_linux.cc
|
||||
+++ b/sandbox/policy/linux/bpf_utility_policy_linux.cc
|
||||
@@ -34,7 +34,7 @@ ResultExpr UtilityProcessPolicy::Evaluat
|
||||
case __NR_fdatasync:
|
||||
case __NR_fsync:
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
|
||||
- defined(__aarch64__)
|
||||
+ defined(__aarch64__) || defined(__powerpc64__)
|
||||
case __NR_getrlimit:
|
||||
#endif
|
||||
#if defined(__i386__) || defined(__arm__)
|
||||
--- a/sandbox/policy/linux/bpf_renderer_policy_linux.cc
|
||||
+++ b/sandbox/policy/linux/bpf_renderer_policy_linux.cc
|
||||
@@ -90,7 +90,7 @@ ResultExpr RendererProcessPolicy::Evalua
|
||||
case __NR_ftruncate64:
|
||||
#endif
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \
|
||||
- defined(__aarch64__)
|
||||
+ defined(__aarch64__) || defined(__powerpc64__)
|
||||
case __NR_getrlimit:
|
||||
case __NR_setrlimit:
|
||||
// We allow setrlimit to dynamically adjust the address space limit as
|
||||
--- a/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
|
||||
+++ b/sandbox/linux/bpf_dsl/linux_syscall_ranges.h
|
||||
@@ -58,9 +58,9 @@
|
||||
|
||||
#elif defined(__powerpc64__)
|
||||
|
||||
-#include <asm/unistd.h>
|
||||
+#include <asm-generic/unistd.h>
|
||||
#define MIN_SYSCALL 0u
|
||||
-#define MAX_PUBLIC_SYSCALL 386u
|
||||
+#define MAX_PUBLIC_SYSCALL __NR_syscalls
|
||||
#define MAX_SYSCALL MAX_PUBLIC_SYSCALL
|
||||
|
||||
#else
|
||||
--- a/sandbox/linux/services/credentials.cc
|
||||
+++ b/sandbox/linux/services/credentials.cc
|
||||
@@ -96,7 +96,8 @@ bool ChrootToSafeEmptyDir() {
|
||||
|
||||
int clone_flags = CLONE_FS | LINUX_SIGCHLD;
|
||||
void* tls = nullptr;
|
||||
-#if (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM_FAMILY)) && \
|
||||
+#if (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM_FAMILY) || \
|
||||
+ defined(ARCH_CPU_PPC64_FAMILY)) && \
|
||||
!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
|
||||
@@ -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.
|
||||
+ //
|
||||
+ // NOTE: Without CLONE_VM, fontconfig will attempt to reload configuration
|
||||
+ // in every thread. Since the rendered threads are sandboxed without
|
||||
+ // filesystem access (e.g. to /etc/fonts/fonts.conf) this will cause font
|
||||
+ // configuration loading failures and no fonts will be displayed!
|
||||
clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS;
|
||||
|
||||
char tls_buf[PTHREAD_STACK_MIN_CONST] = {};
|
||||
--- a/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc
|
||||
+++ b/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' &&
|
||||
args.args[3] == static_cast<uint64_t>(AT_EMPTY_PATH)) {
|
||||
- return syscall(__NR_fstat_default, static_cast<int>(args.args[0]),
|
||||
+ int fd = static_cast<int>(args.args[0]);
|
||||
+#if defined(__powerpc64__)
|
||||
+ // On ppc64+glibc, some syscalls seem to accidentally negate the first
|
||||
+ // parameter which causes checks against it to fail. For now, manually
|
||||
+ // negate them back.
|
||||
+ // TODO: Investigate the root cause and fix in glibc
|
||||
+ if (fd < 0)
|
||||
+ fd = -fd;
|
||||
+#endif
|
||||
+ return syscall(__NR_fstat_default, fd,
|
||||
reinterpret_cast<default_stat_struct*>(args.args[2]));
|
||||
}
|
||||
return -reinterpret_cast<intptr_t>(fs_denied_errno);
|
||||
|
|
@ -1,8 +1,7 @@
|
|||
Index: chromium-144.0.7559.59/base/compiler_specific.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/base/compiler_specific.h
|
||||
+++ chromium-144.0.7559.59/base/compiler_specific.h
|
||||
@@ -198,7 +198,7 @@
|
||||
diff -up chromium-131.0.6778.69/base/compiler_specific.h.me chromium-131.0.6778.69/base/compiler_specific.h
|
||||
--- chromium-131.0.6778.69/base/compiler_specific.h.me 2024-11-19 20:44:12.404060581 +0100
|
||||
+++ chromium-131.0.6778.69/base/compiler_specific.h 2024-11-19 20:44:54.434121935 +0100
|
||||
@@ -152,7 +152,7 @@
|
||||
// MUSTTAIL return Func1(d + 1); // `Func1()` will be tail-called.
|
||||
// }
|
||||
// ```
|
||||
|
|
@ -11,3 +10,15 @@ Index: chromium-144.0.7559.59/base/compiler_specific.h
|
|||
#define MUSTTAIL [[clang::musttail]]
|
||||
#else
|
||||
#define MUSTTAIL
|
||||
diff -up chromium-131.0.6778.85/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h.me chromium-131.0.6778.85/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h
|
||||
--- chromium-131.0.6778.85/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h.me 2024-11-20 18:50:28.690761262 +0100
|
||||
+++ chromium-131.0.6778.85/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h 2024-11-20 18:54:49.374711202 +0100
|
||||
@@ -138,7 +138,7 @@
|
||||
// PA_MUSTTAIL return Func1(d + 1); // `Func1()` will be tail-called.
|
||||
// }
|
||||
// ```
|
||||
-#if PA_HAS_CPP_ATTRIBUTE(clang::musttail)
|
||||
+#if PA_HAS_CPP_ATTRIBUTE(clang::musttail) && !defined(__powerpc64__)
|
||||
#define PA_MUSTTAIL [[clang::musttail]]
|
||||
#else
|
||||
#define PA_MUSTTAIL
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
Index: chromium-144.0.7559.59/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h
|
||||
+++ chromium-144.0.7559.59/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h
|
||||
@@ -139,7 +139,7 @@
|
||||
// PA_MUSTTAIL return Func1(d + 1); // `Func1()` will be tail-called.
|
||||
// }
|
||||
// ```
|
||||
-#if PA_HAS_CPP_ATTRIBUTE(clang::musttail)
|
||||
+#if PA_HAS_CPP_ATTRIBUTE(clang::musttail) && !defined(__powerpc64__)
|
||||
#define PA_MUSTTAIL [[clang::musttail]]
|
||||
#else
|
||||
#define PA_MUSTTAIL
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
Index: chromium-144.0.7559.59/third_party/libvpx/generate_gni.sh
|
||||
Index: chromium-130.0.6723.44/third_party/libvpx/generate_gni.sh
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/libvpx/generate_gni.sh
|
||||
+++ chromium-144.0.7559.59/third_party/libvpx/generate_gni.sh
|
||||
@@ -429,7 +429,7 @@ gen_config_files linux/mipsel "--target=
|
||||
--- 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 \
|
||||
"--target=loongarch64-linux-gcc ${all_platforms}"
|
||||
|
|
@ -11,12 +11,12 @@ Index: chromium-144.0.7559.59/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-144.0.7559.59/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-144.0.7559.59.orig/third_party/libvpx/source/libvpx/build/make/rtcd.pl
|
||||
+++ chromium-144.0.7559.59/third_party/libvpx/source/libvpx/build/make/rtcd.pl
|
||||
@@ -527,8 +527,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/ ) {
|
||||
- @ALL_ARCHS = filter(qw/vsx/);
|
||||
|
|
@ -27,11 +27,11 @@ Index: chromium-144.0.7559.59/third_party/libvpx/source/libvpx/build/make/rtcd.p
|
|||
} elsif ($opts{arch} =~ /loongarch/ ) {
|
||||
@ALL_ARCHS = filter(qw/lsx lasx/);
|
||||
loongarch;
|
||||
Index: chromium-144.0.7559.59/third_party/libvpx/BUILD.gn
|
||||
Index: chromium-130.0.6723.44/third_party/libvpx/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/libvpx/BUILD.gn
|
||||
+++ chromium-144.0.7559.59/third_party/libvpx/BUILD.gn
|
||||
@@ -98,6 +98,14 @@ config("libvpx_config") {
|
||||
--- 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,7 +1,7 @@
|
|||
Index: chromium-144.0.7559.59/third_party/webrtc/rtc_base/system/arch.h
|
||||
Index: chromium-128.0.6613.113/third_party/webrtc/rtc_base/system/arch.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/webrtc/rtc_base/system/arch.h
|
||||
+++ chromium-144.0.7559.59/third_party/webrtc/rtc_base/system/arch.h
|
||||
--- chromium-128.0.6613.113.orig/third_party/webrtc/rtc_base/system/arch.h
|
||||
+++ chromium-128.0.6613.113/third_party/webrtc/rtc_base/system/arch.h
|
||||
@@ -46,6 +46,18 @@
|
||||
#endif
|
||||
#if defined(__MIPSEL__)
|
||||
|
|
|
|||
11
Sandbox-linux-services-credentials.cc-PPC.patch
Normal file
11
Sandbox-linux-services-credentials.cc-PPC.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
--- a/sandbox/linux/services/credentials.cc
|
||||
+++ b/sandbox/linux/services/credentials.cc
|
||||
@@ -91,7 +91,7 @@ bool ChrootToSafeEmptyDir() {
|
||||
alignas(16) char stack_buf[PTHREAD_STACK_MIN];
|
||||
|
||||
#if defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARM_FAMILY) || \
|
||||
- defined(ARCH_CPU_MIPS_FAMILY)
|
||||
+ defined(ARCH_CPU_MIPS_FAMILY) || defined(ARCH_CPU_PPC64_FAMILY)
|
||||
// The stack grows downward.
|
||||
void* stack = stack_buf + sizeof(stack_buf);
|
||||
#else
|
||||
|
|
@ -1,8 +1,6 @@
|
|||
Index: chromium-144.0.7559.59/base/system/sys_info.cc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/base/system/sys_info.cc
|
||||
+++ chromium-144.0.7559.59/base/system/sys_info.cc
|
||||
@@ -263,6 +263,8 @@ std::string SysInfo::ProcessCPUArchitect
|
||||
--- a/base/system/sys_info.cc
|
||||
+++ b/base/system/sys_info.cc
|
||||
@@ -255,6 +255,8 @@
|
||||
return "ARM";
|
||||
#elif defined(ARCH_CPU_ARM64)
|
||||
return "ARM_64";
|
||||
|
|
|
|||
|
|
@ -1,26 +1,35 @@
|
|||
Index: chromium-144.0.7559.59/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
|
||||
Index: chromium-128.0.6613.113/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
|
||||
+++ chromium-144.0.7559.59/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
|
||||
@@ -383,6 +383,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatfo
|
||||
--- chromium-128.0.6613.113.orig/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
|
||||
+++ chromium-128.0.6613.113/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc
|
||||
@@ -303,6 +303,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatfo
|
||||
info->arch = extensions::api::runtime::PlatformArch::kMips;
|
||||
} else if (strcmp(arch, "mips64el") == 0) {
|
||||
info->arch = extensions::api::runtime::PlatformArch::kMips64;
|
||||
} else if (arch == "riscv64") {
|
||||
info->arch = extensions::api::runtime::PlatformArch::kRiscv64;
|
||||
+ } else if (arch == "ppc64") {
|
||||
+ } else if (strcmp(arch, "ppc64") == 0) {
|
||||
+ info->arch = extensions::api::runtime::PlatformArch::kPpc64;
|
||||
} else {
|
||||
NOTREACHED();
|
||||
}
|
||||
Index: chromium-144.0.7559.59/extensions/common/api/runtime.json
|
||||
NOTREACHED_IN_MIGRATION();
|
||||
return false;
|
||||
@@ -319,6 +321,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatfo
|
||||
info->nacl_arch = extensions::api::runtime::PlatformNaclArch::kMips;
|
||||
} else if (strcmp(nacl_arch, "mips64") == 0) {
|
||||
info->nacl_arch = extensions::api::runtime::PlatformNaclArch::kMips64;
|
||||
+ } else if (strcmp(nacl_arch, "ppc64") == 0) {
|
||||
+ info->nacl_arch = extensions::api::runtime::PlatformNaclArch::kPpc64;
|
||||
} else {
|
||||
NOTREACHED_IN_MIGRATION();
|
||||
return false;
|
||||
Index: chromium-128.0.6613.113/extensions/common/api/runtime.json
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/extensions/common/api/runtime.json
|
||||
+++ chromium-144.0.7559.59/extensions/common/api/runtime.json
|
||||
--- chromium-128.0.6613.113.orig/extensions/common/api/runtime.json
|
||||
+++ chromium-128.0.6613.113/extensions/common/api/runtime.json
|
||||
@@ -98,7 +98,8 @@
|
||||
{"name": "x86-32", "description": "Specifies the processer architecture as x86-32."},
|
||||
{"name": "x86-64", "description": "Specifies the processer architecture as x86-64."},
|
||||
{"name": "mips", "description": "Specifies the processer architecture as mips."},
|
||||
{"name": "mips64", "description": "Specifies the processer architecture as mips64."},
|
||||
- {"name": "riscv64", "description": "Specifies the processer architecture as riscv64."}
|
||||
+ {"name": "riscv64", "description": "Specifies the processer architecture as riscv64."},
|
||||
- {"name": "mips64", "description": "Specifies the processer architecture as mips64."}
|
||||
+ {"name": "mips64", "description": "Specifies the processer architecture as mips64."},
|
||||
+ {"name": "ppc64", "description": "Specifies the processer architecture as ppc64."}
|
||||
],
|
||||
"description": "The machine's processor architecture."
|
||||
|
|
|
|||
|
|
@ -1,9 +1,7 @@
|
|||
Index: chromium-144.0.7559.59/base/process/launch.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/base/process/launch.h
|
||||
+++ chromium-144.0.7559.59/base/process/launch.h
|
||||
@@ -58,6 +58,9 @@ enum TerminationStatus : int;
|
||||
#if defined(ARCH_CPU_ARM64) || defined(ARCH_CPU_LOONGARCH64)
|
||||
--- a/base/process/launch.h
|
||||
+++ b/base/process/launch.h
|
||||
@@ -54,6 +54,9 @@
|
||||
#if defined(ARCH_CPU_ARM64)
|
||||
#define PTHREAD_STACK_MIN_CONST \
|
||||
(__builtin_constant_p(PTHREAD_STACK_MIN) ? PTHREAD_STACK_MIN : 131072)
|
||||
+#elif defined(ARCH_CPU_PPC64)
|
||||
|
|
|
|||
13
cargo-add-ppc64.diff
Normal file
13
cargo-add-ppc64.diff
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
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" ||
|
||||
- current_cpu == "loong64" || current_cpu == "riscv64") {
|
||||
+ current_cpu == "loong64" || current_cpu == "riscv64" || current_cpu == "ppc64") {
|
||||
args += [
|
||||
"--pointer-width",
|
||||
"64",
|
||||
|
|
@ -1,16 +1,14 @@
|
|||
Fix FTBFS on EL9 due to old ffmpeg-5.x
|
||||
|
||||
diff -up chromium-142.0.7444.59/media/filters/legacy_audio_file_reader.cc.me chromium-142.0.7444.59/media/filters/legacy_audio_file_reader.cc
|
||||
--- chromium-142.0.7444.59/media/filters/legacy_audio_file_reader.cc.me 2025-11-02 08:20:16.949092776 +0100
|
||||
+++ chromium-142.0.7444.59/media/filters/legacy_audio_file_reader.cc 2025-11-02 08:22:01.331132435 +0100
|
||||
@@ -273,10 +273,10 @@ bool LegacyAudioFileReader::OnNewFrame(
|
||||
diff -up chromium-107.0.5304.121/media/filters/audio_file_reader.cc.me chromium-107.0.5304.121/media/filters/audio_file_reader.cc
|
||||
--- chromium-107.0.5304.121/media/filters/audio_file_reader.cc.me 2022-12-17 08:27:12.204753071 +0100
|
||||
+++ chromium-107.0.5304.121/media/filters/audio_file_reader.cc 2022-12-17 08:28:40.908211808 +0100
|
||||
@@ -243,10 +243,10 @@ bool AudioFileReader::OnNewFrame(
|
||||
// silence from being output. In the case where we are also discarding some
|
||||
// portion of the packet (as indicated by a negative pts), we further want to
|
||||
// adjust the duration downward by however much exists before zero.
|
||||
- if (audio_codec_ == AudioCodec::kAAC && frame->duration) {
|
||||
+ if (audio_codec_ == AudioCodec::kAAC && frame->pkt_duration) {
|
||||
const base::TimeDelta pkt_duration = ConvertFromTimeBase(
|
||||
UNSAFE_TODO(glue_->format_context()->streams[stream_index_])->time_base,
|
||||
glue_->format_context()->streams[stream_index_]->time_base,
|
||||
- frame->duration + std::min(static_cast<int64_t>(0), frame->pts));
|
||||
+ frame->pkt_duration + std::min(static_cast<int64_t>(0), frame->pts));
|
||||
const base::TimeDelta frame_duration =
|
||||
71
chromium-112-check-passthrough-command-decoder.patch
Normal file
71
chromium-112-check-passthrough-command-decoder.patch
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
From 041cb248e818823caaaabc67db92b16499d0416d Mon Sep 17 00:00:00 2001
|
||||
From: Vasiliy Telezhnikov <vasilyt@chromium.org>
|
||||
Date: Thu, 02 Feb 2023 15:42:28 +0000
|
||||
Subject: [PATCH] CHECK that passthrough command decoder is used on launched platforms
|
||||
|
||||
This CL adds enforces that validating command decoder is not used on
|
||||
platforms where passthrough is fully launched. We still allow to use it
|
||||
by tests on linux
|
||||
|
||||
Bug: 1406585
|
||||
Change-Id: Id6bc1d748fdf9c953dde76c8d4b5f59ddef60857
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4212134
|
||||
Reviewed-by: Kyle Charbonneau <kylechar@chromium.org>
|
||||
Commit-Queue: Vasiliy Telezhnikov <vasilyt@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1100440}
|
||||
---
|
||||
|
||||
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
||||
index eb710696..b22dffb 100644
|
||||
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
||||
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
||||
@@ -3447,7 +3447,13 @@
|
||||
outputter, group);
|
||||
}
|
||||
|
||||
+// Allow linux to run fuzzers.
|
||||
+#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX)
|
||||
return new GLES2DecoderImpl(client, command_buffer_service, outputter, group);
|
||||
+#else
|
||||
+ LOG(FATAL) << "Validating command decoder is not supported.";
|
||||
+ return nullptr;
|
||||
+#endif
|
||||
}
|
||||
|
||||
GLES2DecoderImpl::GLES2DecoderImpl(
|
||||
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
|
||||
index 40977d9b..50171e20 100644
|
||||
--- a/gpu/ipc/service/gpu_init.cc
|
||||
+++ b/gpu/ipc/service/gpu_init.cc
|
||||
@@ -510,8 +510,9 @@
|
||||
|
||||
auto impl = gl::GetGLImplementationParts();
|
||||
bool gl_disabled = impl == gl::kGLImplementationDisabled;
|
||||
- bool is_swangle = impl == gl::ANGLEImplementation::kSwiftShader;
|
||||
|
||||
+#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER)
|
||||
+ bool is_swangle = impl == gl::ANGLEImplementation::kSwiftShader;
|
||||
// Compute passthrough decoder status before ComputeGpuFeatureInfo below.
|
||||
// Do this after GL is initialized so extensions can be queried.
|
||||
// Using SwANGLE forces the passthrough command decoder.
|
||||
@@ -533,6 +534,20 @@
|
||||
}
|
||||
gpu_preferences_.use_passthrough_cmd_decoder =
|
||||
gpu_info_.passthrough_cmd_decoder;
|
||||
+#else
|
||||
+ // If gl is disabled passthrough/validating command decoder doesn't matter. If
|
||||
+ // it's not ensure that passthrough command decoder is supported as it's our
|
||||
+ // only option.
|
||||
+ if (!gl_disabled) {
|
||||
+ LOG_IF(FATAL, !gles2::PassthroughCommandDecoderSupported())
|
||||
+ << "Passthrough is not supported, GL is "
|
||||
+ << gl::GetGLImplementationGLName(gl::GetGLImplementationParts())
|
||||
+ << ", ANGLE is "
|
||||
+ << gl::GetGLImplementationANGLEName(gl::GetGLImplementationParts());
|
||||
+ gpu_info_.passthrough_cmd_decoder = true;
|
||||
+ gpu_preferences_.use_passthrough_cmd_decoder = true;
|
||||
+ }
|
||||
+#endif
|
||||
|
||||
// We need to collect GL strings (VENDOR, RENDERER) for blocklisting purposes.
|
||||
if (!gl_disabled) {
|
||||
21
chromium-112-enable-vaapi-ozone-wayland.patch
Normal file
21
chromium-112-enable-vaapi-ozone-wayland.patch
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
author Yaowei Zhou <yaowei.zhou@intel.com> Thu Feb 02 06:18:34 2023
|
||||
committer Yaowei Zhou <yaowei.zhou@intel.com> Thu Feb 02 06:18:34 2023
|
||||
tree 62a79c7f155fc32140d3aa4c4a6b01b8d7eddfcc
|
||||
parent 98e427b87ff8447180a60f20ee3792dcbd649481 [diff]
|
||||
Enable VA-API flag on ozone wayland
|
||||
|
||||
Bug: POC
|
||||
Change-Id: I09f696bfe3be82930161ce005152d1397b93f636
|
||||
diff --git a/ui/ozone/platform/wayland/ozone_platform_wayland.cc b/ui/ozone/platform/wayland/ozone_platform_wayland.cc
|
||||
index b3190c6b..4a2c3bb 100644
|
||||
--- a/ui/ozone/platform/wayland/ozone_platform_wayland.cc
|
||||
+++ b/ui/ozone/platform/wayland/ozone_platform_wayland.cc
|
||||
@@ -309,6 +309,8 @@
|
||||
properties->supports_global_screen_coordinates =
|
||||
features::IsWaylandScreenCoordinatesEnabled();
|
||||
|
||||
+ properties->supports_vaapi_x11 = true;
|
||||
+
|
||||
initialised = true;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,630 @@
|
|||
commit 7f0858c08dcef70ca26ce8527bbedfcc5c5218d3
|
||||
Author: Colin Blundell <blundell@chromium.org>
|
||||
Date: Thu Feb 23 14:19:33 2023 +0000
|
||||
|
||||
[Ozone] Invert layering of GLImageNativePixmap & NativePixmapEGLBinding
|
||||
|
||||
NativePixmapEGLBinding is currently a thin layer on top of
|
||||
GLImageNativePixmap. This CL inverts the layering so that
|
||||
GLImageNativePixmap instead sits on top of NativePixmapEGLBinding
|
||||
(via the public Ozone ImportNativePixmap() method, for which all
|
||||
implementations return NativePixmapEGLBinding). Note that this entails
|
||||
moving GLImageNativePixmap into //gpu, as //ui/gl cannot depend on
|
||||
//ozone/public.
|
||||
|
||||
This inversion means that
|
||||
(a) the SharedImage Ozone backing/representations no longer use GLImage
|
||||
(b) when we no longer need GLImageNativePixmap we can simply directly
|
||||
eliminate it.
|
||||
|
||||
Followup CLs will fold NativePixmapEGLBindingHelper into
|
||||
NativePixmapEGLBinding and make GLImageNativePixmap creation private
|
||||
with friending to ensure that no more usage of the deprecated class
|
||||
creeps in.
|
||||
|
||||
Bug: 1412692
|
||||
Change-Id: I5f01e9b1f616dd99b61cd203662d0d02d3da7b3e
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4262390
|
||||
Reviewed-by: Vasiliy Telezhnikov <vasilyt@chromium.org>
|
||||
Reviewed-by: ccameron chromium <ccameron@chromium.org>
|
||||
Reviewed-by: Andres Calderon Jaramillo <andrescj@chromium.org>
|
||||
Commit-Queue: Colin Blundell <blundell@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1108909}
|
||||
|
||||
diff --git a/gpu/command_buffer/service/BUILD.gn b/gpu/command_buffer/service/BUILD.gn
|
||||
index d08be597e3e5d..5ad724dd57bbb 100644
|
||||
--- a/gpu/command_buffer/service/BUILD.gn
|
||||
+++ b/gpu/command_buffer/service/BUILD.gn
|
||||
@@ -397,6 +397,8 @@ target(link_target_type, "gles2_sources") {
|
||||
|
||||
if (use_ozone) {
|
||||
sources += [
|
||||
+ "shared_image/gl_image_native_pixmap.cc",
|
||||
+ "shared_image/gl_image_native_pixmap.h",
|
||||
"shared_image/gl_ozone_image_representation.cc",
|
||||
"shared_image/gl_ozone_image_representation.h",
|
||||
"shared_image/ozone_image_backing.cc",
|
||||
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
||||
index e3f5b3c5721cf..a297347c19670 100644
|
||||
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
||||
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
||||
@@ -120,10 +120,10 @@
|
||||
#endif
|
||||
|
||||
#if BUILDFLAG(IS_OZONE)
|
||||
+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h"
|
||||
#include "ui/gfx/buffer_format_util.h"
|
||||
#include "ui/gfx/buffer_usage_util.h"
|
||||
#include "ui/gfx/native_pixmap.h"
|
||||
-#include "ui/gl/gl_image_native_pixmap.h"
|
||||
#include "ui/ozone/public/ozone_platform.h"
|
||||
#include "ui/ozone/public/surface_factory_ozone.h"
|
||||
#endif
|
||||
@@ -499,7 +499,7 @@ class BackTexture {
|
||||
#if BUILDFLAG(IS_OZONE)
|
||||
// The image that backs the texture, if its backed by a native
|
||||
// GpuMemoryBuffer.
|
||||
- scoped_refptr<gl::GLImageNativePixmap> image_;
|
||||
+ scoped_refptr<GLImageNativePixmap> image_;
|
||||
#endif
|
||||
};
|
||||
|
||||
@@ -2522,7 +2522,7 @@ class GLES2DecoderImpl : public GLES2Decoder,
|
||||
// Note: Creation of anonymous images is possible only on Ozone.
|
||||
#if BUILDFLAG(IS_OZONE)
|
||||
bool SupportsCreateAnonymousImage();
|
||||
- scoped_refptr<gl::GLImageNativePixmap> CreateAnonymousImage(
|
||||
+ scoped_refptr<GLImageNativePixmap> CreateAnonymousImage(
|
||||
const gfx::Size& size,
|
||||
gfx::BufferFormat format,
|
||||
bool* is_cleared,
|
||||
@@ -3242,7 +3242,7 @@ bool BackTexture::AllocateNativeGpuMemoryBuffer(const gfx::Size& size,
|
||||
// duplicate BGRX_8888.
|
||||
buffer_format = gfx::BufferFormat::BGRX_8888;
|
||||
}
|
||||
- scoped_refptr<gl::GLImageNativePixmap> image = decoder_->CreateAnonymousImage(
|
||||
+ scoped_refptr<GLImageNativePixmap> image = decoder_->CreateAnonymousImage(
|
||||
size, buffer_format, &is_cleared, Target(), id());
|
||||
if (!image)
|
||||
return false;
|
||||
@@ -19592,7 +19592,7 @@ bool GLES2DecoderImpl::SupportsCreateAnonymousImage() {
|
||||
.supports_native_pixmaps;
|
||||
}
|
||||
|
||||
-scoped_refptr<gl::GLImageNativePixmap> GLES2DecoderImpl::CreateAnonymousImage(
|
||||
+scoped_refptr<GLImageNativePixmap> GLES2DecoderImpl::CreateAnonymousImage(
|
||||
const gfx::Size& size,
|
||||
gfx::BufferFormat format,
|
||||
bool* is_cleared,
|
||||
@@ -19612,8 +19612,8 @@ scoped_refptr<gl::GLImageNativePixmap> GLES2DecoderImpl::CreateAnonymousImage(
|
||||
<< gfx::BufferUsageToString(usage);
|
||||
return nullptr;
|
||||
}
|
||||
- auto image = gl::GLImageNativePixmap::Create(size, format, std::move(pixmap),
|
||||
- target, texture_id);
|
||||
+ auto image = GLImageNativePixmap::Create(size, format, std::move(pixmap),
|
||||
+ target, texture_id);
|
||||
if (!image) {
|
||||
LOG(ERROR) << "Failed to create GLImage " << size.ToString() << ", "
|
||||
<< gfx::BufferFormatToString(format) << ", usage "
|
||||
diff --git a/ui/gl/gl_image_native_pixmap.cc b/gpu/command_buffer/service/shared_image/gl_image_native_pixmap.cc
|
||||
similarity index 73%
|
||||
rename from ui/gl/gl_image_native_pixmap.cc
|
||||
rename to gpu/command_buffer/service/shared_image/gl_image_native_pixmap.cc
|
||||
index 6cbe7be2899de..d9101fbda893b 100644
|
||||
--- a/ui/gl/gl_image_native_pixmap.cc
|
||||
+++ b/gpu/command_buffer/service/shared_image/gl_image_native_pixmap.cc
|
||||
@@ -2,9 +2,13 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
-#include "ui/gl/gl_image_native_pixmap.h"
|
||||
+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h"
|
||||
|
||||
-namespace gl {
|
||||
+#include "ui/ozone/public/native_pixmap_gl_binding.h"
|
||||
+#include "ui/ozone/public/ozone_platform.h"
|
||||
+#include "ui/ozone/public/surface_factory_ozone.h"
|
||||
+
|
||||
+namespace gpu {
|
||||
|
||||
scoped_refptr<GLImageNativePixmap> GLImageNativePixmap::Create(
|
||||
const gfx::Size& size,
|
||||
@@ -47,18 +51,18 @@ bool GLImageNativePixmap::InitializeFromNativePixmap(
|
||||
const gfx::ColorSpace& color_space,
|
||||
GLenum target,
|
||||
GLuint texture_id) {
|
||||
- binding_helper_ = NativePixmapEGLBindingHelper::CreateForPlane(
|
||||
- size_, format, plane, std::move(pixmap), color_space, target, texture_id);
|
||||
+ pixmap_gl_binding_ =
|
||||
+ ui::OzonePlatform::GetInstance()
|
||||
+ ->GetSurfaceFactoryOzone()
|
||||
+ ->GetCurrentGLOzone()
|
||||
+ ->ImportNativePixmap(std::move(pixmap), format, plane, size_,
|
||||
+ color_space, target, texture_id);
|
||||
|
||||
- return !!binding_helper_;
|
||||
+ return !!pixmap_gl_binding_;
|
||||
}
|
||||
|
||||
gfx::Size GLImageNativePixmap::GetSize() {
|
||||
return size_;
|
||||
}
|
||||
|
||||
-unsigned GLImageNativePixmap::GetInternalFormat() {
|
||||
- return binding_helper_->GetInternalFormat();
|
||||
-}
|
||||
-
|
||||
-} // namespace gl
|
||||
+} // namespace gpu
|
||||
diff --git a/ui/gl/gl_image_native_pixmap.h b/gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h
|
||||
similarity index 72%
|
||||
rename from ui/gl/gl_image_native_pixmap.h
|
||||
rename to gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h
|
||||
index 5ff5e91b3ec18..4087360b04b45 100644
|
||||
--- a/ui/gl/gl_image_native_pixmap.h
|
||||
+++ b/gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h
|
||||
@@ -2,21 +2,24 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
-#ifndef UI_GL_GL_IMAGE_NATIVE_PIXMAP_H_
|
||||
-#define UI_GL_GL_IMAGE_NATIVE_PIXMAP_H_
|
||||
+#ifndef GPU_COMMAND_BUFFER_SERVICE_SHARED_IMAGE_GL_IMAGE_NATIVE_PIXMAP_H_
|
||||
+#define GPU_COMMAND_BUFFER_SERVICE_SHARED_IMAGE_GL_IMAGE_NATIVE_PIXMAP_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
+#include "gpu/gpu_gles2_export.h"
|
||||
#include "ui/gfx/color_space.h"
|
||||
#include "ui/gfx/native_pixmap.h"
|
||||
#include "ui/gl/gl_bindings.h"
|
||||
-#include "ui/gl/gl_export.h"
|
||||
#include "ui/gl/gl_image.h"
|
||||
-#include "ui/gl/native_pixmap_egl_binding_helper.h"
|
||||
|
||||
-namespace gl {
|
||||
+namespace ui {
|
||||
+class NativePixmapGLBinding;
|
||||
+}
|
||||
|
||||
-class GL_EXPORT GLImageNativePixmap : public GLImage {
|
||||
+namespace gpu {
|
||||
+
|
||||
+class GPU_GLES2_EXPORT GLImageNativePixmap : public gl::GLImage {
|
||||
public:
|
||||
// Create an EGLImage from a given NativePixmap and bind |texture_id| to
|
||||
// |target| following by binding the image to |target|.
|
||||
@@ -41,22 +44,15 @@ class GL_EXPORT GLImageNativePixmap : public GLImage {
|
||||
GLenum target,
|
||||
GLuint texture_id);
|
||||
|
||||
- // Get the GL internal format of the image.
|
||||
- // It is aligned with glTexImage{2|3}D's parameter |internalformat|.
|
||||
- unsigned GetInternalFormat();
|
||||
-
|
||||
// Overridden from GLImage:
|
||||
gfx::Size GetSize() override;
|
||||
|
||||
- protected:
|
||||
- ~GLImageNativePixmap() override;
|
||||
-
|
||||
private:
|
||||
explicit GLImageNativePixmap(const gfx::Size& size);
|
||||
+ ~GLImageNativePixmap() override;
|
||||
|
||||
- // Create an EGLImage from a given NativePixmap and bind |texture_id| to
|
||||
- // |target| followed by binding the image to |target|. This EGLImage can be
|
||||
- // converted to a GL texture.
|
||||
+ // Create a NativePixmapGLBinding from a given NativePixmap. Returns true iff
|
||||
+ // the binding was successfully created.
|
||||
bool InitializeFromNativePixmap(gfx::BufferFormat format,
|
||||
gfx::BufferPlane plane,
|
||||
scoped_refptr<gfx::NativePixmap> pixmap,
|
||||
@@ -64,10 +60,10 @@ class GL_EXPORT GLImageNativePixmap : public GLImage {
|
||||
GLenum target,
|
||||
GLuint texture_id);
|
||||
|
||||
- std::unique_ptr<NativePixmapEGLBindingHelper> binding_helper_;
|
||||
+ std::unique_ptr<ui::NativePixmapGLBinding> pixmap_gl_binding_;
|
||||
const gfx::Size size_;
|
||||
};
|
||||
|
||||
-} // namespace gl
|
||||
+} // namespace gpu
|
||||
|
||||
-#endif // UI_GL_GL_IMAGE_NATIVE_PIXMAP_H_
|
||||
+#endif // GPU_COMMAND_BUFFER_SERVICE_SHARED_IMAGE_GL_IMAGE_NATIVE_PIXMAP_H_
|
||||
diff --git a/gpu/command_buffer/service/shared_image/gl_ozone_image_representation.h b/gpu/command_buffer/service/shared_image/gl_ozone_image_representation.h
|
||||
index 31723894088e1..ade337bde9966 100644
|
||||
--- a/gpu/command_buffer/service/shared_image/gl_ozone_image_representation.h
|
||||
+++ b/gpu/command_buffer/service/shared_image/gl_ozone_image_representation.h
|
||||
@@ -14,7 +14,6 @@
|
||||
#include "gpu/command_buffer/service/shared_image/shared_image_representation.h"
|
||||
#include "gpu/command_buffer/service/texture_manager.h"
|
||||
#include "ui/gfx/native_pixmap.h"
|
||||
-#include "ui/gl/gl_image_native_pixmap.h"
|
||||
#include "ui/ozone/public/native_pixmap_gl_binding.h"
|
||||
|
||||
namespace gpu {
|
||||
diff --git a/gpu/command_buffer/service/shared_image/ozone_image_backing.cc b/gpu/command_buffer/service/shared_image/ozone_image_backing.cc
|
||||
index 8d4a7d9306eb1..7a652ae425c0e 100644
|
||||
--- a/gpu/command_buffer/service/shared_image/ozone_image_backing.cc
|
||||
+++ b/gpu/command_buffer/service/shared_image/ozone_image_backing.cc
|
||||
@@ -36,7 +36,6 @@
|
||||
#include "ui/gfx/native_pixmap.h"
|
||||
#include "ui/gfx/native_widget_types.h"
|
||||
#include "ui/gl/buildflags.h"
|
||||
-#include "ui/gl/gl_image_native_pixmap.h"
|
||||
|
||||
#if BUILDFLAG(ENABLE_VULKAN)
|
||||
#include "gpu/command_buffer/service/shared_image/skia_vk_ozone_image_representation.h"
|
||||
diff --git a/media/gpu/v4l2/BUILD.gn b/media/gpu/v4l2/BUILD.gn
|
||||
index 12e6b66cf7b89..ff7b5a1a50a38 100644
|
||||
--- a/media/gpu/v4l2/BUILD.gn
|
||||
+++ b/media/gpu/v4l2/BUILD.gn
|
||||
@@ -98,6 +98,7 @@ source_set("v4l2") {
|
||||
":libv4l2_stubs",
|
||||
":v4l2_status",
|
||||
"//base",
|
||||
+ "//gpu/command_buffer/service:gles2",
|
||||
"//gpu/ipc/common",
|
||||
"//gpu/ipc/service",
|
||||
"//media",
|
||||
diff --git a/media/gpu/v4l2/generic_v4l2_device.cc b/media/gpu/v4l2/generic_v4l2_device.cc
|
||||
index bdbb256ed578c..337ec0e7b372b 100644
|
||||
--- a/media/gpu/v4l2/generic_v4l2_device.cc
|
||||
+++ b/media/gpu/v4l2/generic_v4l2_device.cc
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "base/strings/stringprintf.h"
|
||||
#include "base/trace_event/trace_event.h"
|
||||
#include "build/build_config.h"
|
||||
+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h"
|
||||
#include "media/base/video_types.h"
|
||||
#include "media/gpu/buildflags.h"
|
||||
#include "media/gpu/chromeos/fourcc.h"
|
||||
@@ -32,7 +33,6 @@
|
||||
#include "ui/gfx/native_pixmap_handle.h"
|
||||
#include "ui/gl/egl_util.h"
|
||||
#include "ui/gl/gl_bindings.h"
|
||||
-#include "ui/gl/gl_image_native_pixmap.h"
|
||||
#include "ui/ozone/public/ozone_platform.h"
|
||||
#include "ui/ozone/public/surface_factory_ozone.h"
|
||||
|
||||
@@ -281,7 +281,7 @@ EGLImageKHR GenericV4L2Device::CreateEGLImage(
|
||||
return egl_image;
|
||||
}
|
||||
|
||||
-scoped_refptr<gl::GLImageNativePixmap> GenericV4L2Device::CreateGLImage(
|
||||
+scoped_refptr<gpu::GLImageNativePixmap> GenericV4L2Device::CreateGLImage(
|
||||
const gfx::Size& size,
|
||||
const Fourcc fourcc,
|
||||
gfx::NativePixmapHandle handle,
|
||||
@@ -317,7 +317,7 @@ scoped_refptr<gl::GLImageNativePixmap> GenericV4L2Device::CreateGLImage(
|
||||
DCHECK(pixmap);
|
||||
|
||||
// TODO(b/220336463): plumb the right color space.
|
||||
- auto image = gl::GLImageNativePixmap::Create(
|
||||
+ auto image = gpu::GLImageNativePixmap::Create(
|
||||
size, buffer_format, std::move(pixmap), target, texture_id);
|
||||
DCHECK(image);
|
||||
return image;
|
||||
diff --git a/media/gpu/v4l2/generic_v4l2_device.h b/media/gpu/v4l2/generic_v4l2_device.h
|
||||
index bb9ce391c15bd..fd84aee27097e 100644
|
||||
--- a/media/gpu/v4l2/generic_v4l2_device.h
|
||||
+++ b/media/gpu/v4l2/generic_v4l2_device.h
|
||||
@@ -55,7 +55,7 @@ class GenericV4L2Device : public V4L2Device {
|
||||
const Fourcc fourcc,
|
||||
gfx::NativePixmapHandle handle) const override;
|
||||
|
||||
- scoped_refptr<gl::GLImageNativePixmap> CreateGLImage(
|
||||
+ scoped_refptr<gpu::GLImageNativePixmap> CreateGLImage(
|
||||
const gfx::Size& size,
|
||||
const Fourcc fourcc,
|
||||
gfx::NativePixmapHandle handle,
|
||||
diff --git a/media/gpu/v4l2/v4l2_device.h b/media/gpu/v4l2/v4l2_device.h
|
||||
index bdc39bf65ae38..ee74cbcd39957 100644
|
||||
--- a/media/gpu/v4l2/v4l2_device.h
|
||||
+++ b/media/gpu/v4l2/v4l2_device.h
|
||||
@@ -28,6 +28,7 @@
|
||||
#include "base/files/scoped_file.h"
|
||||
#include "base/memory/ref_counted.h"
|
||||
#include "base/sequence_checker.h"
|
||||
+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h"
|
||||
#include "media/base/video_codecs.h"
|
||||
#include "media/base/video_decoder_config.h"
|
||||
#include "media/base/video_frame.h"
|
||||
@@ -42,7 +43,6 @@
|
||||
#include "ui/gfx/geometry/size.h"
|
||||
#include "ui/gfx/native_pixmap_handle.h"
|
||||
#include "ui/gl/gl_bindings.h"
|
||||
-#include "ui/gl/gl_image_native_pixmap.h"
|
||||
|
||||
// TODO(mojahsu): remove this once V4L2 headers are updated.
|
||||
#ifndef V4L2_PIX_FMT_JPEG_RAW
|
||||
@@ -777,7 +777,7 @@ class MEDIA_GPU_EXPORT V4L2Device
|
||||
|
||||
// Create a GLImageNativePixmap from provided |handle|, taking full ownership
|
||||
// of it.
|
||||
- virtual scoped_refptr<gl::GLImageNativePixmap> CreateGLImage(
|
||||
+ virtual scoped_refptr<gpu::GLImageNativePixmap> CreateGLImage(
|
||||
const gfx::Size& size,
|
||||
const Fourcc fourcc,
|
||||
gfx::NativePixmapHandle handle,
|
||||
diff --git a/media/gpu/v4l2/v4l2_slice_video_decode_accelerator.cc b/media/gpu/v4l2/v4l2_slice_video_decode_accelerator.cc
|
||||
index a51acedc105b7..78cc605e986e6 100644
|
||||
--- a/media/gpu/v4l2/v4l2_slice_video_decode_accelerator.cc
|
||||
+++ b/media/gpu/v4l2/v4l2_slice_video_decode_accelerator.cc
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "base/time/time.h"
|
||||
#include "base/trace_event/memory_dump_manager.h"
|
||||
#include "base/trace_event/trace_event.h"
|
||||
+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h"
|
||||
#include "media/base/bind_to_current_loop.h"
|
||||
#include "media/base/media_switches.h"
|
||||
#include "media/base/scopedfd_helper.h"
|
||||
@@ -49,7 +50,6 @@
|
||||
#include "ui/gl/gl_bindings.h"
|
||||
#include "ui/gl/gl_context.h"
|
||||
#include "ui/gl/gl_display.h"
|
||||
-#include "ui/gl/gl_image_native_pixmap.h"
|
||||
#include "ui/gl/gl_surface_egl.h"
|
||||
#include "ui/gl/scoped_binders.h"
|
||||
|
||||
@@ -1444,7 +1444,7 @@ void V4L2SliceVideoDecodeAccelerator::CreateGLImageFor(
|
||||
return;
|
||||
}
|
||||
|
||||
- scoped_refptr<gl::GLImageNativePixmap> gl_image =
|
||||
+ scoped_refptr<gpu::GLImageNativePixmap> gl_image =
|
||||
gl_device->CreateGLImage(visible_size, fourcc, std::move(handle),
|
||||
gl_device->GetTextureTarget(), texture_id);
|
||||
if (!gl_image) {
|
||||
diff --git a/media/gpu/vaapi/BUILD.gn b/media/gpu/vaapi/BUILD.gn
|
||||
index 1ecf8854d02e7..7687384553806 100644
|
||||
--- a/media/gpu/vaapi/BUILD.gn
|
||||
+++ b/media/gpu/vaapi/BUILD.gn
|
||||
@@ -96,6 +96,7 @@ source_set("vaapi") {
|
||||
":vaapi_status",
|
||||
"//base",
|
||||
"//build:chromeos_buildflags",
|
||||
+ "//gpu/command_buffer/service:gles2",
|
||||
"//gpu/config",
|
||||
"//gpu/ipc/common",
|
||||
"//gpu/ipc/service",
|
||||
diff --git a/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc b/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc
|
||||
index 06617ffec8e5a..626dda6312213 100644
|
||||
--- a/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc
|
||||
+++ b/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h"
|
||||
|
||||
+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h"
|
||||
#include "media/base/format_utils.h"
|
||||
#include "media/gpu/buffer_validation.h"
|
||||
#include "media/gpu/chromeos/platform_video_frame_utils.h"
|
||||
@@ -15,7 +16,6 @@
|
||||
#include "ui/gfx/linux/native_pixmap_dmabuf.h"
|
||||
#include "ui/gfx/native_pixmap.h"
|
||||
#include "ui/gl/gl_bindings.h"
|
||||
-#include "ui/gl/gl_image_native_pixmap.h"
|
||||
#include "ui/gl/scoped_binders.h"
|
||||
#include "ui/ozone/public/ozone_platform.h"
|
||||
#include "ui/ozone/public/surface_factory_ozone.h"
|
||||
@@ -87,7 +87,7 @@ VaapiStatus VaapiPictureNativePixmapOzone::Initialize(
|
||||
const gfx::BufferFormat format = pixmap->GetBufferFormat();
|
||||
|
||||
// TODO(b/220336463): plumb the right color space.
|
||||
- auto image = gl::GLImageNativePixmap::Create(
|
||||
+ auto image = gpu::GLImageNativePixmap::Create(
|
||||
visible_size_, format, std::move(pixmap),
|
||||
base::strict_cast<GLenum>(texture_target_),
|
||||
base::strict_cast<GLuint>(texture_id_));
|
||||
diff --git a/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h b/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h
|
||||
index 101728f36c1e1..eaced9a8ccadf 100644
|
||||
--- a/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h
|
||||
+++ b/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h
|
||||
@@ -17,7 +17,7 @@ namespace gfx {
|
||||
class NativePixmap;
|
||||
} // namespace gfx
|
||||
|
||||
-namespace gl {
|
||||
+namespace gpu {
|
||||
class GLImageNativePixmap;
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ class VaapiPictureNativePixmapOzone : public VaapiPictureNativePixmap {
|
||||
VaapiStatus Initialize(scoped_refptr<gfx::NativePixmap> pixmap);
|
||||
|
||||
// GLImage bound to the GL textures used by the VDA client.
|
||||
- scoped_refptr<gl::GLImageNativePixmap> gl_image_;
|
||||
+ scoped_refptr<gpu::GLImageNativePixmap> gl_image_;
|
||||
};
|
||||
|
||||
} // namespace media
|
||||
diff --git a/ui/gfx/linux/native_pixmap_dmabuf.h b/ui/gfx/linux/native_pixmap_dmabuf.h
|
||||
index 7f134110417ea..f12d4f5eac89d 100644
|
||||
--- a/ui/gfx/linux/native_pixmap_dmabuf.h
|
||||
+++ b/ui/gfx/linux/native_pixmap_dmabuf.h
|
||||
@@ -17,7 +17,7 @@
|
||||
namespace gfx {
|
||||
|
||||
// This class converts a gfx::NativePixmapHandle to a gfx::NativePixmap.
|
||||
-// It is useful because gl::GLImageNativePixmap::Initialize only takes
|
||||
+// It is useful because gpu::GLImageNativePixmap::Initialize only takes
|
||||
// a gfx::NativePixmap as input.
|
||||
class GFX_EXPORT NativePixmapDmaBuf : public gfx::NativePixmap {
|
||||
public:
|
||||
diff --git a/ui/gl/BUILD.gn b/ui/gl/BUILD.gn
|
||||
index cc23c0a8b4c64..2a07859c4dad8 100644
|
||||
--- a/ui/gl/BUILD.gn
|
||||
+++ b/ui/gl/BUILD.gn
|
||||
@@ -226,8 +226,6 @@ component("gl") {
|
||||
|
||||
if (is_linux || is_chromeos || use_ozone) {
|
||||
sources += [
|
||||
- "gl_image_native_pixmap.cc",
|
||||
- "gl_image_native_pixmap.h",
|
||||
"native_pixmap_egl_binding_helper.cc",
|
||||
"native_pixmap_egl_binding_helper.h",
|
||||
]
|
||||
diff --git a/ui/ozone/common/native_pixmap_egl_binding.cc b/ui/ozone/common/native_pixmap_egl_binding.cc
|
||||
index 8dce01a41281e..2e18e73eb6cbb 100644
|
||||
--- a/ui/ozone/common/native_pixmap_egl_binding.cc
|
||||
+++ b/ui/ozone/common/native_pixmap_egl_binding.cc
|
||||
@@ -8,7 +8,7 @@
|
||||
#include "base/memory/scoped_refptr.h"
|
||||
#include "base/notreached.h"
|
||||
#include "ui/gl/gl_bindings.h"
|
||||
-#include "ui/gl/gl_image_native_pixmap.h"
|
||||
+#include "ui/gl/native_pixmap_egl_binding_helper.h"
|
||||
|
||||
namespace ui {
|
||||
|
||||
@@ -50,9 +50,9 @@ unsigned BufferFormatToGLDataType(gfx::BufferFormat format) {
|
||||
} // namespace
|
||||
|
||||
NativePixmapEGLBinding::NativePixmapEGLBinding(
|
||||
- scoped_refptr<gl::GLImageNativePixmap> gl_image,
|
||||
+ std::unique_ptr<gl::NativePixmapEGLBindingHelper> binding_helper,
|
||||
gfx::BufferFormat format)
|
||||
- : gl_image_(std::move(gl_image)), format_(format) {}
|
||||
+ : binding_helper_(std::move(binding_helper)), format_(format) {}
|
||||
NativePixmapEGLBinding::~NativePixmapEGLBinding() = default;
|
||||
|
||||
// static
|
||||
@@ -64,22 +64,22 @@ std::unique_ptr<NativePixmapGLBinding> NativePixmapEGLBinding::Create(
|
||||
const gfx::ColorSpace& color_space,
|
||||
GLenum target,
|
||||
GLuint texture_id) {
|
||||
- auto gl_image = gl::GLImageNativePixmap::CreateForPlane(
|
||||
+ auto binding_helper = gl::NativePixmapEGLBindingHelper::CreateForPlane(
|
||||
plane_size, plane_format, plane, std::move(pixmap), color_space, target,
|
||||
texture_id);
|
||||
- if (!gl_image) {
|
||||
- LOG(ERROR) << "Unable to initialize GL image from pixmap";
|
||||
+ if (!binding_helper) {
|
||||
+ LOG(ERROR) << "Unable to initialize binding from pixmap";
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
- auto binding = std::make_unique<NativePixmapEGLBinding>(std::move(gl_image),
|
||||
- plane_format);
|
||||
+ auto binding = std::make_unique<NativePixmapEGLBinding>(
|
||||
+ std::move(binding_helper), plane_format);
|
||||
|
||||
return binding;
|
||||
}
|
||||
|
||||
GLuint NativePixmapEGLBinding::GetInternalFormat() {
|
||||
- return gl_image_->GetInternalFormat();
|
||||
+ return binding_helper_->GetInternalFormat();
|
||||
}
|
||||
|
||||
GLenum NativePixmapEGLBinding::GetDataType() {
|
||||
diff --git a/ui/ozone/common/native_pixmap_egl_binding.h b/ui/ozone/common/native_pixmap_egl_binding.h
|
||||
index 44d68be3527a4..c0382b1068426 100644
|
||||
--- a/ui/ozone/common/native_pixmap_egl_binding.h
|
||||
+++ b/ui/ozone/common/native_pixmap_egl_binding.h
|
||||
@@ -15,16 +15,17 @@ class ColorSpace;
|
||||
}
|
||||
|
||||
namespace gl {
|
||||
-class GLImageNativePixmap;
|
||||
+class NativePixmapEGLBindingHelper;
|
||||
}
|
||||
|
||||
namespace ui {
|
||||
|
||||
-// A binding maintained between GLImageNativePixmap and GL Textures in Ozone.
|
||||
+// A binding maintained between NativePixmap and GL Textures in Ozone.
|
||||
class NativePixmapEGLBinding : public NativePixmapGLBinding {
|
||||
public:
|
||||
- NativePixmapEGLBinding(scoped_refptr<gl::GLImageNativePixmap> gl_image,
|
||||
- gfx::BufferFormat format);
|
||||
+ NativePixmapEGLBinding(
|
||||
+ std::unique_ptr<gl::NativePixmapEGLBindingHelper> binding_helper,
|
||||
+ gfx::BufferFormat format);
|
||||
~NativePixmapEGLBinding() override;
|
||||
|
||||
static std::unique_ptr<NativePixmapGLBinding> Create(
|
||||
@@ -41,10 +42,7 @@ class NativePixmapEGLBinding : public NativePixmapGLBinding {
|
||||
GLenum GetDataType() override;
|
||||
|
||||
private:
|
||||
- // TODO(hitawala): Merge BindTexImage, Initialize from GLImage and its
|
||||
- // subclass NativePixmap to NativePixmapEGLBinding once we stop using them
|
||||
- // elsewhere eg. VDA decoders in media.
|
||||
- scoped_refptr<gl::GLImageNativePixmap> gl_image_;
|
||||
+ std::unique_ptr<gl::NativePixmapEGLBindingHelper> binding_helper_;
|
||||
|
||||
gfx::BufferFormat format_;
|
||||
};
|
||||
diff --git a/ui/ozone/gl/BUILD.gn b/ui/ozone/gl/BUILD.gn
|
||||
index 4fc90f0471362..6064eb6f83a8c 100644
|
||||
--- a/ui/ozone/gl/BUILD.gn
|
||||
+++ b/ui/ozone/gl/BUILD.gn
|
||||
@@ -9,6 +9,14 @@ test("ozone_gl_unittests") {
|
||||
|
||||
deps = [
|
||||
"//base/test:test_support",
|
||||
+
|
||||
+ # NOTE: The above tests of gpu::GLImageNativePixmap cannot easily be made
|
||||
+ # to run as part of //gpu's gl_tests or gpu_unittests: they crash when run
|
||||
+ # with the former due to differences in GL configuration, and they are
|
||||
+ # skipped when run with the latter due to differences in Ozone
|
||||
+ # configuration. Simply leave them here with this dependency for the short
|
||||
+ # time remaining until GLImageNativePixmap is eliminated altogether.
|
||||
+ "//gpu/command_buffer/service:gles2",
|
||||
"//testing/gtest",
|
||||
"//ui/gfx",
|
||||
"//ui/gl:run_all_unittests",
|
||||
diff --git a/ui/ozone/gl/DEPS b/ui/ozone/gl/DEPS
|
||||
new file mode 100644
|
||||
index 0000000000000..e6142e85d2154
|
||||
--- /dev/null
|
||||
+++ b/ui/ozone/gl/DEPS
|
||||
@@ -0,0 +1,6 @@
|
||||
+specific_include_rules = {
|
||||
+ # NOTE: See comment in ./BUILD.gn with respect to this dependency.
|
||||
+ "gl_image_ozone_native_pixmap_unittest\.cc": [
|
||||
+ "+gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h",
|
||||
+ ],
|
||||
+}
|
||||
diff --git a/ui/ozone/gl/gl_image_ozone_native_pixmap_unittest.cc b/ui/ozone/gl/gl_image_ozone_native_pixmap_unittest.cc
|
||||
index 9a538903c8ff0..1527df91a3238 100644
|
||||
--- a/ui/ozone/gl/gl_image_ozone_native_pixmap_unittest.cc
|
||||
+++ b/ui/ozone/gl/gl_image_ozone_native_pixmap_unittest.cc
|
||||
@@ -5,10 +5,10 @@
|
||||
#include <stdint.h>
|
||||
#include <memory>
|
||||
|
||||
+#include "gpu/command_buffer/service/shared_image/gl_image_native_pixmap.h"
|
||||
#include "testing/gtest/include/gtest/gtest.h"
|
||||
#include "ui/gfx/buffer_types.h"
|
||||
#include "ui/gfx/client_native_pixmap.h"
|
||||
-#include "ui/gl/gl_image_native_pixmap.h"
|
||||
#include "ui/gl/test/gl_image_test_template.h"
|
||||
#include "ui/ozone/public/client_native_pixmap_factory_ozone.h"
|
||||
#include "ui/ozone/public/ozone_platform.h"
|
||||
@@ -83,7 +83,7 @@ class GLImageNativePixmapTestDelegate : public GLImageTestDelegateBase {
|
||||
glGenTextures(1, &texture_id_);
|
||||
}
|
||||
|
||||
- auto image = gl::GLImageNativePixmap::Create(
|
||||
+ auto image = gpu::GLImageNativePixmap::Create(
|
||||
size, format, std::move(pixmap), GetTextureTarget(), texture_id_);
|
||||
EXPECT_TRUE(image);
|
||||
return image;
|
||||
@@ -100,8 +100,9 @@ class GLImageNativePixmapTestDelegate : public GLImageTestDelegateBase {
|
||||
format == gfx::BufferFormat::YUV_420_BIPLANAR) {
|
||||
return 1;
|
||||
}
|
||||
- if (format == gfx::BufferFormat::P010)
|
||||
+ if (format == gfx::BufferFormat::P010) {
|
||||
return 3;
|
||||
+ }
|
||||
return 0;
|
||||
}
|
||||
|
||||
625
chromium-112-ozone-wayland-vaapi-support.patch
Normal file
625
chromium-112-ozone-wayland-vaapi-support.patch
Normal file
|
|
@ -0,0 +1,625 @@
|
|||
diff -up chromium-112.0.5615.49/media/gpu/args.gni.wayland-vaapi chromium-112.0.5615.49/media/gpu/args.gni
|
||||
--- chromium-112.0.5615.49/media/gpu/args.gni.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200
|
||||
+++ chromium-112.0.5615.49/media/gpu/args.gni 2023-04-14 21:29:41.776328044 +0200
|
||||
@@ -6,10 +6,14 @@ import("//build/config/chromeos/ui_mode.
|
||||
import("//build/config/ozone.gni")
|
||||
|
||||
declare_args() {
|
||||
- # Indicates if X11 VA-API-based hardware acceleration is to be used.
|
||||
- # See also the comment near the |use_vaapi| arg.
|
||||
- use_vaapi_x11 = is_linux && ozone_platform_x11 &&
|
||||
- (target_cpu == "x86" || target_cpu == "x64") && !is_castos
|
||||
+ # Build Chrome support for using VA-API over X11. Note that setting this to true is
|
||||
+ # not a guarantee that Chrome will use (or even try to use) VA-API over X11. In
|
||||
+ # particular, it is possible to build Chrome with support for VA-API over X11 but
|
||||
+ # pick Wayland as the Ozone backend at runtime. In this case, Chrome will try to
|
||||
+ # use VA-API over DRM.
|
||||
+ support_vaapi_over_x11 =
|
||||
+ is_linux && ozone_platform_x11 &&
|
||||
+ (target_cpu == "x86" || target_cpu == "x64") && !is_castos
|
||||
}
|
||||
|
||||
declare_args() {
|
||||
@@ -29,8 +33,9 @@ declare_args() {
|
||||
# is typically the case on x86-based ChromeOS devices.
|
||||
# VA-API should also be compiled by default on x11-using linux devices
|
||||
# using x86/x64.
|
||||
- use_vaapi = use_vaapi_x11 || (is_chromeos_lacros &&
|
||||
- (target_cpu == "x86" || target_cpu == "x64"))
|
||||
+ use_vaapi =
|
||||
+ support_vaapi_over_x11 ||
|
||||
+ (is_chromeos_lacros && (target_cpu == "x86" || target_cpu == "x64"))
|
||||
|
||||
# Indicates if ChromeOS protected media support exists. This is used
|
||||
# to enable the CDM daemon in Chrome OS as well as support for
|
||||
diff -up chromium-112.0.5615.49/media/gpu/BUILD.gn.wayland-vaapi chromium-112.0.5615.49/media/gpu/BUILD.gn
|
||||
--- chromium-112.0.5615.49/media/gpu/BUILD.gn.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200
|
||||
+++ chromium-112.0.5615.49/media/gpu/BUILD.gn 2023-04-14 21:29:41.776328044 +0200
|
||||
@@ -20,7 +20,7 @@ buildflag_header("buildflags") {
|
||||
"USE_VAAPI_IMAGE_CODECS=$use_vaapi_image_codecs",
|
||||
"USE_V4L2_CODEC=$use_v4l2_codec",
|
||||
"USE_LIBV4L2=$use_v4lplugin",
|
||||
- "USE_VAAPI_X11=$use_vaapi_x11",
|
||||
+ "SUPPORT_VAAPI_OVER_X11=$support_vaapi_over_x11",
|
||||
]
|
||||
}
|
||||
|
||||
diff -up chromium-112.0.5615.49/media/gpu/vaapi/BUILD.gn.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/BUILD.gn
|
||||
--- chromium-112.0.5615.49/media/gpu/vaapi/BUILD.gn.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200
|
||||
+++ chromium-112.0.5615.49/media/gpu/vaapi/BUILD.gn 2023-04-14 21:29:41.776328044 +0200
|
||||
@@ -17,7 +17,7 @@ assert(use_vaapi)
|
||||
generate_stubs("libva_stubs") {
|
||||
extra_header = "va_stub_header.fragment"
|
||||
sigs = [ "va.sigs" ]
|
||||
- if (use_vaapi_x11) {
|
||||
+ if (support_vaapi_over_x11) {
|
||||
sigs += [ "va_x11.sigs" ]
|
||||
}
|
||||
if (is_chromeos_ash) {
|
||||
@@ -139,7 +139,7 @@ source_set("vaapi") {
|
||||
]
|
||||
}
|
||||
|
||||
- if (use_vaapi_x11) {
|
||||
+ if (support_vaapi_over_x11) {
|
||||
deps += [ "//ui/gfx/x" ]
|
||||
sources += [
|
||||
"vaapi_picture_native_pixmap_angle.cc",
|
||||
@@ -213,7 +213,7 @@ source_set("common") {
|
||||
deps += [ "//ui/ozone" ]
|
||||
}
|
||||
|
||||
- if (use_vaapi_x11) {
|
||||
+ if (support_vaapi_over_x11) {
|
||||
deps += [ "//ui/gfx/x" ]
|
||||
}
|
||||
|
||||
diff -up chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.cc.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.cc
|
||||
--- chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.cc.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200
|
||||
+++ chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.cc 2023-04-15 07:14:05.573796794 +0200
|
||||
@@ -13,9 +13,9 @@
|
||||
#if BUILDFLAG(IS_OZONE)
|
||||
#include "media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h"
|
||||
#endif // BUILDFLAG(IS_OZONE)
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
#include "media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h"
|
||||
-#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
#if defined(USE_EGL)
|
||||
#include "media/gpu/vaapi/vaapi_picture_native_pixmap_egl.h"
|
||||
#endif
|
||||
@@ -41,19 +41,28 @@ std::unique_ptr<VaapiPicture> CreateVaap
|
||||
|
||||
} // namespace
|
||||
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+VaapiPictureFactory::VaapiPictureFactory(
|
||||
+ absl::optional<bool> may_use_vaapi_over_x11)
|
||||
+ : may_use_vaapi_over_x11_(may_use_vaapi_over_x11) {
|
||||
+#else
|
||||
VaapiPictureFactory::VaapiPictureFactory() {
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
vaapi_impl_pairs_.insert(
|
||||
std::make_pair(gl::kGLImplementationEGLGLES2,
|
||||
VaapiPictureFactory::kVaapiImplementationDrm));
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
- vaapi_impl_pairs_.insert(
|
||||
- std::make_pair(gl::kGLImplementationEGLANGLE,
|
||||
- VaapiPictureFactory::kVaapiImplementationAngle));
|
||||
-#elif BUILDFLAG(IS_OZONE)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ CHECK(may_use_vaapi_over_x11_.has_value());
|
||||
+ if (may_use_vaapi_over_x11_.value()) {
|
||||
+ vaapi_impl_pairs_.insert(
|
||||
+ std::make_pair(gl::kGLImplementationEGLANGLE,
|
||||
+ VaapiPictureFactory::kVaapiImplementationAngle));
|
||||
+ }
|
||||
+#else
|
||||
vaapi_impl_pairs_.insert(
|
||||
std::make_pair(gl::kGLImplementationEGLANGLE,
|
||||
VaapiPictureFactory::kVaapiImplementationDrm));
|
||||
-#endif
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
|
||||
DeterminePictureCreationAndDownloadingMechanism();
|
||||
}
|
||||
@@ -93,19 +102,19 @@ VaapiPictureFactory::GetVaapiImplementat
|
||||
}
|
||||
|
||||
uint32_t VaapiPictureFactory::GetGLTextureTarget() {
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
- return GL_TEXTURE_2D;
|
||||
-#else
|
||||
+#if BUILDFLAG(IS_CHROMEOS)
|
||||
return GL_TEXTURE_EXTERNAL_OES;
|
||||
-#endif
|
||||
+#else
|
||||
+ return GL_TEXTURE_2D;
|
||||
+#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
}
|
||||
|
||||
gfx::BufferFormat VaapiPictureFactory::GetBufferFormat() {
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
- return gfx::BufferFormat::RGBX_8888;
|
||||
-#else
|
||||
+#if BUILDFLAG(IS_CHROMEOS)
|
||||
return gfx::BufferFormat::YUV_420_BIPLANAR;
|
||||
-#endif
|
||||
+#else
|
||||
+ return gfx::BufferFormat::RGBX_8888;
|
||||
+#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
}
|
||||
|
||||
void VaapiPictureFactory::DeterminePictureCreationAndDownloadingMechanism() {
|
||||
@@ -113,19 +122,23 @@ void VaapiPictureFactory::DeterminePictu
|
||||
#if BUILDFLAG(IS_OZONE)
|
||||
// We can be called without GL initialized, which is valid if we use Ozone.
|
||||
case kVaapiImplementationNone:
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ DCHECK(may_use_vaapi_over_x11_.value_or(false));
|
||||
+#endif
|
||||
create_picture_cb_ = base::BindRepeating(
|
||||
&CreateVaapiPictureNativeImpl<VaapiPictureNativePixmapOzone>);
|
||||
needs_vpp_for_downloading_ = true;
|
||||
break;
|
||||
#endif // BUILDFLAG(IS_OZONE)
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
case kVaapiImplementationAngle:
|
||||
+ DCHECK(may_use_vaapi_over_x11_.value_or(false));
|
||||
create_picture_cb_ = base::BindRepeating(
|
||||
&CreateVaapiPictureNativeImpl<VaapiPictureNativePixmapAngle>);
|
||||
// Neither VaapiTFPPicture or VaapiPictureNativePixmapAngle needs the VPP.
|
||||
needs_vpp_for_downloading_ = false;
|
||||
break;
|
||||
-#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
case kVaapiImplementationDrm:
|
||||
#if BUILDFLAG(IS_OZONE)
|
||||
create_picture_cb_ = base::BindRepeating(
|
||||
diff -up chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.h.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.h
|
||||
--- chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.h.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200
|
||||
+++ chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_factory.h 2023-04-14 21:29:41.777328062 +0200
|
||||
@@ -35,7 +35,11 @@ class MEDIA_GPU_EXPORT VaapiPictureFacto
|
||||
kVaapiImplementationAngle,
|
||||
};
|
||||
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ explicit VaapiPictureFactory(absl::optional<bool> may_use_vaapi_over_x11);
|
||||
+#else
|
||||
VaapiPictureFactory();
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
|
||||
VaapiPictureFactory(const VaapiPictureFactory&) = delete;
|
||||
VaapiPictureFactory& operator=(const VaapiPictureFactory&) = delete;
|
||||
@@ -84,6 +88,11 @@ class MEDIA_GPU_EXPORT VaapiPictureFacto
|
||||
|
||||
CreatePictureCB create_picture_cb_;
|
||||
bool needs_vpp_for_downloading_ = false;
|
||||
+
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ // See comment in `VaapiWrapper::MayUseVaapiOverX11()`.
|
||||
+ absl::optional<bool> may_use_vaapi_over_x11_;
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
};
|
||||
|
||||
} // namespace media
|
||||
diff -up chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc
|
||||
--- chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200
|
||||
+++ chromium-112.0.5615.49/media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.cc 2023-04-14 21:29:41.777328062 +0200
|
||||
@@ -113,7 +113,7 @@ VaapiStatus VaapiPictureNativePixmapOzon
|
||||
ui::OzonePlatform* platform = ui::OzonePlatform::GetInstance();
|
||||
ui::SurfaceFactoryOzone* factory = platform->GetSurfaceFactoryOzone();
|
||||
gfx::BufferUsage buffer_usage = gfx::BufferUsage::SCANOUT_VDA_WRITE;
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
// The 'VaapiVideoDecodeAccelerator' requires the VPP to download the decoded
|
||||
// frame from the internal surface to the allocated native pixmap.
|
||||
// 'SCANOUT_VDA_WRITE' is used for 'YUV_420_BIPLANAR' on ChromeOS; For Linux,
|
||||
diff -up chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
|
||||
--- chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator.cc.wayland-vaapi 2023-04-14 21:29:41.775328024 +0200
|
||||
+++ chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator.cc 2023-04-14 21:29:41.777328062 +0200
|
||||
@@ -185,7 +185,12 @@ bool VaapiVideoDecodeAccelerator::Initia
|
||||
Client* client) {
|
||||
DCHECK(task_runner_->BelongsToCurrentThread());
|
||||
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ vaapi_picture_factory_ =
|
||||
+ std::make_unique<VaapiPictureFactory>(VaapiWrapper::MayUseVaapiOverX11());
|
||||
+#else
|
||||
vaapi_picture_factory_ = std::make_unique<VaapiPictureFactory>();
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
|
||||
if (config.is_encrypted()) {
|
||||
NOTREACHED() << "Encrypted streams are not supported for this VDA";
|
||||
@@ -1211,7 +1216,7 @@ VaapiVideoDecodeAccelerator::GetSupporte
|
||||
|
||||
VaapiVideoDecodeAccelerator::BufferAllocationMode
|
||||
VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
// The IMPORT mode is used for Android on Chrome OS, so this doesn't apply
|
||||
// here.
|
||||
DCHECK_NE(output_mode_, VideoDecodeAccelerator::Config::OutputMode::IMPORT);
|
||||
diff -up chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc
|
||||
--- chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200
|
||||
+++ chromium-112.0.5615.49/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc 2023-04-15 07:38:19.058957112 +0200
|
||||
@@ -41,6 +41,11 @@ struct TestParams {
|
||||
bool decode_using_client_picture_buffers;
|
||||
};
|
||||
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+// TODO: Add it in TestParams to cover Ozone/Wayland.
|
||||
+bool kMayUseVaapiOverX11 = true;
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+
|
||||
constexpr int32_t kBitstreamId = 123;
|
||||
constexpr size_t kInputSize = 256;
|
||||
|
||||
@@ -134,7 +139,13 @@ class MockVaapiPicture : public VaapiPic
|
||||
|
||||
class MockVaapiPictureFactory : public VaapiPictureFactory {
|
||||
public:
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ explicit MockVaapiPictureFactory(absl::optional<bool> may_use_vaapi_over_x11)
|
||||
+ : VaapiPictureFactory(may_use_vaapi_over_x11) {}
|
||||
+#else
|
||||
MockVaapiPictureFactory() = default;
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+
|
||||
~MockVaapiPictureFactory() override = default;
|
||||
|
||||
MOCK_METHOD3(MockCreateVaapiPicture,
|
||||
@@ -167,7 +178,12 @@ class VaapiVideoDecodeAcceleratorTest :
|
||||
const scoped_refptr<gl::GLImage>& image) { return true; })),
|
||||
decoder_thread_("VaapiVideoDecodeAcceleratorTestThread"),
|
||||
mock_decoder_(new ::testing::StrictMock<MockAcceleratedVideoDecoder>),
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ mock_vaapi_picture_factory_(
|
||||
+ new MockVaapiPictureFactory(kMayUseVaapiOverX11)),
|
||||
+#else
|
||||
mock_vaapi_picture_factory_(new MockVaapiPictureFactory()),
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
mock_vaapi_wrapper_(new MockVaapiWrapper(VaapiWrapper::kDecode)),
|
||||
mock_vpp_vaapi_wrapper_(new MockVaapiWrapper(VaapiWrapper::kDecode)),
|
||||
weak_ptr_factory_(this) {
|
||||
@@ -422,11 +438,13 @@ TEST_P(VaapiVideoDecodeAcceleratorTest,
|
||||
mock_vaapi_picture_factory_->GetVaapiImplementation(
|
||||
gl::kGLImplementationEGLGLES2));
|
||||
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
- EXPECT_EQ(VaapiPictureFactory::kVaapiImplementationAngle,
|
||||
- mock_vaapi_picture_factory_->GetVaapiImplementation(
|
||||
- gl::kGLImplementationEGLANGLE));
|
||||
-#elif BUILDFLAG(IS_OZONE)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ if (kMayUseVaapiOverX11) {
|
||||
+ EXPECT_EQ(VaapiPictureFactory::kVaapiImplementationAngle,
|
||||
+ mock_vaapi_picture_factory_->GetVaapiImplementation(
|
||||
+ gl::kGLImplementationEGLANGLE));
|
||||
+ }
|
||||
+#else
|
||||
EXPECT_EQ(VaapiPictureFactory::kVaapiImplementationDrm,
|
||||
mock_vaapi_picture_factory_->GetVaapiImplementation(
|
||||
gl::kGLImplementationEGLANGLE));
|
||||
diff -up chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.cc.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.cc
|
||||
--- chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.cc.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200
|
||||
+++ chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.cc 2023-04-14 21:29:41.777328062 +0200
|
||||
@@ -62,7 +62,7 @@
|
||||
#include "ui/gl/gl_bindings.h"
|
||||
#include "ui/gl/gl_implementation.h"
|
||||
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
typedef XID Drawable;
|
||||
|
||||
extern "C" {
|
||||
@@ -70,7 +70,7 @@ extern "C" {
|
||||
}
|
||||
|
||||
#include "ui/gfx/x/connection.h" // nogncheck
|
||||
-#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
|
||||
#if BUILDFLAG(IS_OZONE)
|
||||
#include "ui/ozone/public/ozone_platform.h"
|
||||
@@ -84,14 +84,14 @@ using media_gpu_vaapi::kModuleVa_prot;
|
||||
|
||||
using media_gpu_vaapi::kModuleVa;
|
||||
using media_gpu_vaapi::kModuleVa_drm;
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
using media_gpu_vaapi::kModuleVa_x11;
|
||||
-#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
using media_gpu_vaapi::InitializeStubs;
|
||||
using media_gpu_vaapi::IsVaInitialized;
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
using media_gpu_vaapi::IsVa_x11Initialized;
|
||||
-#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
using media_gpu_vaapi::IsVa_drmInitialized;
|
||||
using media_gpu_vaapi::StubPathMap;
|
||||
|
||||
@@ -680,6 +680,12 @@ class VADisplayState {
|
||||
|
||||
void SetDrmFd(base::PlatformFile fd) { drm_fd_.reset(HANDLE_EINTR(dup(fd))); }
|
||||
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ absl::optional<bool> MayUseVaapiOverX11() const {
|
||||
+ return may_use_vaapi_over_x11_;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
private:
|
||||
friend class base::NoDestructor<VADisplayState>;
|
||||
|
||||
@@ -702,6 +708,13 @@ class VADisplayState {
|
||||
// Drm fd used to obtain access to the driver interface by VA.
|
||||
base::ScopedFD drm_fd_;
|
||||
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ // Whether we'll be possibly using VA-API over Ozone/X11. This should only be
|
||||
+ // set (if at all) during the pre-sandbox initialization. If absl::nullopt,
|
||||
+ // all calls to Initialize() will return false immediately.
|
||||
+ absl::optional<bool> may_use_vaapi_over_x11_;
|
||||
+#endif
|
||||
+
|
||||
// The VADisplay handle. Valid between Initialize() and Deinitialize().
|
||||
VADisplay va_display_;
|
||||
|
||||
@@ -723,6 +736,15 @@ VADisplayState* VADisplayState::Get() {
|
||||
|
||||
// static
|
||||
void VADisplayState::PreSandboxInitialization() {
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ if (ui::OzonePlatform::IsInitialized()) {
|
||||
+ VADisplayState::Get()->may_use_vaapi_over_x11_ =
|
||||
+ ui::OzonePlatform::GetInstance()
|
||||
+ ->GetPlatformProperties()
|
||||
+ .supports_vaapi_x11;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
constexpr char kRenderNodeFilePattern[] = "/dev/dri/renderD%d";
|
||||
// This loop ends on either the first card that does not exist or the first
|
||||
// render node that is not vgem.
|
||||
@@ -755,20 +777,18 @@ VADisplayState::VADisplayState()
|
||||
bool VADisplayState::Initialize() {
|
||||
base::AutoLock auto_lock(va_lock_);
|
||||
|
||||
-#if BUILDFLAG(IS_OZONE) && BUILDFLAG(IS_LINUX)
|
||||
- // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on
|
||||
- // Linux. See comment in OzonePlatform::PlatformProperties::supports_vaapi
|
||||
- // for more details. This will also require revisiting everything that's
|
||||
- // guarded by USE_VAAPI_X11. For example, if USE_VAAPI_X11 is true, but the
|
||||
- // user chooses the Wayland backend for Ozone at runtime, then many things (if
|
||||
- // not all) that we do for X11 won't apply.
|
||||
- if (!ui::OzonePlatform::GetInstance()->GetPlatformProperties().supports_vaapi)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ if (!may_use_vaapi_over_x11_.has_value())
|
||||
return false;
|
||||
#endif
|
||||
|
||||
bool libraries_initialized = IsVaInitialized() && IsVa_drmInitialized();
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
- libraries_initialized = libraries_initialized && IsVa_x11Initialized();
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ // Initialize VA-API X11 display backend for Linux Ozone/X11.
|
||||
+ // See comment in OzonePlatform::PlatformProperties::supports_vaapi_x11 for
|
||||
+ // more details.
|
||||
+ if (may_use_vaapi_over_x11_.value())
|
||||
+ libraries_initialized = libraries_initialized && IsVa_x11Initialized();
|
||||
#endif
|
||||
if (!libraries_initialized)
|
||||
return false;
|
||||
@@ -783,7 +803,7 @@ bool VADisplayState::Initialize() {
|
||||
return success;
|
||||
}
|
||||
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
|
||||
absl::optional<VADisplay> GetVADisplayStateX11(const base::ScopedFD& drm_fd) {
|
||||
switch (gl::GetGLImplementation()) {
|
||||
@@ -809,13 +829,19 @@ absl::optional<VADisplay> GetVADisplaySt
|
||||
}
|
||||
}
|
||||
|
||||
-#else
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
|
||||
absl::optional<VADisplay> GetVADisplayState(const base::ScopedFD& drm_fd) {
|
||||
switch (gl::GetGLImplementation()) {
|
||||
case gl::kGLImplementationEGLGLES2:
|
||||
+#if BUILDFLAG(IS_CHROMEOS)
|
||||
+ // GetVADisplayState() should not get called on Linux with Ozone/X11
|
||||
+ // (GetVADisplayStateX11() should get called instead), and we haven't tried
|
||||
+ // VA-API decoding on Linux with Ozone/Wayland and anything other than
|
||||
+ // native EGL/GLES2.
|
||||
case gl::kGLImplementationEGLANGLE:
|
||||
case gl::kGLImplementationNone:
|
||||
+#endif
|
||||
return vaGetDisplayDRM(drm_fd.get());
|
||||
default:
|
||||
LOG(WARNING) << "VAAPI video acceleration not available for "
|
||||
@@ -825,18 +851,23 @@ absl::optional<VADisplay> GetVADisplaySt
|
||||
}
|
||||
}
|
||||
|
||||
-#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
-
|
||||
bool VADisplayState::InitializeVaDisplay_Locked() {
|
||||
- absl::optional<VADisplay> display =
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
- GetVADisplayStateX11(drm_fd_);
|
||||
-#else
|
||||
- GetVADisplayState(drm_fd_);
|
||||
-#endif
|
||||
+ absl::optional<VADisplay> display;
|
||||
|
||||
- if (!display)
|
||||
- return false;
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ DCHECK(may_use_vaapi_over_x11_.has_value());
|
||||
+ if (may_use_vaapi_over_x11_.value()) {
|
||||
+ display = GetVADisplayStateX11(drm_fd_);
|
||||
+ if (!display)
|
||||
+ return false;
|
||||
+ }
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+
|
||||
+ if (!display) {
|
||||
+ display = GetVADisplayState(drm_fd_);
|
||||
+ if (!display)
|
||||
+ return false;
|
||||
+ }
|
||||
|
||||
va_display_ = *display;
|
||||
if (!vaDisplayIsValid(va_display_)) {
|
||||
@@ -1671,6 +1702,13 @@ scoped_refptr<VaapiWrapper> VaapiWrapper
|
||||
enforce_sequence_affinity);
|
||||
}
|
||||
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+// static
|
||||
+absl::optional<bool> VaapiWrapper::MayUseVaapiOverX11() {
|
||||
+ return VADisplayState::Get()->MayUseVaapiOverX11();
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
// static
|
||||
std::vector<SVCScalabilityMode> VaapiWrapper::GetSupportedScalabilityModes(
|
||||
VideoCodecProfile media_profile,
|
||||
@@ -2684,12 +2722,13 @@ bool VaapiWrapper::MapAndCopyAndExecute(
|
||||
return Execute_Locked(va_surface_id, va_buffer_ids);
|
||||
}
|
||||
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
bool VaapiWrapper::PutSurfaceIntoPixmap(VASurfaceID va_surface_id,
|
||||
x11::Pixmap x_pixmap,
|
||||
gfx::Size dest_size) {
|
||||
CHECK(!enforce_sequence_affinity_ ||
|
||||
sequence_checker_.CalledOnValidSequence());
|
||||
+ CHECK(MayUseVaapiOverX11().value_or(false));
|
||||
base::AutoLockMaybe auto_lock(va_lock_.get());
|
||||
|
||||
VAStatus va_res = vaSyncSurface(va_display_, va_surface_id);
|
||||
@@ -2703,7 +2742,7 @@ bool VaapiWrapper::PutSurfaceIntoPixmap(
|
||||
VA_SUCCESS_OR_RETURN(va_res, VaapiFunctions::kVAPutSurface, false);
|
||||
return true;
|
||||
}
|
||||
-#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
|
||||
std::unique_ptr<ScopedVAImage> VaapiWrapper::CreateVaImage(
|
||||
VASurfaceID va_surface_id,
|
||||
@@ -3105,7 +3144,7 @@ void VaapiWrapper::PreSandboxInitializat
|
||||
|
||||
paths[kModuleVa].push_back(std::string("libva.so.") + va_suffix);
|
||||
paths[kModuleVa_drm].push_back(std::string("libva-drm.so.") + va_suffix);
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
paths[kModuleVa_x11].push_back(std::string("libva-x11.so.") + va_suffix);
|
||||
#endif
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
diff -up chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.h.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.h
|
||||
--- chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.h.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200
|
||||
+++ chromium-112.0.5615.49/media/gpu/vaapi/vaapi_wrapper.h 2023-04-14 21:29:41.777328062 +0200
|
||||
@@ -36,9 +36,9 @@
|
||||
#include "third_party/abseil-cpp/absl/types/optional.h"
|
||||
#include "ui/gfx/geometry/size.h"
|
||||
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
#include "ui/gfx/x/xproto.h" // nogncheck
|
||||
-#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
|
||||
namespace gfx {
|
||||
enum class BufferFormat;
|
||||
@@ -186,6 +186,16 @@ class MEDIA_GPU_EXPORT VaapiWrapper
|
||||
VaapiWrapper(const VaapiWrapper&) = delete;
|
||||
VaapiWrapper& operator=(const VaapiWrapper&) = delete;
|
||||
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
+ // Returns true if VaapiWrapper instances may use VA-API over X11 and false
|
||||
+ // otherwise (VA-API over DRM will be used). If this returns absl::nullopt,
|
||||
+ // it's because it was not possible to determine how VA-API may be used. This
|
||||
+ // should only be called after PreSandboxInitialization() (which is assumed to
|
||||
+ // be called only once during the GPU process startup) and is safe to call
|
||||
+ // from any thread. Additionally, this should always return the same value.
|
||||
+ static absl::optional<bool> MayUseVaapiOverX11();
|
||||
+#endif
|
||||
+
|
||||
// Returns the supported SVC scalability modes for specified profile.
|
||||
static std::vector<SVCScalabilityMode> GetSupportedScalabilityModes(
|
||||
VideoCodecProfile media_profile,
|
||||
@@ -439,13 +449,13 @@ class MEDIA_GPU_EXPORT VaapiWrapper
|
||||
VASurfaceID va_surface_id,
|
||||
const std::vector<std::pair<VABufferID, VABufferDescriptor>>& va_buffers);
|
||||
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
// Put data from |va_surface_id| into |x_pixmap| of size
|
||||
// |dest_size|, converting/scaling to it.
|
||||
[[nodiscard]] bool PutSurfaceIntoPixmap(VASurfaceID va_surface_id,
|
||||
x11::Pixmap x_pixmap,
|
||||
gfx::Size dest_size);
|
||||
-#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
|
||||
// Creates a ScopedVAImage from a VASurface |va_surface_id| and map it into
|
||||
// memory with the given |format| and |size|. If |format| is not equal to the
|
||||
diff -up chromium-112.0.5615.49/media/gpu/vaapi/va_stub_header.fragment.wayland-vaapi chromium-112.0.5615.49/media/gpu/vaapi/va_stub_header.fragment
|
||||
--- chromium-112.0.5615.49/media/gpu/vaapi/va_stub_header.fragment.wayland-vaapi 2023-03-30 02:33:53.000000000 +0200
|
||||
+++ chromium-112.0.5615.49/media/gpu/vaapi/va_stub_header.fragment 2023-04-14 21:29:41.777328062 +0200
|
||||
@@ -7,8 +7,8 @@ extern "C" {
|
||||
|
||||
#include <va/va_drm.h>
|
||||
#include <va/va.h>
|
||||
-#if BUILDFLAG(USE_VAAPI_X11)
|
||||
+#if BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
#include <va/va_x11.h>
|
||||
-#endif // BUILDFLAG(USE_VAAPI_X11)
|
||||
+#endif // BUILDFLAG(SUPPORT_VAAPI_OVER_X11)
|
||||
|
||||
}
|
||||
diff -up chromium-112.0.5615.49/ui/ozone/platform/x11/ozone_platform_x11.cc.wayland-vaapi chromium-112.0.5615.49/ui/ozone/platform/x11/ozone_platform_x11.cc
|
||||
--- chromium-112.0.5615.49/ui/ozone/platform/x11/ozone_platform_x11.cc.wayland-vaapi 2023-03-30 02:34:19.000000000 +0200
|
||||
+++ chromium-112.0.5615.49/ui/ozone/platform/x11/ozone_platform_x11.cc 2023-04-14 21:29:41.778328082 +0200
|
||||
@@ -197,7 +197,7 @@ class OzonePlatformX11 : public OzonePla
|
||||
properties->app_modal_dialogs_use_event_blocker = true;
|
||||
properties->fetch_buffer_formats_for_gmb_on_gpu = true;
|
||||
#if BUILDFLAG(IS_LINUX)
|
||||
- properties->supports_vaapi = true;
|
||||
+ properties->supports_vaapi_x11 = true;
|
||||
#endif
|
||||
|
||||
initialised = true;
|
||||
diff -up chromium-112.0.5615.49/ui/ozone/public/ozone_platform.h.wayland-vaapi chromium-112.0.5615.49/ui/ozone/public/ozone_platform.h
|
||||
--- chromium-112.0.5615.49/ui/ozone/public/ozone_platform.h.wayland-vaapi 2023-03-30 02:34:19.000000000 +0200
|
||||
+++ chromium-112.0.5615.49/ui/ozone/public/ozone_platform.h 2023-04-14 21:29:41.778328082 +0200
|
||||
@@ -145,12 +145,13 @@ class COMPONENT_EXPORT(OZONE) OzonePlatf
|
||||
bool fetch_buffer_formats_for_gmb_on_gpu = false;
|
||||
|
||||
#if BUILDFLAG(IS_LINUX)
|
||||
- // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on
|
||||
- // Linux. At the moment, VA-API Linux implementation supports only X11
|
||||
- // backend. This implementation must be refactored to support Ozone
|
||||
- // properly. As a temporary solution, VA-API on Linux checks if vaapi is
|
||||
- // supported (which implicitly means that it is Ozone/X11).
|
||||
- bool supports_vaapi = false;
|
||||
+ // VA-API supports different display backends.
|
||||
+ // See https://github.com/intel/libva/blob/master/va/va_backend.h
|
||||
+ //
|
||||
+ // VA/DRM and VA/X11 are used by Chromium at the moment. All Ozone platforms
|
||||
+ // support VA/DRM by default. `supports_vaapi_x11` indicates if VA/X11
|
||||
+ // supported; it is true only on Ozone/X11 platform.
|
||||
+ bool supports_vaapi_x11 = false;
|
||||
#endif
|
||||
|
||||
// Indicates that the platform allows client applications to manipulate
|
||||
34
chromium-121-system-old-ffmpeg.patch
Normal file
34
chromium-121-system-old-ffmpeg.patch
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
diff -up chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc.me chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc
|
||||
--- chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc.me 2024-01-16 10:54:38.994173911 +0100
|
||||
+++ chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc 2024-01-16 11:06:20.974160612 +0100
|
||||
@@ -710,8 +710,13 @@ bool AVStreamToVideoDecoderConfig(const
|
||||
}
|
||||
|
||||
VideoTransformation video_transformation = VideoTransformation();
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
|
||||
+ for (int i = 0; i < stream->nb_side_data; i++) {
|
||||
+ const auto& side_data = stream->side_data[i];
|
||||
+#else
|
||||
for (int i = 0; i < stream->codecpar->nb_coded_side_data; ++i) {
|
||||
const auto& side_data = stream->codecpar->coded_side_data[i];
|
||||
+#endif
|
||||
switch (side_data.type) {
|
||||
case AV_PKT_DATA_DISPLAYMATRIX: {
|
||||
CHECK_EQ(side_data.size, sizeof(int32_t) * 3 * 3);
|
||||
diff -up chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc.me chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc
|
||||
--- chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc.me 2024-01-16 11:12:27.521534151 +0100
|
||||
+++ chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc 2024-01-16 11:15:08.717337026 +0100
|
||||
@@ -113,8 +113,13 @@ bool AudioVideoMetadataExtractor::Extrac
|
||||
if (!stream)
|
||||
continue;
|
||||
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
|
||||
+ for (int j = 0; j < stream->nb_side_data; j++) {
|
||||
+ const AVPacketSideData& sd = stream->side_data[j];
|
||||
+#else
|
||||
for (int j = 0; j < stream->codecpar->nb_coded_side_data; j++) {
|
||||
const AVPacketSideData& sd = stream->codecpar->coded_side_data[j];
|
||||
+#endif
|
||||
if (sd.type == AV_PKT_DATA_DISPLAYMATRIX) {
|
||||
CHECK_EQ(sd.size, sizeof(int32_t) * 3 * 3);
|
||||
rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(
|
||||
105
chromium-125-ffmpeg-5.x-reordered_opaque.patch
Normal file
105
chromium-125-ffmpeg-5.x-reordered_opaque.patch
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
commit 62274859104bd828373ae406aa9309e610449ac5
|
||||
Author: Ted Meyer <tmathmeyer@chromium.org>
|
||||
Date: Fri Mar 22 19:56:55 2024 +0000
|
||||
|
||||
Replace deprecated use of AVCodecContext::reordered_opaque
|
||||
|
||||
We can use the AV_CODEC_FLAG_COPY_OPAQUE flag on the codec context
|
||||
now to trigger timestamp propagation.
|
||||
|
||||
Bug: 330573128
|
||||
Change-Id: I6bc57241a35ab5283742aad8d42acb4dc5e85858
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5384308
|
||||
Commit-Queue: Ted (Chromium) Meyer <tmathmeyer@chromium.org>
|
||||
Reviewed-by: Dan Sanders <sandersd@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1277051}
|
||||
|
||||
diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_decoder.cc
|
||||
index bd75477feeabb..8a658a58caac5 100644
|
||||
--- a/media/filters/ffmpeg_video_decoder.cc
|
||||
+++ b/media/filters/ffmpeg_video_decoder.cc
|
||||
@@ -134,7 +134,7 @@ bool FFmpegVideoDecoder::IsCodecSupported(VideoCodec codec) {
|
||||
}
|
||||
|
||||
FFmpegVideoDecoder::FFmpegVideoDecoder(MediaLog* media_log)
|
||||
- : media_log_(media_log) {
|
||||
+ : media_log_(media_log), timestamp_map_(128) {
|
||||
DVLOG(1) << __func__;
|
||||
DETACH_FROM_SEQUENCE(sequence_checker_);
|
||||
}
|
||||
@@ -363,8 +363,10 @@ bool FFmpegVideoDecoder::FFmpegDecode(const DecoderBuffer& buffer) {
|
||||
DCHECK(packet->data);
|
||||
DCHECK_GT(packet->size, 0);
|
||||
|
||||
- // Let FFmpeg handle presentation timestamp reordering.
|
||||
- codec_context_->reordered_opaque = buffer.timestamp().InMicroseconds();
|
||||
+ const int64_t timestamp = buffer.timestamp().InMicroseconds();
|
||||
+ const TimestampId timestamp_id = timestamp_id_generator_.GenerateNextId();
|
||||
+ timestamp_map_.Put(std::make_pair(timestamp_id, timestamp));
|
||||
+ packet->opaque = reinterpret_cast<void*>(timestamp_id.GetUnsafeValue());
|
||||
}
|
||||
FFmpegDecodingLoop::DecodeStatus decode_status = decoding_loop_->DecodePacket(
|
||||
packet, base::BindRepeating(&FFmpegVideoDecoder::OnNewFrame,
|
||||
@@ -423,7 +425,12 @@ bool FFmpegVideoDecoder::OnNewFrame(AVFrame* frame) {
|
||||
}
|
||||
gfx::Size natural_size = aspect_ratio.GetNaturalSize(visible_rect);
|
||||
|
||||
- const auto pts = base::Microseconds(frame->reordered_opaque);
|
||||
+ const auto ts_id = TimestampId(reinterpret_cast<size_t>(frame->opaque));
|
||||
+ const auto ts_lookup = timestamp_map_.Get(ts_id);
|
||||
+ if (ts_lookup == timestamp_map_.end()) {
|
||||
+ return false;
|
||||
+ }
|
||||
+ const auto pts = base::Microseconds(std::get<1>(*ts_lookup));
|
||||
auto video_frame = VideoFrame::WrapExternalDataWithLayout(
|
||||
opaque->layout, visible_rect, natural_size, opaque->data, opaque->size,
|
||||
pts);
|
||||
@@ -498,8 +505,10 @@ bool FFmpegVideoDecoder::ConfigureDecoder(const VideoDecoderConfig& config,
|
||||
codec_context_->thread_count = GetFFmpegVideoDecoderThreadCount(config);
|
||||
codec_context_->thread_type =
|
||||
FF_THREAD_SLICE | (low_delay ? 0 : FF_THREAD_FRAME);
|
||||
+
|
||||
codec_context_->opaque = this;
|
||||
codec_context_->get_buffer2 = GetVideoBufferImpl;
|
||||
+ codec_context_->flags |= AV_CODEC_FLAG_COPY_OPAQUE;
|
||||
|
||||
if (base::FeatureList::IsEnabled(kFFmpegAllowLists)) {
|
||||
// Note: FFmpeg will try to free this string, so we must duplicate it.
|
||||
diff --git a/media/filters/ffmpeg_video_decoder.h b/media/filters/ffmpeg_video_decoder.h
|
||||
index d02cb89c3ddf7..0a2de1c623fff 100644
|
||||
--- a/media/filters/ffmpeg_video_decoder.h
|
||||
+++ b/media/filters/ffmpeg_video_decoder.h
|
||||
@@ -7,10 +7,12 @@
|
||||
|
||||
#include <memory>
|
||||
|
||||
+#include "base/containers/lru_cache.h"
|
||||
#include "base/functional/callback.h"
|
||||
#include "base/memory/raw_ptr.h"
|
||||
#include "base/memory/scoped_refptr.h"
|
||||
#include "base/sequence_checker.h"
|
||||
+#include "base/types/id_type.h"
|
||||
#include "media/base/frame_buffer_pool.h"
|
||||
#include "media/base/supported_video_decoder_config.h"
|
||||
#include "media/base/video_decoder.h"
|
||||
@@ -87,6 +89,20 @@ class MEDIA_EXPORT FFmpegVideoDecoder : public VideoDecoder {
|
||||
// FFmpeg structures owned by this object.
|
||||
std::unique_ptr<AVCodecContext, ScopedPtrAVFreeContext> codec_context_;
|
||||
|
||||
+ // The gist here is that timestamps need to be 64 bits to store microsecond
|
||||
+ // precision. A 32 bit integer would overflow at ~35 minutes at this level of
|
||||
+ // precision. We can't cast the timestamp to the void ptr object used by the
|
||||
+ // opaque field in ffmpeg then, because it would lose data on a 32 bit build.
|
||||
+ // However, we don't actually have 2^31 timestamped frames in a single
|
||||
+ // playback, so it's fine to use the 32 bit value as a key in a map which
|
||||
+ // contains the actual timestamps. Additionally, we've in the past set 128
|
||||
+ // outstanding frames for re-ordering as a limit for cross-thread decoding
|
||||
+ // tasks, so we'll do that here too with the LRU cache.
|
||||
+ using TimestampId = base::IdType<int64_t, size_t, 0>;
|
||||
+
|
||||
+ TimestampId::Generator timestamp_id_generator_;
|
||||
+ base::LRUCache<TimestampId, int64_t> timestamp_map_;
|
||||
+
|
||||
VideoDecoderConfig config_;
|
||||
|
||||
scoped_refptr<FrameBufferPool> frame_pool_;
|
||||
38
chromium-125-system-brotli.patch
Normal file
38
chromium-125-system-brotli.patch
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
diff -up chromium-125.0.6422.41/net/filter/brotli_source_stream.cc.system-brotli chromium-125.0.6422.41/net/filter/brotli_source_stream.cc
|
||||
--- chromium-125.0.6422.41/net/filter/brotli_source_stream.cc.system-brotli 2024-05-08 22:30:00.000000000 +0200
|
||||
+++ chromium-125.0.6422.41/net/filter/brotli_source_stream.cc 2024-05-12 20:23:30.859178769 +0200
|
||||
@@ -11,8 +11,8 @@
|
||||
#include "base/memory/raw_ptr.h"
|
||||
#include "base/metrics/histogram_macros.h"
|
||||
#include "net/base/io_buffer.h"
|
||||
-#include "third_party/brotli/include/brotli/decode.h"
|
||||
-#include "third_party/brotli/include/brotli/shared_dictionary.h"
|
||||
+#include <brotli/decode.h>
|
||||
+#include <brotli/shared_dictionary.h>
|
||||
|
||||
namespace net {
|
||||
|
||||
diff -up chromium-125.0.6422.41/net/ssl/cert_compression.cc.system-brotli chromium-125.0.6422.41/net/ssl/cert_compression.cc
|
||||
--- chromium-125.0.6422.41/net/ssl/cert_compression.cc.system-brotli 2024-05-08 22:30:00.000000000 +0200
|
||||
+++ chromium-125.0.6422.41/net/ssl/cert_compression.cc 2024-05-12 20:23:30.860178793 +0200
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "third_party/boringssl/src/include/openssl/ssl.h"
|
||||
|
||||
#if !defined(NET_DISABLE_BROTLI)
|
||||
-#include "third_party/brotli/include/brotli/decode.h"
|
||||
+#include <brotli/decode.h>
|
||||
#endif
|
||||
|
||||
namespace net {
|
||||
diff -up chromium-125.0.6422.41/ui/base/resource/resource_bundle.cc.system-brotli chromium-125.0.6422.41/ui/base/resource/resource_bundle.cc
|
||||
--- chromium-125.0.6422.41/ui/base/resource/resource_bundle.cc.system-brotli 2024-05-12 20:23:30.861178816 +0200
|
||||
+++ chromium-125.0.6422.41/ui/base/resource/resource_bundle.cc 2024-05-12 21:19:03.775332093 +0200
|
||||
@@ -33,7 +33,7 @@
|
||||
#include "net/filter/gzip_header.h"
|
||||
#include "skia/ext/image_operations.h"
|
||||
#include "third_party/abseil-cpp/absl/types/variant.h"
|
||||
-#include "third_party/brotli/include/brotli/decode.h"
|
||||
+#include "brotli/decode.h"
|
||||
#include "third_party/skia/include/codec/SkPngDecoder.h"
|
||||
#include "third_party/skia/include/core/SkBitmap.h"
|
||||
#include "third_party/skia/include/core/SkColor.h"
|
||||
|
|
@ -1,13 +1,15 @@
|
|||
diff -up chromium-142.0.7444.52/build/config/compiler/BUILD.gn.split-threshold-for-reg-with-hint chromium-142.0.7444.52/build/config/compiler/BUILD.gn
|
||||
--- chromium-142.0.7444.52/build/config/compiler/BUILD.gn.split-threshold-for-reg-with-hint 2025-10-28 19:31:53.885979941 +0100
|
||||
+++ chromium-142.0.7444.52/build/config/compiler/BUILD.gn 2025-10-28 19:39:50.279574752 +0100
|
||||
@@ -680,22 +680,6 @@ config("compiler") {
|
||||
diff -up chromium-126.0.6478.26/build/config/compiler/BUILD.gn.me chromium-126.0.6478.26/build/config/compiler/BUILD.gn
|
||||
--- chromium-126.0.6478.26/build/config/compiler/BUILD.gn.me 2024-06-02 14:02:52.516602574 +0200
|
||||
+++ chromium-126.0.6478.26/build/config/compiler/BUILD.gn 2024-06-02 14:17:24.527503540 +0200
|
||||
@@ -575,24 +575,6 @@ config("compiler") {
|
||||
}
|
||||
}
|
||||
|
||||
- # TODO(crbug.com/40283598): This causes binary size growth and potentially
|
||||
- # other problems.
|
||||
- if (default_toolchain != "//build/toolchain/cros:target") {
|
||||
- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version.
|
||||
- if (default_toolchain != "//build/toolchain/cros:target" &&
|
||||
- !llvm_android_mainline) {
|
||||
- cflags += [
|
||||
- "-mllvm",
|
||||
- "-split-threshold-for-reg-with-hint=0",
|
||||
89
chromium-127-rust-clanglib.patch
Normal file
89
chromium-127-rust-clanglib.patch
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
diff -up chromium-127.0.6533.72/build/rust/rust_bindgen.gni.me chromium-127.0.6533.72/build/rust/rust_bindgen.gni
|
||||
--- chromium-127.0.6533.72/build/rust/rust_bindgen.gni.me 2024-07-25 16:11:18.754551595 +0200
|
||||
+++ chromium-127.0.6533.72/build/rust/rust_bindgen.gni 2024-07-25 16:11:33.997837660 +0200
|
||||
@@ -19,11 +19,11 @@
|
||||
|
||||
# On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in
|
||||
# ../lib.
|
||||
-_libclang_path = rust_bindgen_root
|
||||
+_libclang_path = clang_base_path
|
||||
if (host_os == "win") {
|
||||
_libclang_path += "/bin"
|
||||
} else {
|
||||
- _libclang_path += "/lib"
|
||||
+ _libclang_path += "/lib64"
|
||||
}
|
||||
|
||||
# Template to build Rust/C bindings with bindgen.
|
||||
diff -up chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib chromium-121.0.6167.57/build/config/clang/BUILD.gn
|
||||
--- chromium-121.0.6167.57/build/config/clang/BUILD.gn.rust-clang_lib 2024-01-10 16:43:01.000000000 +0100
|
||||
+++ chromium-121.0.6167.57/build/config/clang/BUILD.gn 2024-01-20 19:51:38.481992799 +0100
|
||||
@@ -112,6 +112,7 @@ template("clang_lib") {
|
||||
_prefix = "lib"
|
||||
_suffix = ""
|
||||
_ext = "a"
|
||||
+ _libprefix = ""
|
||||
if (is_win) {
|
||||
_dir = "windows"
|
||||
_prefix = ""
|
||||
@@ -127,7 +128,33 @@ template("clang_lib") {
|
||||
}
|
||||
} else if (is_apple) {
|
||||
_dir = "darwin"
|
||||
- } else if (is_linux || is_chromeos) {
|
||||
+ } else if (is_linux) {
|
||||
+ if (current_cpu == "x64") {
|
||||
+ _dir = "x86_64-redhat-linux-gnu"
|
||||
+ _suffix ="-x86_64"
|
||||
+ } else if (current_cpu == "x86") {
|
||||
+ _dir = "i386-redhat-linux-gnu"
|
||||
+ _suffix = "-i386"
|
||||
+ } else if (current_cpu == "arm64") {
|
||||
+ _dir = "aarch64-redhat-linux-gnu"
|
||||
+ _suffix = "-aarch64"
|
||||
+ } else if (current_cpu == "arm") {
|
||||
+ _dir = "armhf-redhat-linux-gnu"
|
||||
+ _suffix = "-armhf"
|
||||
+ } else if (current_cpu == "ppc64") {
|
||||
+ _dir = "ppc64le-redhat-linux-gnu"
|
||||
+ _suffix = "-ppc64le"
|
||||
+ } else {
|
||||
+ assert(false) # Unhandled cpu type
|
||||
+ }
|
||||
+ # different clang lib dir in fedora/epel
|
||||
+ if (clang_version == "17" || clang_version == "18" || clang_version == "19") {
|
||||
+ _suffix = ""
|
||||
+ } else if (clang_version == "14" || clang_version == "15" || clang_version == "16") {
|
||||
+ _libprefix = "64"
|
||||
+ _dir = ""
|
||||
+ }
|
||||
+ } else if (is_chromeos) {
|
||||
if (current_cpu == "x64") {
|
||||
_dir = "x86_64-unknown-linux-gnu"
|
||||
} else if (current_cpu == "x86") {
|
||||
@@ -166,7 +193,7 @@ template("clang_lib") {
|
||||
assert(false) # Unhandled target platform
|
||||
}
|
||||
|
||||
- _clang_lib_dir = "$clang_base_path/lib/clang/$clang_version/lib"
|
||||
+ _clang_lib_dir = "$clang_base_path/lib${_libprefix}/clang/$clang_version/lib"
|
||||
_lib_file = "${_prefix}clang_rt.${_libname}${_suffix}.${_ext}"
|
||||
libs = [ "$_clang_lib_dir/$_dir/$_lib_file" ]
|
||||
}
|
||||
diff -up chromium-132.0.6834.57/build/rust/rust_bindgen_generator.gni.me chromium-132.0.6834.57/build/rust/rust_bindgen_generator.gni
|
||||
--- chromium-132.0.6834.57/build/rust/rust_bindgen_generator.gni.me 2024-12-31 15:08:27.013151672 +0100
|
||||
+++ chromium-132.0.6834.57/build/rust/rust_bindgen_generator.gni 2024-12-31 15:08:49.538663024 +0100
|
||||
@@ -18,11 +18,11 @@
|
||||
|
||||
# On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in
|
||||
# ../lib.
|
||||
-_libclang_path = rust_bindgen_root
|
||||
+_libclang_path = clang_base_path
|
||||
if (host_os == "win") {
|
||||
_libclang_path += "/bin"
|
||||
} else {
|
||||
- _libclang_path += "/lib"
|
||||
+ _libclang_path += "/lib64"
|
||||
}
|
||||
|
||||
# Template to build Rust/C bindings with bindgen.
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
From b9075d0e1f687f9a5cf80a7778bde99cece9fdf7 Mon Sep 17 00:00:00 2001
|
||||
From: Than Ngo <than@redhat.com>
|
||||
Date: Sat, 23 Nov 2024 12:33:22 +0100
|
||||
Subject: [PATCH] Enable qt-ui
|
||||
|
||||
|
||||
diff -up chromium-131.0.6778.85/ui/qt/qt_shim.cc.me chromium-131.0.6778.85/ui/qt/qt_shim.cc
|
||||
--- chromium-131.0.6778.85/ui/qt/qt_shim.cc.me 2024-11-23 10:04:16.789121846 +0100
|
||||
+++ chromium-131.0.6778.85/ui/qt/qt_shim.cc 2024-11-23 11:40:02.905064702 +0100
|
||||
@@ -265,7 +265,7 @@ FontRenderParams QtShim::GetFontRenderPa
|
||||
FontDescription QtShim::GetFontDescription() const {
|
||||
QFont font = app_.font();
|
||||
return {
|
||||
- .family = String(font.family().toStdString().c_str()),
|
||||
+ .family = String(font.family().toUtf8().constData()),
|
||||
.size_pixels = font.pixelSize(),
|
||||
.size_points = font.pointSize(),
|
||||
.is_italic = IsStyleItalic(font.style()),
|
||||
|
||||
12
chromium-132-el8-clang18-build-error.patch
Normal file
12
chromium-132-el8-clang18-build-error.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
diff -up chromium-132.0.6834.57/pdf/pdfium/pdfium_api_wrappers.cc.me chromium-132.0.6834.57/pdf/pdfium/pdfium_api_wrappers.cc
|
||||
--- chromium-132.0.6834.57/pdf/pdfium/pdfium_api_wrappers.cc.me 2025-01-10 11:17:44.598459092 +0100
|
||||
+++ chromium-132.0.6834.57/pdf/pdfium/pdfium_api_wrappers.cc 2025-01-10 11:18:55.910222909 +0100
|
||||
@@ -147,7 +147,7 @@ std::u16string GetPageObjectMarkName(FPD
|
||||
|
||||
// Number of characters, including the NUL.
|
||||
const size_t expected_size = base::checked_cast<size_t>(buflen_bytes / 2);
|
||||
- PDFiumAPIStringBufferAdapter adapter(&name, expected_size,
|
||||
+ PDFiumAPIStringBufferAdapter<std::u16string> adapter(&name, expected_size,
|
||||
/*check_expected_size=*/true);
|
||||
unsigned long actual_buflen_bytes = 0; // NOLINT(runtime/int)
|
||||
bool result =
|
||||
17
chromium-132-el8-unsupport-clang-flags.patch
Normal file
17
chromium-132-el8-unsupport-clang-flags.patch
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
diff -up chromium-132.0.6834.57/build/config/compiler/BUILD.gn.me chromium-132.0.6834.57/build/config/compiler/BUILD.gn
|
||||
--- chromium-132.0.6834.57/build/config/compiler/BUILD.gn.me 2025-01-01 13:31:40.472819710 +0100
|
||||
+++ chromium-132.0.6834.57/build/config/compiler/BUILD.gn 2025-01-01 16:01:28.373834980 +0100
|
||||
@@ -623,13 +623,6 @@ config("compiler") {
|
||||
cflags += [ "-ffp-contract=off" ]
|
||||
}
|
||||
|
||||
- # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF
|
||||
- # (excluding toolchains that use an older version of LLVM).
|
||||
- # TODO(crbug.com/376278218): This causes segfault on Linux ARM builds.
|
||||
- if (is_linux && !llvm_android_mainline && current_cpu != "arm" &&
|
||||
- default_toolchain != "//build/toolchain/cros:target") {
|
||||
- cflags += [ "-Wa,--crel,--allow-experimental-crel" ]
|
||||
- }
|
||||
}
|
||||
|
||||
# C11/C++11 compiler flags setup.
|
||||
12
chromium-133-clang18-template.patch
Normal file
12
chromium-133-clang18-template.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
diff -up chromium-133.0.6943.53/chrome/browser/compose/compose_session.cc.me chromium-133.0.6943.53/chrome/browser/compose/compose_session.cc
|
||||
--- chromium-133.0.6943.53/chrome/browser/compose/compose_session.cc.me 2025-02-10 14:16:34.810693753 +0100
|
||||
+++ chromium-133.0.6943.53/chrome/browser/compose/compose_session.cc 2025-02-10 14:16:39.747791800 +0100
|
||||
@@ -543,7 +543,7 @@ void ComposeSession::RequestWithSession(
|
||||
// execution in case request fails.
|
||||
compose::LogComposeRequestReason(request_reason);
|
||||
|
||||
- optimization_guide::ModelExecutionSessionCallbackWithLogging callback =
|
||||
+ optimization_guide::ModelExecutionSessionCallbackWithLogging<optimization_guide::proto::ComposeLoggingData> callback =
|
||||
base::BindRepeating(&ComposeSession::ModelExecutionCallback,
|
||||
weak_ptr_factory_.GetWeakPtr(),
|
||||
std::move(request_timer), request_id_, request_reason,
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_auralinux_browsertest.cc.than chromium-134.0.6998.15/content/browser/accessibility/accessibility_auralinux_browsertest.cc
|
||||
--- chromium-134.0.6998.15/content/browser/accessibility/accessibility_auralinux_browsertest.cc.than 2025-02-12 02:31:02.000000000 +0100
|
||||
+++ chromium-134.0.6998.15/content/browser/accessibility/accessibility_auralinux_browsertest.cc 2025-02-17 17:13:30.971343965 +0100
|
||||
diff -up chromium-133.0.6943.35/content/browser/accessibility/accessibility_auralinux_browsertest.cc.el8-atk-compiler-error chromium-133.0.6943.35/content/browser/accessibility/accessibility_auralinux_browsertest.cc
|
||||
--- chromium-133.0.6943.35/content/browser/accessibility/accessibility_auralinux_browsertest.cc.el8-atk-compiler-error 2025-01-28 23:03:27.000000000 +0100
|
||||
+++ chromium-133.0.6943.35/content/browser/accessibility/accessibility_auralinux_browsertest.cc 2025-02-04 10:56:08.414126354 +0100
|
||||
@@ -3,6 +3,7 @@
|
||||
// found in the LICENSE file.
|
||||
|
||||
|
|
@ -9,7 +9,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -550,6 +551,10 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -549,6 +550,10 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
g_object_unref(div_element);
|
||||
}
|
||||
|
||||
|
|
@ -20,7 +20,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
|
||||
TestCharacterExtentsWithInvalidArguments) {
|
||||
AtkText* atk_text = SetUpSampleParagraph();
|
||||
@@ -572,12 +577,14 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -571,12 +576,14 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
EXPECT_EQ(expect, width);
|
||||
EXPECT_EQ(expect, height);
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
|
||||
atk_text_get_character_extents(atk_text, invalid_offset, &x, &y, &width,
|
||||
&height, ATK_XY_WINDOW);
|
||||
@@ -596,12 +603,14 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -595,12 +602,14 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
EXPECT_EQ(expect, width);
|
||||
EXPECT_EQ(expect, height);
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
|
||||
atk_text_get_character_extents(atk_text, invalid_offset, &x, &y, &width,
|
||||
&height, ATK_XY_WINDOW);
|
||||
@@ -616,7 +625,9 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -615,7 +624,9 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
AtkCoordType kCoordinateTypes[] = {
|
||||
ATK_XY_SCREEN,
|
||||
ATK_XY_WINDOW,
|
||||
|
|
@ -60,7 +60,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
};
|
||||
|
||||
IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
|
||||
@@ -875,6 +886,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -874,6 +885,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
TestCharacterExtentsInScrollableInput();
|
||||
}
|
||||
|
||||
|
|
@ -68,7 +68,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
typedef bool (*ScrollToPointFunc)(AtkComponent* component,
|
||||
AtkCoordType coords,
|
||||
gint x,
|
||||
@@ -884,6 +896,18 @@ typedef bool (*ScrollToFunc)(AtkComponen
|
||||
@@ -883,6 +895,18 @@ typedef bool (*ScrollToFunc)(AtkComponen
|
||||
// TODO(crbug.com/40866728): Enable this test.
|
||||
IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
|
||||
DISABLED_TestScrollToPoint) {
|
||||
|
|
@ -87,7 +87,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
LoadSampleParagraphInScrollableDocument();
|
||||
AtkText* atk_text = GetSampleParagraph();
|
||||
ASSERT_TRUE(ATK_IS_COMPONENT(atk_text));
|
||||
@@ -896,7 +920,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -895,7 +919,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
AccessibilityNotificationWaiter location_changed_waiter(
|
||||
shell()->web_contents(), ui::kAXModeComplete,
|
||||
ax::mojom::Event::kLocationChanged);
|
||||
|
|
@ -96,7 +96,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
ASSERT_TRUE(location_changed_waiter.WaitForNotification());
|
||||
|
||||
atk_component_get_extents(atk_component, &x, &y, nullptr, nullptr,
|
||||
@@ -905,20 +929,20 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -904,20 +928,20 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
EXPECT_GT(prev_y, y);
|
||||
|
||||
constexpr int kScrollToY = 0;
|
||||
|
|
@ -120,7 +120,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
ASSERT_TRUE(location_changed_waiter.WaitForNotification());
|
||||
atk_component_get_extents(atk_component, nullptr, &y, nullptr, nullptr,
|
||||
ATK_XY_SCREEN);
|
||||
@@ -935,6 +959,17 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -934,6 +958,17 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
// TODO(crbug.com/40866728): Enable this test.
|
||||
IN_PROC_BROWSER_TEST_F(AccessibilityAuraLinuxBrowserTest,
|
||||
DISABLED_TestScrollTo) {
|
||||
|
|
@ -138,7 +138,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
LoadInitialAccessibilityTreeFromHtml(
|
||||
R"HTML(<!DOCTYPE html>
|
||||
<html>
|
||||
@@ -976,8 +1011,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -975,8 +1010,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
AccessibilityNotificationWaiter waiter(
|
||||
shell()->web_contents(), ui::kAXModeComplete,
|
||||
ax::mojom::Event::kScrollPositionChanged);
|
||||
|
|
@ -148,7 +148,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
ASSERT_TRUE(waiter.WaitForNotification());
|
||||
int x, y;
|
||||
atk_component_get_extents(ATK_COMPONENT(target), &x, &y, nullptr, nullptr,
|
||||
@@ -985,40 +1019,35 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -984,40 +1018,35 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
EXPECT_EQ(y, doc_y);
|
||||
EXPECT_NE(x, doc_x);
|
||||
|
||||
|
|
@ -194,7 +194,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
ASSERT_TRUE(waiter.WaitForNotification());
|
||||
atk_component_get_extents(ATK_COMPONENT(target2), &x, &y, nullptr, nullptr,
|
||||
ATK_XY_SCREEN);
|
||||
@@ -1050,10 +1079,39 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -1049,10 +1078,39 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
g_object_unref(target2);
|
||||
g_object_unref(target3);
|
||||
}
|
||||
|
|
@ -234,7 +234,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
LoadInitialAccessibilityTreeFromHtml(
|
||||
R"HTML(<!DOCTYPE html>
|
||||
<html>
|
||||
@@ -1087,8 +1145,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -1086,8 +1144,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
AccessibilityNotificationWaiter waiter(
|
||||
shell()->web_contents(), ui::kAXModeComplete,
|
||||
ax::mojom::Event::kScrollPositionChanged);
|
||||
|
|
@ -244,7 +244,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
ASSERT_TRUE(waiter.WaitForNotification());
|
||||
int x, y;
|
||||
atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr,
|
||||
@@ -1096,40 +1153,37 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -1095,40 +1152,37 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
EXPECT_EQ(y, doc_y);
|
||||
EXPECT_NE(x, doc_x);
|
||||
|
||||
|
|
@ -292,7 +292,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
ASSERT_TRUE(waiter.WaitForNotification());
|
||||
atk_text_get_character_extents(ATK_TEXT(target1), 1, &x, &y, nullptr, nullptr,
|
||||
ATK_XY_SCREEN);
|
||||
@@ -1139,9 +1193,42 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -1138,9 +1192,42 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
g_object_unref(target1);
|
||||
}
|
||||
|
||||
|
|
@ -335,7 +335,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
LoadSampleParagraphInScrollableDocument();
|
||||
AtkText* atk_text = GetSampleParagraph();
|
||||
ASSERT_TRUE(ATK_IS_COMPONENT(atk_text));
|
||||
@@ -1154,7 +1241,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -1153,7 +1240,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
AccessibilityNotificationWaiter location_changed_waiter(
|
||||
shell()->web_contents(), ui::kAXModeComplete,
|
||||
ax::mojom::Event::kLocationChanged);
|
||||
|
|
@ -344,7 +344,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
ASSERT_TRUE(location_changed_waiter.WaitForNotification());
|
||||
|
||||
atk_text_get_character_extents(atk_text, 1, &x, &y, nullptr, nullptr,
|
||||
@@ -1163,22 +1250,20 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -1162,22 +1249,20 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
EXPECT_GT(prev_y, y);
|
||||
|
||||
constexpr int kScrollToY = 0;
|
||||
|
|
@ -370,7 +370,7 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
ASSERT_TRUE(location_changed_waiter.WaitForNotification());
|
||||
atk_text_get_character_extents(atk_text, 1, &x, &y, nullptr, nullptr,
|
||||
ATK_XY_SCREEN);
|
||||
@@ -1194,6 +1279,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
@@ -1193,6 +1278,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityAura
|
||||
|
||||
g_object_unref(atk_text);
|
||||
}
|
||||
|
|
@ -378,10 +378,24 @@ diff -up chromium-134.0.6998.15/content/browser/accessibility/accessibility_aura
|
|||
|
||||
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
|
||||
// Flaky on crbug.com/1026149
|
||||
diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.cc.than chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.cc
|
||||
--- chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.cc.than 2025-02-12 02:31:02.000000000 +0100
|
||||
+++ chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.cc 2025-02-17 17:13:30.972343990 +0100
|
||||
@@ -48,14 +48,33 @@
|
||||
diff -up chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.cc.el8-atk-compiler-error chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.cc
|
||||
--- chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.cc.el8-atk-compiler-error 2025-01-28 23:03:27.000000000 +0100
|
||||
+++ chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.cc 2025-02-04 10:56:08.424126602 +0100
|
||||
@@ -2,12 +2,12 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
-#include "base/version.h"
|
||||
#ifdef UNSAFE_BUFFERS_BUILD
|
||||
// TODO(crbug.com/40285824): Remove this and convert code to safer constructs.
|
||||
#pragma allow_unsafe_buffers
|
||||
#endif
|
||||
|
||||
+#include <dlfcn.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <algorithm>
|
||||
@@ -47,14 +47,33 @@
|
||||
#include "ui/accessibility/platform/child_iterator.h"
|
||||
#include "ui/gfx/geometry/rect_conversions.h"
|
||||
|
||||
|
|
@ -423,7 +437,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
|
||||
namespace ui {
|
||||
|
||||
@@ -147,11 +166,29 @@ AtkObject* g_active_top_level_frame = nu
|
||||
@@ -146,11 +165,29 @@ AtkObject* g_active_top_level_frame = nu
|
||||
|
||||
AtkObject* g_active_views_dialog = nullptr;
|
||||
|
||||
|
|
@ -453,7 +467,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
|
||||
using GetTypeFunc = GType (*)();
|
||||
using GetColumnHeaderCellsFunc = GPtrArray* (*)(AtkTableCell* cell);
|
||||
@@ -162,6 +199,11 @@ using GetRowColumnSpanFunc = bool (*)(At
|
||||
@@ -161,6 +198,11 @@ using GetRowColumnSpanFunc = bool (*)(At
|
||||
gint* row_span,
|
||||
gint* col_span);
|
||||
|
||||
|
|
@ -465,7 +479,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
// The ATK API often requires pointers to be used as out arguments, while
|
||||
// allowing for those pointers to be null if the caller is not interested in
|
||||
// the value. This function is a simpler helper to avoid continually checking
|
||||
@@ -171,35 +213,17 @@ void SetIntPointerValueIfNotNull(int* po
|
||||
@@ -170,35 +212,17 @@ void SetIntPointerValueIfNotNull(int* po
|
||||
*pointer = value;
|
||||
}
|
||||
|
||||
|
|
@ -507,7 +521,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
|
||||
AtkObject* FindAtkObjectParentFrame(AtkObject* atk_object) {
|
||||
AXPlatformNodeAuraLinux* node =
|
||||
@@ -298,10 +322,12 @@ AXCoordinateSystem AtkCoordTypeToAXCoord
|
||||
@@ -297,10 +321,12 @@ AXCoordinateSystem AtkCoordTypeToAXCoord
|
||||
return AXCoordinateSystem::kScreenDIPs;
|
||||
case ATK_XY_WINDOW:
|
||||
return AXCoordinateSystem::kRootFrame;
|
||||
|
|
@ -520,7 +534,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
default:
|
||||
return AXCoordinateSystem::kScreenDIPs;
|
||||
}
|
||||
@@ -514,6 +540,7 @@ gboolean GrabFocus(AtkComponent* atk_com
|
||||
@@ -513,6 +539,7 @@ gboolean GrabFocus(AtkComponent* atk_com
|
||||
return obj->GrabFocus();
|
||||
}
|
||||
|
||||
|
|
@ -528,7 +542,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
gboolean ScrollTo(AtkComponent* atk_component, AtkScrollType scroll_type) {
|
||||
g_return_val_if_fail(ATK_IS_COMPONENT(atk_component), FALSE);
|
||||
|
||||
@@ -540,6 +567,7 @@ gboolean ScrollToPoint(AtkComponent* atk
|
||||
@@ -539,6 +566,7 @@ gboolean ScrollToPoint(AtkComponent* atk
|
||||
obj->ScrollToPoint(atk_coord_type, x, y);
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -536,7 +550,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
|
||||
void Init(AtkComponentIface* iface) {
|
||||
iface->get_extents = GetExtents;
|
||||
@@ -547,10 +575,12 @@ void Init(AtkComponentIface* iface) {
|
||||
@@ -546,10 +574,12 @@ void Init(AtkComponentIface* iface) {
|
||||
iface->get_size = GetSize;
|
||||
iface->ref_accessible_at_point = RefAccesibleAtPoint;
|
||||
iface->grab_focus = GrabFocus;
|
||||
|
|
@ -549,7 +563,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
}
|
||||
|
||||
const GInterfaceInfo Info = {reinterpret_cast<GInterfaceInitFunc>(Init),
|
||||
@@ -1311,6 +1341,7 @@ gboolean AddSelection(AtkText* atk_text,
|
||||
@@ -1310,6 +1340,7 @@ gboolean AddSelection(AtkText* atk_text,
|
||||
return SetSelection(atk_text, 0, start_offset, end_offset);
|
||||
}
|
||||
|
||||
|
|
@ -557,7 +571,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
char* GetStringAtOffset(AtkText* atk_text,
|
||||
int offset,
|
||||
AtkTextGranularity atk_granularity,
|
||||
@@ -1325,7 +1356,9 @@ char* GetStringAtOffset(AtkText* atk_tex
|
||||
@@ -1324,7 +1355,9 @@ char* GetStringAtOffset(AtkText* atk_tex
|
||||
return GetTextWithBoundaryType(atk_text, offset, boundary, start_offset,
|
||||
end_offset);
|
||||
}
|
||||
|
|
@ -567,7 +581,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
gfx::Rect GetUnclippedParentHypertextRangeBoundsRect(
|
||||
AXPlatformNodeDelegate* ax_platform_node_delegate,
|
||||
const int start_offset,
|
||||
@@ -1349,6 +1382,7 @@ gfx::Rect GetUnclippedParentHypertextRan
|
||||
@@ -1348,6 +1381,7 @@ gfx::Rect GetUnclippedParentHypertextRan
|
||||
AXClippingBehavior::kClipped)
|
||||
.OffsetFromOrigin();
|
||||
}
|
||||
|
|
@ -575,7 +589,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
|
||||
void GetCharacterExtents(AtkText* atk_text,
|
||||
int offset,
|
||||
@@ -1364,10 +1398,12 @@ void GetCharacterExtents(AtkText* atk_te
|
||||
@@ -1363,10 +1397,12 @@ void GetCharacterExtents(AtkText* atk_te
|
||||
AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(atk_text));
|
||||
if (obj) {
|
||||
switch (coordinate_type) {
|
||||
|
|
@ -588,7 +602,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
default:
|
||||
rect = obj->GetDelegate()->GetHypertextRangeBoundsRect(
|
||||
obj->UnicodeToUTF16OffsetInText(offset),
|
||||
@@ -1403,10 +1439,12 @@ void GetRangeExtents(AtkText* atk_text,
|
||||
@@ -1402,10 +1438,12 @@ void GetRangeExtents(AtkText* atk_text,
|
||||
AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(atk_text));
|
||||
if (obj) {
|
||||
switch (coordinate_type) {
|
||||
|
|
@ -601,7 +615,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
default:
|
||||
rect = obj->GetDelegate()->GetHypertextRangeBoundsRect(
|
||||
obj->UnicodeToUTF16OffsetInText(start_offset),
|
||||
@@ -1456,6 +1494,7 @@ AtkAttributeSet* GetDefaultAttributes(At
|
||||
@@ -1455,6 +1493,7 @@ AtkAttributeSet* GetDefaultAttributes(At
|
||||
return ToAtkAttributeSet(obj->GetDefaultTextAttributes());
|
||||
}
|
||||
|
||||
|
|
@ -609,7 +623,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
gboolean ScrollSubstringTo(AtkText* atk_text,
|
||||
gint start_offset,
|
||||
gint end_offset,
|
||||
@@ -1486,6 +1525,7 @@ gboolean ScrollSubstringToPoint(AtkText*
|
||||
@@ -1485,6 +1524,7 @@ gboolean ScrollSubstringToPoint(AtkText*
|
||||
return obj->ScrollSubstringToPoint(start_offset, end_offset, atk_coord_type,
|
||||
x, y);
|
||||
}
|
||||
|
|
@ -617,7 +631,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
|
||||
void Init(AtkTextIface* iface) {
|
||||
iface->get_text = GetText;
|
||||
@@ -1508,12 +1548,16 @@ void Init(AtkTextIface* iface) {
|
||||
@@ -1507,12 +1547,16 @@ void Init(AtkTextIface* iface) {
|
||||
iface->get_run_attributes = GetRunAttributes;
|
||||
iface->get_default_attributes = GetDefaultAttributes;
|
||||
|
||||
|
|
@ -634,7 +648,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
}
|
||||
|
||||
const GInterfaceInfo Info = {reinterpret_cast<GInterfaceInitFunc>(Init),
|
||||
@@ -1916,11 +1960,15 @@ const GInterfaceInfo Info = {reinterpret
|
||||
@@ -1915,11 +1959,15 @@ const GInterfaceInfo Info = {reinterpret
|
||||
|
||||
} // namespace atk_table
|
||||
|
||||
|
|
@ -651,7 +665,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
|
||||
if (const AXPlatformNodeBase* obj =
|
||||
AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
|
||||
@@ -1932,8 +1980,10 @@ gint GetColumnSpan(AtkTableCell* cell) {
|
||||
@@ -1931,8 +1979,10 @@ gint GetColumnSpan(AtkTableCell* cell) {
|
||||
}
|
||||
|
||||
GPtrArray* GetColumnHeaderCells(AtkTableCell* cell) {
|
||||
|
|
@ -663,7 +677,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
|
||||
GPtrArray* array = g_ptr_array_new_with_free_func(g_object_unref);
|
||||
|
||||
@@ -1967,8 +2017,10 @@ GPtrArray* GetColumnHeaderCells(AtkTable
|
||||
@@ -1966,8 +2016,10 @@ GPtrArray* GetColumnHeaderCells(AtkTable
|
||||
}
|
||||
|
||||
gboolean GetCellPosition(AtkTableCell* cell, gint* row, gint* column) {
|
||||
|
|
@ -675,7 +689,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
|
||||
if (auto* obj = AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
|
||||
std::optional<int> row_index = obj->GetTableRow();
|
||||
@@ -1985,8 +2037,9 @@ gboolean GetCellPosition(AtkTableCell* c
|
||||
@@ -1984,8 +2036,9 @@ gboolean GetCellPosition(AtkTableCell* c
|
||||
}
|
||||
|
||||
gint GetRowSpan(AtkTableCell* cell) {
|
||||
|
|
@ -686,7 +700,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
|
||||
if (auto* obj = AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
|
||||
// If the object is not a cell, we return 0.
|
||||
@@ -1997,8 +2050,10 @@ gint GetRowSpan(AtkTableCell* cell) {
|
||||
@@ -1996,8 +2049,10 @@ gint GetRowSpan(AtkTableCell* cell) {
|
||||
}
|
||||
|
||||
GPtrArray* GetRowHeaderCells(AtkTableCell* cell) {
|
||||
|
|
@ -698,7 +712,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
|
||||
GPtrArray* array = g_ptr_array_new_with_free_func(g_object_unref);
|
||||
|
||||
@@ -2032,8 +2087,10 @@ GPtrArray* GetRowHeaderCells(AtkTableCel
|
||||
@@ -2031,8 +2086,10 @@ GPtrArray* GetRowHeaderCells(AtkTableCel
|
||||
}
|
||||
|
||||
AtkObject* GetTable(AtkTableCell* cell) {
|
||||
|
|
@ -710,7 +724,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
|
||||
if (auto* obj = AXPlatformNodeAuraLinux::FromAtkObject(ATK_OBJECT(cell))) {
|
||||
if (auto* table = obj->GetTable())
|
||||
@@ -2059,6 +2116,8 @@ const GInterfaceInfo Info = {reinterpret
|
||||
@@ -2058,6 +2115,8 @@ const GInterfaceInfo Info = {reinterpret
|
||||
|
||||
} // namespace atk_table_cell
|
||||
|
||||
|
|
@ -719,7 +733,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
namespace atk_object {
|
||||
|
||||
gpointer kAXPlatformNodeAuraLinuxParentClass = nullptr;
|
||||
@@ -2325,6 +2384,50 @@ void Detach(AXPlatformNodeAuraLinuxObjec
|
||||
@@ -2324,6 +2383,50 @@ void Detach(AXPlatformNodeAuraLinuxObjec
|
||||
|
||||
} // namespace
|
||||
|
||||
|
|
@ -770,7 +784,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
void AXPlatformNodeAuraLinux::EnsureGTypeInit() {
|
||||
#if !GLIB_CHECK_VERSION(2, 36, 0)
|
||||
static bool first_time = true;
|
||||
@@ -2432,8 +2535,11 @@ GType AXPlatformNodeAuraLinux::GetAccess
|
||||
@@ -2431,8 +2534,11 @@ GType AXPlatformNodeAuraLinux::GetAccess
|
||||
g_type_add_interface_static(type, ATK_TYPE_TABLE, &atk_table::Info);
|
||||
|
||||
if (interface_mask_.Implements(ImplementedAtkInterfaces::Value::kTableCell)) {
|
||||
|
|
@ -784,7 +798,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
}
|
||||
|
||||
return type;
|
||||
@@ -2668,9 +2774,9 @@ AtkRole AXPlatformNodeAuraLinux::GetAtkR
|
||||
@@ -2667,9 +2773,9 @@ AtkRole AXPlatformNodeAuraLinux::GetAtkR
|
||||
case ax::mojom::Role::kComplementary:
|
||||
return ATK_ROLE_LANDMARK;
|
||||
case ax::mojom::Role::kContentDeletion:
|
||||
|
|
@ -796,7 +810,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
case ax::mojom::Role::kContentInfo:
|
||||
case ax::mojom::Role::kFooter:
|
||||
return ATK_ROLE_LANDMARK;
|
||||
@@ -3106,12 +3212,14 @@ void AXPlatformNodeAuraLinux::GetAtkStat
|
||||
@@ -3105,12 +3211,14 @@ void AXPlatformNodeAuraLinux::GetAtkStat
|
||||
static_cast<int32_t>(ax::mojom::AriaCurrentState::kFalse)) {
|
||||
atk_state_set_add_state(atk_state_set, ATK_STATE_ACTIVE);
|
||||
}
|
||||
|
|
@ -811,7 +825,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
if (GetBoolAttribute(ax::mojom::BoolAttribute::kBusy))
|
||||
atk_state_set_add_state(atk_state_set, ATK_STATE_BUSY);
|
||||
if (GetBoolAttribute(ax::mojom::BoolAttribute::kModal))
|
||||
@@ -3150,9 +3258,11 @@ void AXPlatformNodeAuraLinux::GetAtkStat
|
||||
@@ -3149,9 +3257,11 @@ void AXPlatformNodeAuraLinux::GetAtkStat
|
||||
if (GetData().GetRestriction() != ax::mojom::Restriction::kDisabled) {
|
||||
if (GetDelegate()->IsReadOnlySupported() &&
|
||||
GetDelegate()->IsReadOnlyOrDisabled()) {
|
||||
|
|
@ -823,7 +837,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
} else {
|
||||
atk_state_set_add_state(atk_state_set, ATK_STATE_ENABLED);
|
||||
atk_state_set_add_state(atk_state_set, ATK_STATE_SENSITIVE);
|
||||
@@ -3186,12 +3296,16 @@ struct AtkIntListRelation {
|
||||
@@ -3185,12 +3295,16 @@ struct AtkIntListRelation {
|
||||
static AtkIntListRelation kIntListRelations[] = {
|
||||
{ax::mojom::IntListAttribute::kControlsIds, ATK_RELATION_CONTROLLER_FOR,
|
||||
ATK_RELATION_CONTROLLED_BY},
|
||||
|
|
@ -840,7 +854,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
{ax::mojom::IntListAttribute::kFlowtoIds, ATK_RELATION_FLOWS_TO,
|
||||
ATK_RELATION_FLOWS_FROM},
|
||||
{ax::mojom::IntListAttribute::kLabelledbyIds, ATK_RELATION_LABELLED_BY,
|
||||
@@ -3982,6 +4096,7 @@ void AXPlatformNodeAuraLinux::OnReadonly
|
||||
@@ -3981,6 +4095,7 @@ void AXPlatformNodeAuraLinux::OnReadonly
|
||||
if (!obj)
|
||||
return;
|
||||
|
||||
|
|
@ -848,7 +862,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
// Runtime check in case we were compiled with a newer version of ATK.
|
||||
if (!PlatformSupportsState(ATK_STATE_READ_ONLY))
|
||||
return;
|
||||
@@ -3989,6 +4104,7 @@ void AXPlatformNodeAuraLinux::OnReadonly
|
||||
@@ -3988,6 +4103,7 @@ void AXPlatformNodeAuraLinux::OnReadonly
|
||||
atk_object_notify_state_change(
|
||||
obj, ATK_STATE_READ_ONLY,
|
||||
GetData().GetRestriction() == ax::mojom::Restriction::kReadOnly);
|
||||
|
|
@ -856,7 +870,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
}
|
||||
|
||||
void AXPlatformNodeAuraLinux::OnInvalidStatusChanged() {
|
||||
@@ -4315,11 +4431,13 @@ gfx::Rect AXPlatformNodeAuraLinux::GetEx
|
||||
@@ -4314,11 +4430,13 @@ gfx::Rect AXPlatformNodeAuraLinux::GetEx
|
||||
extents.Offset(window_origin);
|
||||
break;
|
||||
}
|
||||
|
|
@ -870,7 +884,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
}
|
||||
|
||||
return extents;
|
||||
@@ -4761,6 +4879,7 @@ bool AXPlatformNodeAuraLinux::IsInLiveRe
|
||||
@@ -4755,6 +4873,7 @@ bool AXPlatformNodeAuraLinux::IsInLiveRe
|
||||
return HasStringAttribute(ax::mojom::StringAttribute::kContainerLiveStatus);
|
||||
}
|
||||
|
||||
|
|
@ -878,7 +892,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
void AXPlatformNodeAuraLinux::ScrollToPoint(AtkCoordType atk_coord_type,
|
||||
int x,
|
||||
int y) {
|
||||
@@ -4833,7 +4952,9 @@ void AXPlatformNodeAuraLinux::ScrollNode
|
||||
@@ -4827,7 +4946,9 @@ void AXPlatformNodeAuraLinux::ScrollNode
|
||||
rect -= rect.OffsetFromOrigin();
|
||||
ScrollNodeRectIntoView(rect, atk_scroll_type);
|
||||
}
|
||||
|
|
@ -888,7 +902,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
std::optional<gfx::Rect>
|
||||
AXPlatformNodeAuraLinux::GetUnclippedHypertextRangeBoundsRect(int start_offset,
|
||||
int end_offset) {
|
||||
@@ -4892,6 +5013,7 @@ bool AXPlatformNodeAuraLinux::ScrollSubs
|
||||
@@ -4886,6 +5007,7 @@ bool AXPlatformNodeAuraLinux::ScrollSubs
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
@ -896,7 +910,7 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
|
||||
void AXPlatformNodeAuraLinux::ComputeStylesIfNeeded() {
|
||||
if (!offset_to_text_attributes_.empty())
|
||||
@@ -5074,8 +5196,10 @@ gfx::Point AXPlatformNodeAuraLinux::Conv
|
||||
@@ -5066,8 +5188,10 @@ gfx::Point AXPlatformNodeAuraLinux::Conv
|
||||
switch (atk_coord_type) {
|
||||
case ATK_XY_WINDOW:
|
||||
return point + GetParentFrameOriginInScreenCoordinates();
|
||||
|
|
@ -907,9 +921,9 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
case ATK_XY_SCREEN:
|
||||
default:
|
||||
return point;
|
||||
diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.h.than chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.h
|
||||
--- chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.h.than 2025-02-12 02:31:02.000000000 +0100
|
||||
+++ chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux.h 2025-02-17 17:13:30.973344015 +0100
|
||||
diff -up chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.h.el8-atk-compiler-error chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.h
|
||||
--- chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.h.el8-atk-compiler-error 2025-01-28 23:03:27.000000000 +0100
|
||||
+++ chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux.h 2025-02-04 10:56:08.439126973 +0100
|
||||
@@ -52,6 +52,31 @@ struct FindInPageResultInfo {
|
||||
}
|
||||
};
|
||||
|
|
@ -942,9 +956,9 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
// This class with an enum is used to generate a bitmask which tracks the ATK
|
||||
// interfaces that an AXPlatformNodeAuraLinux's ATKObject implements.
|
||||
class ImplementedAtkInterfaces {
|
||||
diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc.than chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc
|
||||
--- chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc.than 2025-02-12 02:31:02.000000000 +0100
|
||||
+++ chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc 2025-02-17 17:13:30.973344015 +0100
|
||||
diff -up chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc.el8-atk-compiler-error chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc
|
||||
--- chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc.el8-atk-compiler-error 2025-01-28 23:03:27.000000000 +0100
|
||||
+++ chromium-133.0.6943.35/ui/accessibility/platform/ax_platform_node_auralinux_unittest.cc 2025-02-04 12:06:15.819918562 +0100
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
#include <atk/atk.h>
|
||||
|
|
@ -1018,9 +1032,9 @@ diff -up chromium-134.0.6998.15/ui/accessibility/platform/ax_platform_node_aural
|
|||
atk_component_get_extents(ATK_COMPONENT(child_obj), &x_left, &y_top, &width,
|
||||
&height, ATK_XY_SCREEN);
|
||||
EXPECT_EQ(0, x_left);
|
||||
diff -up chromium-134.0.6998.15/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc.than chromium-134.0.6998.15/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc
|
||||
--- chromium-134.0.6998.15/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc.than 2025-02-12 02:31:02.000000000 +0100
|
||||
+++ chromium-134.0.6998.15/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc 2025-02-17 17:13:30.974344040 +0100
|
||||
diff -up chromium-133.0.6943.35/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc.el8-atk-compiler-error chromium-133.0.6943.35/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc
|
||||
--- chromium-133.0.6943.35/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc.el8-atk-compiler-error 2025-01-28 23:03:27.000000000 +0100
|
||||
+++ chromium-133.0.6943.35/ui/accessibility/platform/inspect/ax_tree_formatter_auralinux.cc 2025-02-04 10:56:08.464127592 +0100
|
||||
@@ -474,18 +474,34 @@ void AXTreeFormatterAuraLinux::AddTableC
|
||||
int row = 0, col = 0, row_span = 0, col_span = 0;
|
||||
int n_row_headers = 0, n_column_headers = 0;
|
||||
21
chromium-133-pipewire-cast.patch
Normal file
21
chromium-133-pipewire-cast.patch
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
diff -up chromium-133.0.6943.53/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc.me chromium-133.0.6943.53/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc
|
||||
--- chromium-133.0.6943.53/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc.me 2025-02-12 19:09:54.742875003 +0100
|
||||
+++ chromium-133.0.6943.53/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc 2025-02-12 19:12:17.492620559 +0100
|
||||
@@ -87,7 +87,7 @@ PipeWireNode::PipeWireNode(PipeWireSessi
|
||||
.param = OnNodeParam,
|
||||
};
|
||||
|
||||
- pw_node_add_listener(proxy_, &node_listener_, &node_events, this);
|
||||
+ pw_node_add_listener((struct pw_node*) proxy_, &node_listener_, &node_events, this);
|
||||
}
|
||||
|
||||
// static
|
||||
@@ -119,7 +119,7 @@ void PipeWireNode::OnNodeInfo(void* data
|
||||
uint32_t id = info->params[i].id;
|
||||
if (id == SPA_PARAM_EnumFormat &&
|
||||
info->params[i].flags & SPA_PARAM_INFO_READ) {
|
||||
- pw_node_enum_params(that->proxy_, 0, id, 0, UINT32_MAX, nullptr);
|
||||
+ pw_node_enum_params((struct pw_node*)that->proxy_, 0, id, 0, UINT32_MAX, nullptr);
|
||||
break;
|
||||
}
|
||||
}
|
||||
11
chromium-133-rust-crc32fast.patch
Normal file
11
chromium-133-rust-crc32fast.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
diff -up chromium-133.0.6943.53/third_party/rust/crc32fast/v1/BUILD.gn.me chromium-133.0.6943.53/third_party/rust/crc32fast/v1/BUILD.gn
|
||||
--- chromium-133.0.6943.53/third_party/rust/crc32fast/v1/BUILD.gn.me 2025-02-11 00:13:06.132152874 +0100
|
||||
+++ chromium-133.0.6943.53/third_party/rust/crc32fast/v1/BUILD.gn 2025-02-11 00:28:22.785233997 +0100
|
||||
@@ -41,7 +41,6 @@ cargo_crate("lib") {
|
||||
proc_macro_configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
deps = [ "//third_party/rust/cfg_if/v1:lib" ]
|
||||
features = [
|
||||
- "nightly",
|
||||
"std",
|
||||
]
|
||||
rustflags = [
|
||||
14
chromium-134-clang-unknown-option.patch
Normal file
14
chromium-134-clang-unknown-option.patch
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
Fix warning: unknown warning option '-Wno-nontrivial-memcall'
|
||||
|
||||
diff -up chromium-134.0.6998.23/build/config/compiler/BUILD.gn.than chromium-134.0.6998.23/build/config/compiler/BUILD.gn
|
||||
--- chromium-134.0.6998.23/build/config/compiler/BUILD.gn.than 2025-02-24 09:59:50.096821901 +0100
|
||||
+++ chromium-134.0.6998.23/build/config/compiler/BUILD.gn 2025-02-24 10:01:12.160253620 +0100
|
||||
@@ -1982,7 +1982,7 @@ config("default_warnings") {
|
||||
cflags_cc += [ "-Wno-missing-template-arg-list-after-template-kw" ]
|
||||
|
||||
# TODO(crbug.com/376641662): Fix and re-enable.
|
||||
- cflags += [ "-Wno-nontrivial-memcall" ]
|
||||
+ # cflags += [ "-Wno-nontrivial-memcall" ]
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff -up chromium-134.0.6998.23/base/containers/to_value_list.h.me chromium-134.0.6998.23/base/containers/to_value_list.h
|
||||
--- chromium-134.0.6998.23/base/containers/to_value_list.h.me 2025-02-23 22:39:33.369668072 +0100
|
||||
+++ chromium-134.0.6998.23/base/containers/to_value_list.h 2025-02-23 22:42:42.653990901 +0100
|
||||
@@ -36,8 +36,7 @@ Value::List ToValueList(Range&& range, P
|
||||
auto container = Value::List::with_capacity(std::ranges::size(range));
|
||||
std::ranges::for_each(
|
||||
std::forward<Range>(range),
|
||||
- [&]<typename T>(T&& value) { container.Append(std::forward<T>(value)); },
|
||||
- std::move(proj));
|
||||
+ [&](auto&& value) { container.Append(std::invoke(proj, std::forward<decltype(*std::ranges::begin(range))>(value))); });
|
||||
return container;
|
||||
}
|
||||
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
diff -up chromium-136.0.7103.33/third_party/node/node.gni.than chromium-136.0.7103.33/third_party/node/node.gni
|
||||
--- chromium-136.0.7103.33/third_party/node/node.gni.than 2025-04-21 17:53:06.742517984 +0200
|
||||
+++ chromium-136.0.7103.33/third_party/node/node.gni 2025-04-21 17:54:05.452645652 +0200
|
||||
@@ -35,16 +35,5 @@ template("node") {
|
||||
inputs += [ "//third_party/node/mac/node-darwin-x64/bin/node" ]
|
||||
}
|
||||
}
|
||||
-
|
||||
- # Automatically add a dependency to ":check_version" to ensure NodeJS is
|
||||
- # always running the expected version, except when the ':check_version'
|
||||
- # target itself is running in which case it shouldn't depend on itself.
|
||||
- if (get_label_info(":" + target_name, "label_no_toolchain") !=
|
||||
- "//third_party/node:check_version") {
|
||||
- if (!defined(deps)) {
|
||||
- deps = []
|
||||
- }
|
||||
- deps += [ "//third_party/node:check_version" ]
|
||||
- }
|
||||
}
|
||||
}
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
diff -up chromium-136.0.7103.48/third_party/rust/chromium_crates_io/vendor/skrifa-0.29.2/src/glyph_name.rs.than chromium-136.0.7103.48/third_party/rust/chromium_crates_io/vendor/skrifa-0.29.2/src/glyph_name.rs
|
||||
--- chromium-136.0.7103.48/third_party/rust/chromium_crates_io/vendor/skrifa-0.29.2/src/glyph_name.rs.than 2025-04-29 08:36:33.385071420 +0200
|
||||
+++ chromium-136.0.7103.48/third_party/rust/chromium_crates_io/vendor/skrifa-0.29.2/src/glyph_name.rs 2025-04-29 08:42:21.465525421 +0200
|
||||
@@ -94,7 +94,7 @@ impl<'a> GlyphNames<'a> {
|
||||
_ => None,
|
||||
};
|
||||
// If name is empty string, synthesize it
|
||||
- if name.as_ref().is_none_or(|s| s.is_empty()) {
|
||||
+ if name.is_none() || name.as_ref().map_or(false, |s| s.is_empty()) {
|
||||
return Some(GlyphName::synthesize(glyph_id));
|
||||
}
|
||||
Some(name.unwrap_or_else(|| GlyphName::synthesize(glyph_id)))
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
diff -up chromium-136.0.7103.48/build/config/compiler/BUILD.gn.than chromium-136.0.7103.48/build/config/compiler/BUILD.gn
|
||||
--- chromium-136.0.7103.48/build/config/compiler/BUILD.gn.than 2025-04-28 15:44:08.883499599 +0200
|
||||
+++ chromium-136.0.7103.48/build/config/compiler/BUILD.gn 2025-04-28 15:44:47.624639772 +0200
|
||||
@@ -622,12 +622,6 @@ config("compiler") {
|
||||
cflags += [ "-ffp-contract=off" ]
|
||||
}
|
||||
|
||||
- # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF
|
||||
- # (excluding toolchains that use an older version of LLVM).
|
||||
- if (is_linux && !llvm_android_mainline &&
|
||||
- default_toolchain != "//build/toolchain/cros:target") {
|
||||
- cflags += [ "-Wa,--crel,--allow-experimental-crel" ]
|
||||
- }
|
||||
}
|
||||
|
||||
# C11/C++11 compiler flags setup.
|
||||
diff -up chromium-136.0.7103.48/tools/licenses/licenses.py.than chromium-136.0.7103.48/tools/licenses/licenses.py
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
diff -up chromium-138.0.7204.15/third_party/node/node.gni.me chromium-138.0.7204.15/third_party/node/node.gni
|
||||
--- chromium-138.0.7204.15/third_party/node/node.gni.me 2025-06-03 23:20:09.000000000 +0200
|
||||
+++ chromium-138.0.7204.15/third_party/node/node.gni 2025-06-09 09:59:21.788545159 +0200
|
||||
@@ -44,7 +44,6 @@ template("node") {
|
||||
if (!defined(deps)) {
|
||||
deps = []
|
||||
}
|
||||
- deps += [ "//third_party/node:check_version" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
diff -up chromium-138.0.7204.15/third_party/node/BUILD.gn.me chromium-138.0.7204.15/third_party/node/BUILD.gn
|
||||
diff -up chromium-138.0.7204.15/third_party/protobuf/proto_library.gni.me chromium-138.0.7204.15/third_party/protobuf/proto_library.gni
|
||||
--- chromium-138.0.7204.15/third_party/protobuf/proto_library.gni.me 2025-06-09 11:33:08.279645775 +0200
|
||||
+++ chromium-138.0.7204.15/third_party/protobuf/proto_library.gni 2025-06-09 12:10:07.040045476 +0200
|
||||
@@ -562,7 +562,6 @@ template("proto_library") {
|
||||
_protoc_gen_ts_path,
|
||||
"//tools/protoc_wrapper/protoc-gen-ts_proto.py",
|
||||
] + _protoc_gen_ts_runtime_deps
|
||||
- deps += [ "//third_party/node:check_version" ]
|
||||
}
|
||||
|
||||
if (_generate_with_plugin) {
|
||||
|
|
@ -1,158 +0,0 @@
|
|||
https://chromium-review.googlesource.com/c/chromium/src/+/6506529
|
||||
|
||||
Revert CL rolls ffmpeg for M138 as it breaks the build due to old ffmpeg version on EL9
|
||||
|
||||
diff -up chromium-138.0.7204.49/media/ffmpeg/ffmpeg_common.cc.me chromium-138.0.7204.49/media/ffmpeg/ffmpeg_common.cc
|
||||
--- chromium-138.0.7204.49/media/ffmpeg/ffmpeg_common.cc.me 2025-06-23 23:34:26.000000000 +0200
|
||||
+++ chromium-138.0.7204.49/media/ffmpeg/ffmpeg_common.cc 2025-06-25 15:13:17.958054182 +0200
|
||||
@@ -263,22 +263,22 @@ AVCodecID VideoCodecToCodecID(VideoCodec
|
||||
static VideoCodecProfile ProfileIDToVideoCodecProfile(int profile) {
|
||||
// Clear out the CONSTRAINED & INTRA flags which are strict subsets of the
|
||||
// corresponding profiles with which they're used.
|
||||
- profile &= ~AV_PROFILE_H264_CONSTRAINED;
|
||||
- profile &= ~AV_PROFILE_H264_INTRA;
|
||||
+ profile &= ~FF_PROFILE_H264_CONSTRAINED;
|
||||
+ profile &= ~FF_PROFILE_H264_INTRA;
|
||||
switch (profile) {
|
||||
- case AV_PROFILE_H264_BASELINE:
|
||||
+ case FF_PROFILE_H264_BASELINE:
|
||||
return H264PROFILE_BASELINE;
|
||||
- case AV_PROFILE_H264_MAIN:
|
||||
+ case FF_PROFILE_H264_MAIN:
|
||||
return H264PROFILE_MAIN;
|
||||
- case AV_PROFILE_H264_EXTENDED:
|
||||
+ case FF_PROFILE_H264_EXTENDED:
|
||||
return H264PROFILE_EXTENDED;
|
||||
- case AV_PROFILE_H264_HIGH:
|
||||
+ case FF_PROFILE_H264_HIGH:
|
||||
return H264PROFILE_HIGH;
|
||||
- case AV_PROFILE_H264_HIGH_10:
|
||||
+ case FF_PROFILE_H264_HIGH_10:
|
||||
return H264PROFILE_HIGH10PROFILE;
|
||||
- case AV_PROFILE_H264_HIGH_422:
|
||||
+ case FF_PROFILE_H264_HIGH_422:
|
||||
return H264PROFILE_HIGH422PROFILE;
|
||||
- case AV_PROFILE_H264_HIGH_444_PREDICTIVE:
|
||||
+ case FF_PROFILE_H264_HIGH_444_PREDICTIVE:
|
||||
return H264PROFILE_HIGH444PREDICTIVEPROFILE;
|
||||
default:
|
||||
DVLOG(1) << "Unknown profile id: " << profile;
|
||||
@@ -289,23 +289,23 @@ static VideoCodecProfile ProfileIDToVide
|
||||
static int VideoCodecProfileToProfileID(VideoCodecProfile profile) {
|
||||
switch (profile) {
|
||||
case H264PROFILE_BASELINE:
|
||||
- return AV_PROFILE_H264_BASELINE;
|
||||
+ return FF_PROFILE_H264_BASELINE;
|
||||
case H264PROFILE_MAIN:
|
||||
- return AV_PROFILE_H264_MAIN;
|
||||
+ return FF_PROFILE_H264_MAIN;
|
||||
case H264PROFILE_EXTENDED:
|
||||
- return AV_PROFILE_H264_EXTENDED;
|
||||
+ return FF_PROFILE_H264_EXTENDED;
|
||||
case H264PROFILE_HIGH:
|
||||
- return AV_PROFILE_H264_HIGH;
|
||||
+ return FF_PROFILE_H264_HIGH;
|
||||
case H264PROFILE_HIGH10PROFILE:
|
||||
- return AV_PROFILE_H264_HIGH_10;
|
||||
+ return FF_PROFILE_H264_HIGH_10;
|
||||
case H264PROFILE_HIGH422PROFILE:
|
||||
- return AV_PROFILE_H264_HIGH_422;
|
||||
+ return FF_PROFILE_H264_HIGH_422;
|
||||
case H264PROFILE_HIGH444PREDICTIVEPROFILE:
|
||||
- return AV_PROFILE_H264_HIGH_444_PREDICTIVE;
|
||||
+ return FF_PROFILE_H264_HIGH_444_PREDICTIVE;
|
||||
default:
|
||||
DVLOG(1) << "Unknown VideoCodecProfile: " << profile;
|
||||
}
|
||||
- return AV_PROFILE_UNKNOWN;
|
||||
+ return FF_PROFILE_UNKNOWN;
|
||||
}
|
||||
|
||||
SampleFormat AVSampleFormatToSampleFormat(AVSampleFormat sample_format,
|
||||
@@ -441,7 +441,7 @@ bool AVCodecContextToAudioDecoderConfig(
|
||||
// TODO(dalecurtis): Just use the profile from the codec context if ffmpeg
|
||||
// ever starts supporting xHE-AAC.
|
||||
// FFmpeg provides the (defined_profile - 1) for AVCodecContext::profile
|
||||
- if (codec_context->profile == AV_PROFILE_UNKNOWN ||
|
||||
+ if (codec_context->profile == FF_PROFILE_UNKNOWN ||
|
||||
codec_context->profile == mp4::AAC::kXHeAAcType - 1) {
|
||||
// Errors aren't fatal here, so just drop any MediaLog messages.
|
||||
NullMediaLog media_log;
|
||||
@@ -659,16 +659,16 @@ bool AVStreamToVideoDecoderConfig(const
|
||||
break;
|
||||
case VideoCodec::kVP9:
|
||||
switch (codec_context->profile) {
|
||||
- case AV_PROFILE_VP9_0:
|
||||
+ case FF_PROFILE_VP9_0:
|
||||
profile = VP9PROFILE_PROFILE0;
|
||||
break;
|
||||
- case AV_PROFILE_VP9_1:
|
||||
+ case FF_PROFILE_VP9_1:
|
||||
profile = VP9PROFILE_PROFILE1;
|
||||
break;
|
||||
- case AV_PROFILE_VP9_2:
|
||||
+ case FF_PROFILE_VP9_2:
|
||||
profile = VP9PROFILE_PROFILE2;
|
||||
break;
|
||||
- case AV_PROFILE_VP9_3:
|
||||
+ case FF_PROFILE_VP9_3:
|
||||
profile = VP9PROFILE_PROFILE3;
|
||||
break;
|
||||
default:
|
||||
diff -up chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter.cc.me chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter.cc
|
||||
--- chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter.cc.me 2025-06-23 23:34:26.000000000 +0200
|
||||
+++ chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter.cc 2025-06-25 15:13:17.958541707 +0200
|
||||
@@ -68,17 +68,17 @@ bool GenerateAdtsHeader(int codec,
|
||||
hdr[1] |= 1;
|
||||
|
||||
switch (audio_profile) {
|
||||
- case AV_PROFILE_AAC_MAIN:
|
||||
+ case FF_PROFILE_AAC_MAIN:
|
||||
break;
|
||||
- case AV_PROFILE_AAC_HE:
|
||||
- case AV_PROFILE_AAC_HE_V2:
|
||||
- case AV_PROFILE_AAC_LOW:
|
||||
+ case FF_PROFILE_AAC_HE:
|
||||
+ case FF_PROFILE_AAC_HE_V2:
|
||||
+ case FF_PROFILE_AAC_LOW:
|
||||
hdr[2] |= (1 << 6);
|
||||
break;
|
||||
- case AV_PROFILE_AAC_SSR:
|
||||
+ case FF_PROFILE_AAC_SSR:
|
||||
hdr[2] |= (2 << 6);
|
||||
break;
|
||||
- case AV_PROFILE_AAC_LTP:
|
||||
+ case FF_PROFILE_AAC_LTP:
|
||||
hdr[2] |= (3 << 6);
|
||||
break;
|
||||
default:
|
||||
diff -up chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc.me chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
|
||||
--- chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc.me 2025-06-23 23:34:26.000000000 +0200
|
||||
+++ chromium-138.0.7204.49/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc 2025-06-25 15:13:17.958839001 +0200
|
||||
@@ -41,7 +41,7 @@ class FFmpegAACBitstreamConverterTest :
|
||||
// Set up reasonable aac parameters
|
||||
memset(&test_parameters_, 0, sizeof(AVCodecParameters));
|
||||
test_parameters_.codec_id = AV_CODEC_ID_AAC;
|
||||
- test_parameters_.profile = AV_PROFILE_AAC_MAIN;
|
||||
+ test_parameters_.profile = FF_PROFILE_AAC_MAIN;
|
||||
test_parameters_.ch_layout.nb_channels = 2;
|
||||
test_parameters_.extradata = extradata_header_;
|
||||
test_parameters_.extradata_size = sizeof(extradata_header_);
|
||||
@@ -131,7 +131,7 @@ TEST_F(FFmpegAACBitstreamConverterTest,
|
||||
|
||||
EXPECT_EQ(profile, kAacMainProfile);
|
||||
|
||||
- test_parameters_.profile = AV_PROFILE_AAC_HE;
|
||||
+ test_parameters_.profile = FF_PROFILE_AAC_HE;
|
||||
FFmpegAACBitstreamConverter converter_he(&test_parameters_);
|
||||
|
||||
test_packet = ScopedAVPacket::Allocate();
|
||||
@@ -143,7 +143,7 @@ TEST_F(FFmpegAACBitstreamConverterTest,
|
||||
|
||||
EXPECT_EQ(profile, kAacLowComplexityProfile);
|
||||
|
||||
- test_parameters_.profile = AV_PROFILE_AAC_ELD;
|
||||
+ test_parameters_.profile = FF_PROFILE_AAC_ELD;
|
||||
FFmpegAACBitstreamConverter converter_eld(&test_parameters_);
|
||||
|
||||
test_packet = ScopedAVPacket::Allocate();
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff -up chromium-139.0.7258.127/build/rust/cargo_crate.gni.than chromium-139.0.7258.127/build/rust/cargo_crate.gni
|
||||
--- chromium-139.0.7258.127/build/rust/cargo_crate.gni.than 2025-08-14 09:44:51.783560032 +0200
|
||||
+++ chromium-139.0.7258.127/build/rust/cargo_crate.gni 2025-08-14 09:48:37.407051268 +0200
|
||||
@@ -310,6 +310,9 @@ template("cargo_crate") {
|
||||
rustflags +=
|
||||
[ "-Awarnings" ] # Suppress other warnings in 3rd-party crates.
|
||||
|
||||
+ rustflags +=
|
||||
+ [ "--cap-lints=warn" ] # Suppress other warnings, causes FTBFS in Fedora build rhbz#2387446
|
||||
+
|
||||
if (!defined(build_native_rust_unit_tests)) {
|
||||
build_native_rust_unit_tests = _crate_type != "proc-macro"
|
||||
}
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
Fix ftbfs
|
||||
|
||||
v8/include/cppgc/visitor.h:440:19: error: invalid application of 'sizeof' to an incomplete type 'blink::CSSStyleSheet'
|
||||
440 | static_assert(sizeof(T), "Pointee type must be fully defined.");
|
||||
|
||||
diff -up chromium-141.0.7390.37/third_party/blink/renderer/bindings/scripts/bind_gen/observable_array.py.ftbfs-csss_style_sheet chromium-141.0.7390.37/third_party/blink/renderer/bindings/scripts/bind_gen/observable_array.py
|
||||
--- chromium-141.0.7390.37/third_party/blink/renderer/bindings/scripts/bind_gen/observable_array.py.ftbfs-csss_style_sheet 2025-09-23 22:21:14.000000000 +0200
|
||||
+++ chromium-141.0.7390.37/third_party/blink/renderer/bindings/scripts/bind_gen/observable_array.py 2025-10-01 17:55:51.303926035 +0200
|
||||
@@ -433,6 +433,7 @@ def generate_observable_array(observable
|
||||
header_node.accumulator.add_include_headers([
|
||||
component_export_header(api_component, for_testing),
|
||||
"third_party/blink/renderer/bindings/core/v8/idl_types.h",
|
||||
+ "third_party/blink/renderer/core/css/css_style_sheet.h",
|
||||
"third_party/blink/renderer/platform/bindings/observable_array.h",
|
||||
])
|
||||
source_node.accumulator.add_include_headers([
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
Fix FTBFS
|
||||
|
||||
/usr/include/bits/siginfo-consts.h:219:3: error: expected identifier
|
||||
219 | SYS_SECCOMP = 1, /* Seccomp triggered. */
|
||||
| ^
|
||||
../../sandbox/linux/system_headers/linux_seccomp.h:220:39: note: expanded from macro 'SYS_SECCOMP'
|
||||
220 | #define SYS_SECCOMP 1
|
||||
| ^
|
||||
../../sandbox/linux/seccomp-bpf/trap.cc:159:46: error: use of undeclared identifier 'SYS_SECCOMP'
|
||||
159 | if (nr != LINUX_SIGSYS || info->si_code != SYS_SECCOMP || !ctx ||
|
||||
| ^~~~~~~~~~~
|
||||
/usr/include/bits/siginfo-consts.h:220:23: note: expanded from macro 'SYS_SECCOMP'
|
||||
220 | # define SYS_SECCOMP SYS_SECCOMP
|
||||
|
||||
diff -up chromium-141.0.7390.122/sandbox/linux/system_headers/linux_seccomp.h.me chromium-141.0.7390.122/sandbox/linux/system_headers/linux_seccomp.h
|
||||
--- chromium-141.0.7390.122/sandbox/linux/system_headers/linux_seccomp.h.me 2025-10-28 10:05:44.970248151 +0100
|
||||
+++ chromium-141.0.7390.122/sandbox/linux/system_headers/linux_seccomp.h 2025-10-28 10:05:52.291345772 +0100
|
||||
@@ -214,8 +214,11 @@ struct seccomp_notif_addfd {
|
||||
#define SECCOMP_RET_INVALID 0x00010000U // Illegal return value
|
||||
#endif
|
||||
|
||||
+// check glibc version < 2.42
|
||||
+#if (__GLIBC__ < 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 42)
|
||||
#ifndef SYS_SECCOMP
|
||||
#define SYS_SECCOMP 1
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SECCOMP_H_
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
Fix FTBFS
|
||||
|
||||
../../build/modules/linux-x64/module.modulemap:11:12: error: header '../../linux/debian_bullseye_amd64-sysroot/usr/include/alloca.h' not found
|
||||
11 | header "../../linux/debian_bullseye_amd64-sysroot/usr/include/alloca.h"
|
||||
| ^
|
||||
1 error generated
|
||||
|
||||
diff -up chromium-141.0.7390.37/build/config/BUILDCONFIG.gn.me chromium-141.0.7390.37/build/config/BUILDCONFIG.gn
|
||||
--- chromium-141.0.7390.37/build/config/BUILDCONFIG.gn.me 2025-10-01 17:39:47.242174153 +0200
|
||||
+++ chromium-141.0.7390.37/build/config/BUILDCONFIG.gn 2025-10-01 17:49:54.736578295 +0200
|
||||
@@ -557,6 +557,8 @@ foreach(_target_type,
|
||||
]) {
|
||||
template(_target_type) {
|
||||
target(_target_type, target_name) {
|
||||
+ use_libcxx_modules = false
|
||||
+
|
||||
forward_variables_from(invoker, "*", TESTONLY_AND_VISIBILITY)
|
||||
forward_variables_from(invoker, TESTONLY_AND_VISIBILITY)
|
||||
if (!defined(inputs)) {
|
||||
@@ -660,6 +662,8 @@ foreach(_target_type,
|
||||
# TODO(crbug.com/326584510): Reclient doesn't respect this variable, see
|
||||
# rbe_bug_326584510_missing_inputs in //build/config/clang/clang.gni
|
||||
_uses_cflags = false
|
||||
+ use_libcxx_modules = false
|
||||
+
|
||||
if (defined(sources)) {
|
||||
foreach(f, sources) {
|
||||
if (string_replace(f + ".END", ".cc.END", "") != f + ".END" ||
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff -up chromium-142.0.7444.52/build/config/compiler/BUILD.gn.clang++-unsupported-argument chromium-142.0.7444.52/build/config/compiler/BUILD.gn
|
||||
--- chromium-142.0.7444.52/build/config/compiler/BUILD.gn.clang++-unsupported-argument 2025-10-28 19:41:59.131433882 +0100
|
||||
+++ chromium-142.0.7444.52/build/config/compiler/BUILD.gn 2025-10-28 19:42:51.792779638 +0100
|
||||
@@ -2160,9 +2160,6 @@ config("default_warnings") {
|
||||
# TODO(crbug.com/40284799): Fix and re-enable.
|
||||
"-Wno-thread-safety-reference-return",
|
||||
|
||||
- # TODO(crbug.com/376641662): Fix and re-enable.
|
||||
- "-Wno-nontrivial-memcall",
|
||||
-
|
||||
# TODO(crbug.com/432275627): Fix and re-enable.
|
||||
"-Wno-uninitialized-const-pointer",
|
||||
]
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
Workaround for FTBFS
|
||||
|
||||
error: cannot find attribute `sanitize` in this scope
|
||||
--> ../../third_party/crabbyavif/src/src/capi/io.rs:210:41
|
||||
|
|
||||
210 | #[cfg_attr(feature = "disable_cfi", sanitize(cfi = "off"))]
|
||||
|
||||
diff -up chromium-142.0.7444.52/third_party/crabbyavif/BUILD.gn.me chromium-142.0.7444.52/third_party/crabbyavif/BUILD.gn
|
||||
--- chromium-142.0.7444.52/third_party/crabbyavif/BUILD.gn.me 2025-10-27 10:40:59.373768499 +0100
|
||||
+++ chromium-142.0.7444.52/third_party/crabbyavif/BUILD.gn 2025-10-27 10:45:12.142749942 +0100
|
||||
@@ -197,12 +197,11 @@ rust_static_library("crabbyavif") {
|
||||
"dav1d",
|
||||
"libyuv",
|
||||
"capi",
|
||||
- "disable_cfi",
|
||||
]
|
||||
|
||||
# Required for disable_cfi feature.
|
||||
configs -= [ "//build/config/compiler:disallow_unstable_features" ]
|
||||
- rustflags = [ "-Zallow-features=sanitize" ]
|
||||
+ rustflags = [ "-Zallow-features=no_sanitize" ]
|
||||
|
||||
public_deps = [ ":header_files" ]
|
||||
deps = [
|
||||
|
|
@ -1,136 +0,0 @@
|
|||
diff -up chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.cc.el9-ffmpeg-5.1.x chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.cc
|
||||
--- chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.cc.el9-ffmpeg-5.1.x 2025-11-01 22:14:10.116779876 +0100
|
||||
+++ chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.cc 2025-11-01 22:14:10.134140132 +0100
|
||||
@@ -800,8 +803,13 @@ bool AVStreamToVideoDecoderConfig(const
|
||||
}
|
||||
|
||||
VideoTransformation video_transformation = VideoTransformation();
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
|
||||
+ for (int i = 0; i < stream->nb_side_data; i++) {
|
||||
+ const auto& side_data = stream->side_data[i];
|
||||
+#else
|
||||
for (const auto& side_data :
|
||||
AVCodecParametersCodedSideToSpan(stream->codecpar)) {
|
||||
+#endif
|
||||
switch (side_data.type) {
|
||||
case AV_PKT_DATA_DISPLAYMATRIX: {
|
||||
CHECK_EQ(side_data.size, sizeof(int32_t) * 3 * 3);
|
||||
diff -up chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.h.el9-ffmpeg-5.1.x chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.h
|
||||
--- chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.h.el9-ffmpeg-5.1.x 2025-10-24 18:42:30.000000000 +0200
|
||||
+++ chromium-142.0.7444.59/media/ffmpeg/ffmpeg_common.h 2025-11-02 08:06:48.997329630 +0100
|
||||
@@ -111,9 +111,13 @@ inline base::span<AVPacketSideData> AVCo
|
||||
// https://ffmpeg.org/doxygen/trunk/structAVCodecParameters.html#a29643cfd94231e2d148a5d17b08d115b
|
||||
// ffmpeg documentation: `nb_coded_side_data` is the amount of entries in
|
||||
// `coded_side_data`.
|
||||
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(60, 31, 102)
|
||||
return UNSAFE_BUFFERS(
|
||||
base::span(codecpar->coded_side_data,
|
||||
base::checked_cast<size_t>(codecpar->nb_coded_side_data)));
|
||||
+#else
|
||||
+ return base::span<AVPacketSideData>();
|
||||
+#endif
|
||||
}
|
||||
|
||||
// Converts an int64_t timestamp in |time_base| units to a base::TimeDelta.
|
||||
diff -up chromium-142.0.7444.59/media/filters/audio_video_metadata_extractor.cc.el9-ffmpeg-5.1.x chromium-142.0.7444.59/media/filters/audio_video_metadata_extractor.cc
|
||||
--- chromium-142.0.7444.59/media/filters/audio_video_metadata_extractor.cc.el9-ffmpeg-5.1.x 2025-10-24 18:42:30.000000000 +0200
|
||||
+++ chromium-142.0.7444.59/media/filters/audio_video_metadata_extractor.cc 2025-11-01 22:14:10.124748634 +0100
|
||||
@@ -109,17 +109,33 @@ bool AudioVideoMetadataExtractor::Extrac
|
||||
container_info.type = format_context->iformat->name;
|
||||
ExtractDictionary(format_context->metadata, &container_info.tags);
|
||||
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
|
||||
+ for (unsigned int i = 0; i < format_context->nb_streams; ++i) {
|
||||
+ stream_infos_.push_back(StreamInfo());
|
||||
+#else
|
||||
base::span<AVStream*> format_context_span =
|
||||
AVFormatContextToSpan(format_context);
|
||||
std::ranges::for_each(format_context_span, [&](AVStream* stream) {
|
||||
stream_infos_.emplace_back();
|
||||
+#endif
|
||||
StreamInfo& info = stream_infos_.back();
|
||||
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
|
||||
+ AVStream* stream = format_context->streams[i];
|
||||
+ if (!stream)
|
||||
+ continue;
|
||||
+#else
|
||||
if (!stream) {
|
||||
return;
|
||||
}
|
||||
+#endif
|
||||
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
|
||||
+ for (int j = 0; j < stream->nb_side_data; j++) {
|
||||
+ const AVPacketSideData& sd = stream->side_data[j];
|
||||
+#else
|
||||
for (const auto& sd : AVCodecParametersCodedSideToSpan(stream->codecpar)) {
|
||||
+#endif
|
||||
if (sd.type == AV_PKT_DATA_DISPLAYMATRIX) {
|
||||
CHECK_EQ(sd.size, sizeof(int32_t) * 3 * 3);
|
||||
rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(
|
||||
@@ -135,7 +151,11 @@ bool AudioVideoMetadataExtractor::Extrac
|
||||
ExtractDictionary(stream->metadata, &info.tags);
|
||||
|
||||
if (!stream->codecpar) {
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
|
||||
+ continue;
|
||||
+#else
|
||||
return;
|
||||
+#endif
|
||||
}
|
||||
|
||||
info.type = avcodec_get_name(stream->codecpar->codec_id);
|
||||
@@ -158,7 +178,11 @@ bool AudioVideoMetadataExtractor::Extrac
|
||||
reinterpret_cast<const char*>(stream->attached_pic.data),
|
||||
stream->attached_pic.size);
|
||||
}
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
|
||||
+ }
|
||||
+#else
|
||||
});
|
||||
+#endif
|
||||
|
||||
extracted_ = true;
|
||||
return true;
|
||||
diff -up chromium-142.0.7444.59/media/filters/media_file_checker.cc.el9-ffmpeg-5.1.x chromium-142.0.7444.59/media/filters/media_file_checker.cc
|
||||
--- chromium-142.0.7444.59/media/filters/media_file_checker.cc.el9-ffmpeg-5.1.x 2025-10-24 18:42:30.000000000 +0200
|
||||
+++ chromium-142.0.7444.59/media/filters/media_file_checker.cc 2025-11-01 22:14:10.125099595 +0100
|
||||
@@ -64,6 +64,10 @@ bool MediaFileChecker::Start(base::TimeD
|
||||
// Remember the codec context for any decodable audio or video streams.
|
||||
bool found_streams = false;
|
||||
std::vector<Decoder> stream_contexts(format_context->nb_streams);
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
|
||||
+ for (size_t i = 0; i < format_context->nb_streams; ++i) {
|
||||
+ AVCodecParameters* cp = format_context->streams[i]->codecpar;
|
||||
+#else
|
||||
base::span<AVStream*> format_context_span =
|
||||
AVFormatContextToSpan(format_context);
|
||||
std::ranges::transform(
|
||||
@@ -85,9 +89,26 @@ bool MediaFileChecker::Start(base::TimeD
|
||||
}
|
||||
}
|
||||
|
||||
+#endif
|
||||
+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(60, 31, 102)
|
||||
+ if (cp->codec_type == AVMEDIA_TYPE_AUDIO ||
|
||||
+ cp->codec_type == AVMEDIA_TYPE_VIDEO) {
|
||||
+ auto context = AVStreamToAVCodecContext(format_context->streams[i]);
|
||||
+ if (!context)
|
||||
+ continue;
|
||||
+ const AVCodec* codec = avcodec_find_decoder(cp->codec_id);
|
||||
+ if (codec && avcodec_open2(context.get(), codec, nullptr) >= 0) {
|
||||
+ auto loop = std::make_unique<FFmpegDecodingLoop>(context.get());
|
||||
+ stream_contexts[i] = {std::move(context), std::move(loop)};
|
||||
+ found_streams = true;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+#else
|
||||
return Decoder{};
|
||||
});
|
||||
|
||||
+#endif
|
||||
if (!found_streams)
|
||||
return false;
|
||||
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
commit 069d424e41f42c6f4a4551334eafc7cfaed6e880
|
||||
Author: Nathan Pratta Teodosio <nathan.teodosio@canonical.com>
|
||||
Date: Mon Oct 13 02:29:29 2025 -0700
|
||||
|
||||
Add missing include for FormFieldData type completeness.
|
||||
|
||||
Bug: 450752866
|
||||
Change-Id: I25b2d6cd627063e006014289de68d2ecc70a2db7
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7030724
|
||||
Reviewed-by: Christoph Schwering <schwering@google.com>
|
||||
Reviewed-by: Jihad Hanna <jihadghanna@google.com>
|
||||
Commit-Queue: Jihad Hanna <jihadghanna@google.com>
|
||||
Reviewed-by: Matthias Körber <koerber@google.com>
|
||||
Cr-Commit-Position: refs/heads/main@{#1528799}
|
||||
|
||||
diff --git a/components/autofill/core/browser/form_parsing/autofill_scanner.h b/components/autofill/core/browser/form_parsing/autofill_scanner.h
|
||||
index 844526a5f77..eab073266e8 100644
|
||||
--- a/components/autofill/core/browser/form_parsing/autofill_scanner.h
|
||||
+++ b/components/autofill/core/browser/form_parsing/autofill_scanner.h
|
||||
@@ -10,11 +10,10 @@
|
||||
#include "base/compiler_specific.h"
|
||||
#include "base/containers/span.h"
|
||||
#include "base/memory/raw_span.h"
|
||||
+#include "components/autofill/core/common/form_field_data.h"
|
||||
|
||||
namespace autofill {
|
||||
|
||||
-class FormFieldData;
|
||||
-
|
||||
// A helper class for parsing a stream of |FormFieldData|'s with lookahead.
|
||||
class AutofillScanner {
|
||||
private:
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
diff -up chromium-142.0.7444.52/net/filter/brotli_source_stream.cc.system-brotli chromium-142.0.7444.52/net/filter/brotli_source_stream.cc
|
||||
--- chromium-142.0.7444.52/net/filter/brotli_source_stream.cc.system-brotli 2025-10-21 22:19:54.000000000 +0200
|
||||
+++ chromium-142.0.7444.52/net/filter/brotli_source_stream.cc 2025-10-26 16:55:51.220605842 +0100
|
||||
@@ -14,8 +14,8 @@
|
||||
#include "base/metrics/histogram_macros.h"
|
||||
#include "net/base/io_buffer.h"
|
||||
#include "net/filter/source_stream_type.h"
|
||||
-#include "third_party/brotli/include/brotli/decode.h"
|
||||
-#include "third_party/brotli/include/brotli/shared_dictionary.h"
|
||||
+#include <brotli/decode.h>
|
||||
+#include <brotli/shared_dictionary.h>
|
||||
|
||||
namespace net {
|
||||
|
||||
diff -up chromium-142.0.7444.52/net/ssl/cert_compression.cc.system-brotli chromium-142.0.7444.52/net/ssl/cert_compression.cc
|
||||
--- chromium-142.0.7444.52/net/ssl/cert_compression.cc.system-brotli 2025-10-21 22:19:54.000000000 +0200
|
||||
+++ chromium-142.0.7444.52/net/ssl/cert_compression.cc 2025-10-26 16:55:51.220845216 +0100
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "third_party/boringssl/src/include/openssl/ssl.h"
|
||||
|
||||
#if !defined(NET_DISABLE_BROTLI)
|
||||
-#include "third_party/brotli/include/brotli/decode.h"
|
||||
+#include <brotli/decode.h>
|
||||
#endif
|
||||
|
||||
namespace net {
|
||||
diff -up chromium-142.0.7444.52/ui/base/resource/resource_bundle.cc.system-brotli chromium-142.0.7444.52/ui/base/resource/resource_bundle.cc
|
||||
--- chromium-142.0.7444.52/ui/base/resource/resource_bundle.cc.system-brotli 2025-10-21 22:19:54.000000000 +0200
|
||||
+++ chromium-142.0.7444.52/ui/base/resource/resource_bundle.cc 2025-10-26 17:04:17.085726059 +0100
|
||||
@@ -37,7 +37,7 @@
|
||||
#include "build/build_config.h"
|
||||
#include "net/filter/gzip_header.h"
|
||||
#include "skia/ext/image_operations.h"
|
||||
-#include "third_party/brotli/include/brotli/decode.h"
|
||||
+#include <brotli/decode.h>
|
||||
#include "third_party/skia/include/codec/SkPngRustDecoder.h"
|
||||
#include "third_party/skia/include/core/SkBitmap.h"
|
||||
#include "third_party/skia/include/core/SkColor.h"
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
Workaround auto darkmode issue, image are not inverted correctly in darkmode
|
||||
|
||||
diff -up chromium-143.0.7499.40/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc.than chromium-143.0.7499.40/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc
|
||||
--- chromium-143.0.7499.40/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc.than 2025-12-09 12:28:52.592092242 +0100
|
||||
+++ chromium-143.0.7499.40/third_party/blink/renderer/platform/graphics/dark_mode_image_classifier.cc 2025-12-09 12:42:57.776716951 +0100
|
||||
@@ -276,16 +276,20 @@ DarkModeResult DarkModeImageClassifier::
|
||||
float high_color_count_threshold =
|
||||
kHighColorCountThreshold[features.is_colorful];
|
||||
|
||||
+#if 0
|
||||
// Very few colors means it's not a photo, apply the filter.
|
||||
if (features.color_buckets_ratio < low_color_count_threshold)
|
||||
return DarkModeResult::kApplyFilter;
|
||||
+#endif
|
||||
|
||||
// Too many colors means it's probably photorealistic, do not apply it.
|
||||
if (features.color_buckets_ratio > high_color_count_threshold)
|
||||
return DarkModeResult::kDoNotApplyFilter;
|
||||
|
||||
+#if 0
|
||||
// In-between, decision tree cannot give a precise result.
|
||||
return DarkModeResult::kNotClassified;
|
||||
+#endif
|
||||
}
|
||||
|
||||
} // namespace blink
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
Fix build errors:
|
||||
|
||||
error[E0428]: the name `__rust_alloc_error_handler_should_panic_v2` is defined multiple times
|
||||
--> ../../build/rust/allocator/lib.rs:101:5
|
||||
|
||||
error: undefined symbol: __rust_no_alloc_shim_is_unstable
|
||||
|
||||
diff -up chromium-141.0.7390.37/build/rust/allocator/lib.rs.rust-no-alloc-shim-is-unstable chromium-141.0.7390.37/build/rust/allocator/lib.rs
|
||||
--- chromium-141.0.7390.37/build/rust/allocator/lib.rs.rust-no-alloc-shim-is-unstable 2025-09-23 22:21:14.000000000 +0200
|
||||
+++ chromium-141.0.7390.37/build/rust/allocator/lib.rs 2025-09-27 15:14:54.661952048 +0200
|
||||
@@ -103,6 +103,11 @@ mod both_allocators {
|
||||
#[linkage = "weak"]
|
||||
static __rust_alloc_error_handler_should_panic: u8 = 0;
|
||||
|
||||
+ // Mangle the symbol name as rustc (1.84) expects on EL9
|
||||
+ #[unsafe(no_mangle)]
|
||||
+ #[linkage = "weak"]
|
||||
+ static __rust_no_alloc_shim_is_unstable: u8 = 0;
|
||||
+
|
||||
// Mangle the symbol name as rustc expects.
|
||||
#[rustc_std_internal_symbol]
|
||||
#[allow(non_upper_case_globals)]
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
diff -up chromium-142.0.7444.162/build/rust/allocator/lib.rs.el9-rust_alloc_error_handler_should_panic chromium-142.0.7444.162/build/rust/allocator/lib.rs
|
||||
--- chromium-142.0.7444.162/build/rust/allocator/lib.rs.el9-rust_alloc_error_handler_should_panic 2025-11-12 09:39:31.616713829 +0100
|
||||
+++ chromium-142.0.7444.162/build/rust/allocator/lib.rs 2025-11-14 11:43:32.115426831 +0100
|
||||
@@ -96,6 +96,13 @@ mod both_allocators {
|
||||
0
|
||||
}
|
||||
|
||||
+ // Mangle the symbol name as rustc (1.88) expects on EL9
|
||||
+ #[rustc_std_internal_symbol]
|
||||
+ #[linkage = "weak"]
|
||||
+ fn __rust_alloc_error_handler_should_panic() -> u8 {
|
||||
+ 0
|
||||
+ }
|
||||
+
|
||||
// Mangle the symbol name as rustc (1.84) expects on EL9
|
||||
#[unsafe(no_mangle)]
|
||||
#[linkage = "weak"]
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
Author: <than@redhat.com>
|
||||
|
||||
Fix build error caused by python-3.9 on EL9
|
||||
|
||||
Traceback (most recent call last):
|
||||
File "/builddir/build/BUILD/chromium-143.0.7499.40/out/Release/../../tools/metrics/histograms/generate_allowlist_from_histograms_file.py", line 10, in <module>
|
||||
import extract_histograms
|
||||
File "/builddir/build/BUILD/chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py", line 24, in <module>
|
||||
import xml_utils
|
||||
File "/builddir/build/BUILD/chromium-143.0.7499.40/tools/metrics/histograms/../common/xml_utils.py", line 14, in <module>
|
||||
DomTree = minidom.Element | minidom.Document
|
||||
TypeError: unsupported operand type(s) for |: 'type' and 'type'
|
||||
|
||||
diff -up chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py.python-3.9-ftbfs chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py
|
||||
--- chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py.python-3.9-ftbfs 2025-11-19 22:40:05.000000000 +0100
|
||||
+++ chromium-143.0.7499.40/tools/metrics/histograms/extract_histograms.py 2025-12-02 17:23:41.996802101 +0100
|
||||
@@ -18,6 +18,7 @@ import re
|
||||
import sys
|
||||
from typing import TypedDict
|
||||
import xml.dom.minidom
|
||||
+from typing import Optional, Union
|
||||
|
||||
sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common'))
|
||||
import xml_utils
|
||||
@@ -84,7 +85,7 @@ class EnumDict(TypedDict, total=False):
|
||||
"""A dict representing an enum."""
|
||||
|
||||
name: str
|
||||
- type: str | None
|
||||
+ type: Optional[str]
|
||||
buckets: list[_BucketDict]
|
||||
summary: str
|
||||
|
||||
@@ -108,7 +109,7 @@ def ExpandHistogramNameWithSuffixes(
|
||||
suffix_name: str,
|
||||
histogram_name: str,
|
||||
histogram_suffixes_node: xml.dom.minidom.Element,
|
||||
-) -> tuple[str | None, ExtractionErrors]:
|
||||
+) -> tuple[Optional[str], ExtractionErrors]:
|
||||
"""Creates a new histogram name based on a histogram suffix.
|
||||
|
||||
Args:
|
||||
@@ -310,7 +311,7 @@ def _ExtractOwners(node: xml.dom.minidom
|
||||
|
||||
def _ExtractImprovementDirection(
|
||||
histogram_node: xml.dom.minidom.Element,
|
||||
-) -> tuple[str | None, ExtractionErrors]:
|
||||
+) -> tuple[Union[str, None], ExtractionErrors]:
|
||||
"""Extracts improvement direction from the given histogram element, if any.
|
||||
|
||||
Args:
|
||||
@@ -644,7 +645,7 @@ def ExtractVariantsFromXmlTree(
|
||||
return variants_dict, errors
|
||||
|
||||
|
||||
-def _GetObsoleteReason(node: xml.dom.minidom.Element) -> str | None:
|
||||
+def _GetObsoleteReason(node: xml.dom.minidom.Element) -> Optional[str]:
|
||||
"""If the node's histogram is obsolete, returns a string explanation.
|
||||
|
||||
Otherwise, returns None.
|
||||
diff -up chromium-143.0.7499.40/tools/metrics/common/xml_utils.py.than chromium-143.0.7499.40/tools/metrics/common/xml_utils.py
|
||||
--- chromium-143.0.7499.40/tools/metrics/common/xml_utils.py.than 2025-12-04 17:48:11.924111675 +0100
|
||||
+++ chromium-143.0.7499.40/tools/metrics/common/xml_utils.py 2025-12-04 17:49:42.451979769 +0100
|
||||
@@ -11,7 +11,8 @@ from xml.dom import minidom
|
||||
# The implementation of Node type is possible with extra runtime checks, however
|
||||
# using a more specific type makes the intent clearer and avoids potential
|
||||
# warnings about attributes like `tagName` not being present on all Node types.
|
||||
-DomTree = minidom.Element | minidom.Document
|
||||
+from typing import Union
|
||||
+DomTree = Union[minidom.Element, minidom.Document]
|
||||
|
||||
_ELEMENT_NODE = minidom.Node.ELEMENT_NODE
|
||||
|
||||
|
|
@ -1,137 +0,0 @@
|
|||
commit 4f7637304eca894adf2e70078a55654a88224a30
|
||||
Author: Lukasz Anforowicz <lukasza@chromium.org>
|
||||
Date: Tue Sep 30 07:08:03 2025 -0700
|
||||
|
||||
[rust png] Reland: Reinforce `testonly`-ness of some users of `libpng`.
|
||||
|
||||
This reverts commit 7fa4c2d7ab42a48247ce8e0290cbb7e854990f1e and
|
||||
effectively relands https://crrev.com/c/6976870. The reland is
|
||||
attempted after using wildcards to cover extra gni-generated targets.
|
||||
`Cq-Include-Trybots` directives in the CL description should verify
|
||||
correctness of the reland. Original CL description follows:
|
||||
|
||||
This CL extracts a separate `third_party/libpng:libpng_for_testonly`
|
||||
target which:
|
||||
|
||||
1) Is a `group` that proxies/forwards to the `libpng` target by listing
|
||||
it as its `public_deps`
|
||||
2) Has limited visibility (based on the new `libpng_testonly_visibility`
|
||||
introduced in the refactored `third_party/libpng/visibility.gni`).
|
||||
The new visibility is almost unchanged, except for explicitly
|
||||
spelling out some targets instead of using wildcards
|
||||
3) Is marked as `testonly`
|
||||
|
||||
Bug: 443128323
|
||||
Change-Id: If7ba0d184324a5c662aaf2d52122994ea778d452
|
||||
Cq-Include-Trybots: luci.chromium.try:ios-catalyst
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6991491
|
||||
Auto-Submit: Łukasz Anforowicz <lukasza@chromium.org>
|
||||
Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
|
||||
Reviewed-by: Nico Weber <thakis@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1522830}
|
||||
|
||||
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
|
||||
index a4703c3692d..2d70f7a5fe9 100644
|
||||
--- a/chrome/test/BUILD.gn
|
||||
+++ b/chrome/test/BUILD.gn
|
||||
@@ -11152,7 +11152,7 @@ if (!is_android) {
|
||||
"//testing/gtest",
|
||||
"//third_party/hunspell",
|
||||
"//third_party/icu",
|
||||
- "//third_party/libpng",
|
||||
+ "//third_party/libpng:libpng_for_testonly",
|
||||
"//ui/base:test_support",
|
||||
"//ui/events:test_support",
|
||||
"//ui/ozone",
|
||||
@@ -11512,7 +11512,7 @@ if (!is_android && !is_chromeos_device) {
|
||||
"//testing/gtest",
|
||||
"//third_party/hunspell",
|
||||
"//third_party/icu",
|
||||
- "//third_party/libpng",
|
||||
+ "//third_party/libpng:libpng_for_testonly",
|
||||
"//ui/base:base_interactive_ui_tests",
|
||||
"//ui/base:ozone_buildflags",
|
||||
"//ui/base:test_support",
|
||||
@@ -12470,7 +12470,7 @@ if (!is_android) {
|
||||
"//testing/gtest",
|
||||
"//third_party/hunspell",
|
||||
"//third_party/icu",
|
||||
- "//third_party/libpng",
|
||||
+ "//third_party/libpng:libpng_for_testonly",
|
||||
"//ui/base:test_support",
|
||||
"//ui/resources:ui_test_pak",
|
||||
"//ui/views",
|
||||
diff --git a/testing/libfuzzer/fuzzers/BUILD.gn b/testing/libfuzzer/fuzzers/BUILD.gn
|
||||
index 7d242e177f0..1c67eee1598 100644
|
||||
--- a/testing/libfuzzer/fuzzers/BUILD.gn
|
||||
+++ b/testing/libfuzzer/fuzzers/BUILD.gn
|
||||
@@ -104,7 +104,7 @@ fuzzer_test("libpng_progressive_read_fuzzer") {
|
||||
sources = [ "libpng_read_fuzzer.cc" ]
|
||||
deps = [
|
||||
"//base",
|
||||
- "//third_party/libpng",
|
||||
+ "//third_party/libpng:libpng_for_testonly",
|
||||
]
|
||||
dict = "dicts/png.dict"
|
||||
seed_corpuses = libpng_seed_corpuses
|
||||
diff --git a/third_party/libpng/BUILD.gn b/third_party/libpng/BUILD.gn
|
||||
index d4bdea1e33c..3e31348b94f 100644
|
||||
--- a/third_party/libpng/BUILD.gn
|
||||
+++ b/third_party/libpng/BUILD.gn
|
||||
@@ -130,6 +130,14 @@ if (is_win) {
|
||||
}
|
||||
}
|
||||
|
||||
+group("libpng_for_testonly") {
|
||||
+ testonly = true
|
||||
+ public_deps = [ ":libpng" ]
|
||||
+
|
||||
+ visibility = []
|
||||
+ visibility = libpng_testonly_visibility
|
||||
+}
|
||||
+
|
||||
if (build_with_chromium) {
|
||||
libpng_ossfuzz_seed_corpuses = [
|
||||
"//components/test/data/viz",
|
||||
diff --git a/tools/imagediff/BUILD.gn b/tools/imagediff/BUILD.gn
|
||||
index d56651bedc7..2b5f3d38488 100644
|
||||
--- a/tools/imagediff/BUILD.gn
|
||||
+++ b/tools/imagediff/BUILD.gn
|
||||
@@ -34,6 +34,7 @@ if (target_os == "win" && host_os != "win") {
|
||||
# If the current toolchain is the test host toolchain, build the tool.
|
||||
if (current_toolchain == imagediff_toolchain) {
|
||||
executable("imagediff") {
|
||||
+ testonly = true
|
||||
output_name = "image_diff" # Different than dir name for historical
|
||||
# reasons.
|
||||
sources = [
|
||||
@@ -47,7 +48,7 @@ if (current_toolchain == imagediff_toolchain) {
|
||||
deps = [
|
||||
"//base",
|
||||
"//build/win:default_exe_manifest",
|
||||
- "//third_party/libpng",
|
||||
+ "//third_party/libpng:libpng_for_testonly",
|
||||
"//third_party/zlib",
|
||||
]
|
||||
}
|
||||
@@ -60,6 +61,7 @@ if (current_toolchain == imagediff_toolchain) {
|
||||
} else if (current_toolchain == default_toolchain &&
|
||||
default_toolchain != imagediff_toolchain) {
|
||||
binary_symlink("imagediff") {
|
||||
+ testonly = true
|
||||
binary_label = ":$target_name($imagediff_toolchain)"
|
||||
binary_output_name = "image_diff"
|
||||
|
||||
diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
|
||||
index f6a40abfe99..83d8f55027a 100644
|
||||
--- a/ui/gfx/BUILD.gn
|
||||
+++ b/ui/gfx/BUILD.gn
|
||||
@@ -906,7 +906,7 @@ test("gfx_unittests") {
|
||||
"//skia:skcms",
|
||||
"//testing/gtest",
|
||||
"//third_party/icu:icuuc",
|
||||
- "//third_party/libpng",
|
||||
+ "//third_party/libpng:libpng_for_testonly",
|
||||
"//third_party/zlib",
|
||||
"//ui/base",
|
||||
"//ui/gfx/animation",
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
diff -up chromium-143.0.7499.40/third_party/swiftshader/src/Reactor/BUILD.gn.llvm-16 chromium-143.0.7499.40/third_party/swiftshader/src/Reactor/BUILD.gn
|
||||
--- chromium-143.0.7499.40/third_party/swiftshader/src/Reactor/BUILD.gn.llvm-16 2025-12-02 23:25:25.379315827 +0100
|
||||
+++ chromium-143.0.7499.40/third_party/swiftshader/src/Reactor/BUILD.gn 2025-12-02 23:25:58.697291861 +0100
|
||||
@@ -307,7 +307,7 @@ if (supports_subzero) {
|
||||
|
||||
if (supports_llvm) {
|
||||
swiftshader_source_set("swiftshader_llvm_reactor") {
|
||||
- llvm_dir = "../../third_party/llvm-10.0"
|
||||
+ llvm_dir = "../../third_party/llvm-16.0"
|
||||
|
||||
deps = [
|
||||
":swiftshader_reactor_base",
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
diff -up chromium-144.0.7559.31/build/config/clang/BUILD.gn.rust-clang_lib chromium-144.0.7559.31/build/config/clang/BUILD.gn
|
||||
--- chromium-144.0.7559.31/build/config/clang/BUILD.gn.rust-clang_lib 2025-12-17 01:06:32.000000000 +0100
|
||||
+++ chromium-144.0.7559.31/build/config/clang/BUILD.gn 2025-12-23 19:01:33.876897379 +0100
|
||||
@@ -177,7 +177,21 @@ template("clang_lib") {
|
||||
}
|
||||
} else if (is_apple) {
|
||||
_dir = "darwin"
|
||||
- } else if (is_linux || is_chromeos) {
|
||||
+ } else if (is_linux) {
|
||||
+ if (current_cpu == "x64") {
|
||||
+ _dir = "x86_64-redhat-linux-gnu"
|
||||
+ } else if (current_cpu == "x86") {
|
||||
+ _dir = "i386-redhat-linux-gnu"
|
||||
+ } else if (current_cpu == "arm64") {
|
||||
+ _dir = "aarch64-redhat-linux-gnu"
|
||||
+ } else if (current_cpu == "arm") {
|
||||
+ _dir = "armhf-redhat-linux-gnu"
|
||||
+ } else if (current_cpu == "ppc64") {
|
||||
+ _dir = "ppc64le-redhat-linux-gnu"
|
||||
+ } else {
|
||||
+ assert(false) # Unhandled cpu type
|
||||
+ }
|
||||
+ } else if (is_chromeos) {
|
||||
if (current_cpu == "x64") {
|
||||
_dir = "x86_64-unknown-linux-gnu"
|
||||
} else if (current_cpu == "x86") {
|
||||
diff -up chromium-144.0.7559.31/build/rust/rust_bindgen_generator.gni.rust-clang_lib chromium-144.0.7559.31/build/rust/rust_bindgen_generator.gni
|
||||
--- chromium-144.0.7559.31/build/rust/rust_bindgen_generator.gni.rust-clang_lib 2025-12-17 01:06:32.000000000 +0100
|
||||
+++ chromium-144.0.7559.31/build/rust/rust_bindgen_generator.gni 2025-12-23 19:21:34.335924481 +0100
|
||||
@@ -26,14 +26,14 @@ if (!use_chromium_rust_toolchain &&
|
||||
|
||||
# On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in
|
||||
# ../lib.
|
||||
-_libclang_path = rust_bindgen_root
|
||||
+_libclang_path = clang_base_path
|
||||
if (!use_chromium_rust_toolchain &&
|
||||
(host_cpu == "ppc64" || host_cpu == "s390x")) {
|
||||
_libclang_path = rust_sysroot_absolute + "/lib64"
|
||||
} else if (host_os == "win") {
|
||||
_libclang_path += "/bin"
|
||||
} else {
|
||||
- _libclang_path += "/lib"
|
||||
+ _libclang_path += "/lib64"
|
||||
}
|
||||
|
||||
# Template to build Rust/C bindings with bindgen.
|
||||
diff -up chromium-144.0.7559.31/build/rust/rust_bindgen.gni.rust-clang_lib chromium-144.0.7559.31/build/rust/rust_bindgen.gni
|
||||
--- chromium-144.0.7559.31/build/rust/rust_bindgen.gni.rust-clang_lib 2025-12-17 01:06:32.000000000 +0100
|
||||
+++ chromium-144.0.7559.31/build/rust/rust_bindgen.gni 2025-12-23 19:22:12.089755683 +0100
|
||||
@@ -19,14 +19,14 @@ if (host_os == "win") {
|
||||
|
||||
# On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in
|
||||
# ../lib.
|
||||
-_libclang_path = rust_bindgen_root
|
||||
+_libclang_path = clang_base_path
|
||||
if (!use_chromium_rust_toolchain &&
|
||||
(current_cpu == "ppc64" || current_cpu == "s390x")) {
|
||||
_libclang_path = rust_sysroot_absolute + "/lib64"
|
||||
} else if (host_os == "win") {
|
||||
_libclang_path += "/bin"
|
||||
} else {
|
||||
- _libclang_path += "/lib"
|
||||
+ _libclang_path += "/lib64"
|
||||
}
|
||||
|
||||
# Template to build Rust/C bindings with bindgen.
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
diff -up chromium-144.0.7559.31/build/rust/std/BUILD.gn.than chromium-144.0.7559.31/build/rust/std/BUILD.gn
|
||||
--- chromium-144.0.7559.31/build/rust/std/BUILD.gn.than 2025-12-26 15:06:36.274081861 +0100
|
||||
+++ chromium-144.0.7559.31/build/rust/std/BUILD.gn 2025-12-26 16:11:45.697054423 +0100
|
||||
@@ -55,11 +55,7 @@ if (toolchain_has_rust) {
|
||||
"miniz_oxide",
|
||||
"object",
|
||||
]
|
||||
- if (rustc_nightly_capability) {
|
||||
- stdlib_files += [ "adler2" ]
|
||||
- } else {
|
||||
- stdlib_files += [ "adler" ]
|
||||
- }
|
||||
+ stdlib_files += [ "adler2" ]
|
||||
}
|
||||
|
||||
if (toolchain_for_rust_host_build_tools) {
|
||||
|
|
@ -150,8 +150,8 @@ Name[ast]=Ventana nueva
|
|||
Name[az]=Yeni Pəncərə
|
||||
Name[be]=Новае акно
|
||||
Name[bg]=Нов прозорец
|
||||
Name[bn_BD]=নতুন উইন্ডো (N)
|
||||
Name[bn_IN]=নতুন উইন্ডো
|
||||
Name[bn-BD]=নতুন উইন্ডো (N)
|
||||
Name[bn-IN]=নতুন উইন্ডো
|
||||
Name[br]=Prenestr nevez
|
||||
Name[brx]=गोदान उइन्ड'(N)
|
||||
Name[bs]=Novi prozor
|
||||
|
|
@ -163,37 +163,37 @@ Name[da]=Nyt vindue
|
|||
Name[de]=Neues Fenster
|
||||
Name[dsb]=Nowe wokno
|
||||
Name[el]=Νέο παράθυρο
|
||||
Name[en_GB]=New Window
|
||||
Name[en_US]=New Window
|
||||
Name[en_ZA]=New Window
|
||||
Name[en-GB]=New Window
|
||||
Name[en-US]=New Window
|
||||
Name[en-ZA]=New Window
|
||||
Name[eo]=Nova fenestro
|
||||
Name[es_AR]=Nueva ventana
|
||||
Name[es_CL]=Nueva ventana
|
||||
Name[es_ES]=Nueva ventana
|
||||
Name[es_MX]=Nueva ventana
|
||||
Name[es-AR]=Nueva ventana
|
||||
Name[es-CL]=Nueva ventana
|
||||
Name[es-ES]=Nueva ventana
|
||||
Name[es-MX]=Nueva ventana
|
||||
Name[et]=Uus aken
|
||||
Name[eu]=Leiho berria
|
||||
Name[fa]=پنجره جدید
|
||||
Name[ff]=Henorde Hesere
|
||||
Name[fi]=Uusi ikkuna
|
||||
Name[fr]=Nouvelle fenêtre
|
||||
Name[fy_NL]=Nij finster
|
||||
Name[ga_IE]=Fuinneog Nua
|
||||
Name[fy-NL]=Nij finster
|
||||
Name[ga-IE]=Fuinneog Nua
|
||||
Name[gd]=Uinneag ùr
|
||||
Name[gl]=Nova xanela
|
||||
Name[gn]=Ovetã pyahu
|
||||
Name[gu_IN]=નવી વિન્ડો
|
||||
Name[gu-IN]=નવી વિન્ડો
|
||||
Name[he]=חלון חדש
|
||||
Name[hi_IN]=नया विंडो
|
||||
Name[hi-IN]=नया विंडो
|
||||
Name[hr]=Novi prozor
|
||||
Name[hsb]=Nowe wokno
|
||||
Name[hu]=Új ablak
|
||||
Name[hy_AM]=Նոր Պատուհան
|
||||
Name[hy-AM]=Նոր Պատուհան
|
||||
Name[id]=Jendela Baru
|
||||
Name[is]=Nýr gluggi
|
||||
Name[it]=Nuova finestra
|
||||
Name[ja]=新しいウィンドウ
|
||||
Name[ja_JP@mac]=新規ウインドウ
|
||||
Name[ja-JP-mac]=新規ウインドウ
|
||||
Name[ka]=ახალი ფანჯარა
|
||||
Name[kk]=Жаңа терезе
|
||||
Name[km]=បង្អួចថ្មី
|
||||
|
|
@ -212,15 +212,15 @@ Name[ml]=പുതിയ ജാലകം
|
|||
Name[mr]=नवीन पटल
|
||||
Name[ms]=Tetingkap Baru
|
||||
Name[my]=ဝင်းဒိုးအသစ်
|
||||
Name[nb_NO]=Nytt vindu
|
||||
Name[ne_NP]=नयाँ सञ्झ्याल
|
||||
Name[nb-NO]=Nytt vindu
|
||||
Name[ne-NP]=नयाँ सञ्झ्याल
|
||||
Name[nl]=Nieuw venster
|
||||
Name[nn_NO]=Nytt vindauge
|
||||
Name[nn-NO]=Nytt vindauge
|
||||
Name[or]=ନୂତନ ୱିଣ୍ଡୋ
|
||||
Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
|
||||
Name[pa-IN]=ਨਵੀਂ ਵਿੰਡੋ
|
||||
Name[pl]=Nowe okno
|
||||
Name[pt_BR]=Nova janela
|
||||
Name[pt_PT]=Nova janela
|
||||
Name[pt-BR]=Nova janela
|
||||
Name[pt-PT]=Nova janela
|
||||
Name[rm]=Nova fanestra
|
||||
Name[ro]=Fereastră nouă
|
||||
Name[ru]=Новое окно
|
||||
|
|
@ -231,7 +231,7 @@ Name[sl]=Novo okno
|
|||
Name[son]=Zanfun taaga
|
||||
Name[sq]=Dritare e Re
|
||||
Name[sr]=Нови прозор
|
||||
Name[sv_SE]=Nytt fönster
|
||||
Name[sv-SE]=Nytt fönster
|
||||
Name[ta]=புதிய சாளரம்
|
||||
Name[te]=కొత్త విండో
|
||||
Name[th]=หน้าต่างใหม่
|
||||
|
|
@ -243,8 +243,8 @@ Name[uz]=Yangi oyna
|
|||
Name[vi]=Cửa sổ mới
|
||||
Name[wo]=Palanteer bu bees
|
||||
Name[xh]=Ifestile entsha
|
||||
Name[zh_CN]=新建窗口
|
||||
Name[zh_TW]=開新視窗
|
||||
Name[zh-CN]=新建窗口
|
||||
Name[zh-TW]=開新視窗
|
||||
Exec=chromium-browser %U
|
||||
|
||||
[Desktop Action new-private-window]
|
||||
|
|
@ -258,8 +258,8 @@ Name[ast]=Ventana privada nueva
|
|||
Name[az]=Yeni Məxfi Pəncərə
|
||||
Name[be]=Новае акно адасаблення
|
||||
Name[bg]=Нов прозорец за поверително сърфиране
|
||||
Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
|
||||
Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
|
||||
Name[bn-BD]=নতুন ব্যক্তিগত উইন্ডো
|
||||
Name[bn-IN]=নতুন ব্যক্তিগত উইন্ডো
|
||||
Name[br]=Prenestr merdeiñ prevez nevez
|
||||
Name[brx]=गोदान प्राइभेट उइन्ड'
|
||||
Name[bs]=Novi privatni prozor
|
||||
|
|
@ -271,37 +271,37 @@ Name[da]=Nyt privat vindue
|
|||
Name[de]=Neues privates Fenster
|
||||
Name[dsb]=Nowe priwatne wokno
|
||||
Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
|
||||
Name[en_GB]=New Private Window
|
||||
Name[en_US]=New Private Window
|
||||
Name[en_ZA]=New Private Window
|
||||
Name[en-GB]=New Private Window
|
||||
Name[en-US]=New Private Window
|
||||
Name[en-ZA]=New Private Window
|
||||
Name[eo]=Nova privata fenestro
|
||||
Name[es_AR]=Nueva ventana privada
|
||||
Name[es_CL]=Nueva ventana privada
|
||||
Name[es_ES]=Nueva ventana privada
|
||||
Name[es_MX]=Nueva ventana privada
|
||||
Name[es-AR]=Nueva ventana privada
|
||||
Name[es-CL]=Nueva ventana privada
|
||||
Name[es-ES]=Nueva ventana privada
|
||||
Name[es-MX]=Nueva ventana privada
|
||||
Name[et]=Uus privaatne aken
|
||||
Name[eu]=Leiho pribatu berria
|
||||
Name[fa]=پنجره ناشناس جدید
|
||||
Name[ff]=Henorde Suturo Hesere
|
||||
Name[fi]=Uusi yksityinen ikkuna
|
||||
Name[fr]=Nouvelle fenêtre de navigation privée
|
||||
Name[fy_NL]=Nij priveefinster
|
||||
Name[ga_IE]=Fuinneog Nua Phríobháideach
|
||||
Name[fy-NL]=Nij priveefinster
|
||||
Name[ga-IE]=Fuinneog Nua Phríobháideach
|
||||
Name[gd]=Uinneag phrìobhaideach ùr
|
||||
Name[gl]=Nova xanela privada
|
||||
Name[gn]=Ovetã ñemi pyahu
|
||||
Name[gu_IN]=નવી ખાનગી વિન્ડો
|
||||
Name[gu-IN]=નવી ખાનગી વિન્ડો
|
||||
Name[he]=חלון פרטי חדש
|
||||
Name[hi-IN]=नयी निजी विंडो
|
||||
Name[hr]=Novi privatni prozor
|
||||
Name[hsb]=Nowe priwatne wokno
|
||||
Name[hu]=Új privát ablak
|
||||
Name[hy_AM]=Սկսել Գաղտնի դիտարկում
|
||||
Name[hy-AM]=Սկսել Գաղտնի դիտարկում
|
||||
Name[id]=Jendela Mode Pribadi Baru
|
||||
Name[is]=Nýr huliðsgluggi
|
||||
Name[it]=Nuova finestra anonima
|
||||
Name[ja]=新しいプライベートウィンドウ
|
||||
Name[ja_JP@mac]=新規プライベートウインドウ
|
||||
Name[ja-JP-mac]=新規プライベートウインドウ
|
||||
Name[ka]=ახალი პირადი ფანჯარა
|
||||
Name[kk]=Жаңа жекелік терезе
|
||||
Name[km]=បង្អួចឯកជនថ្មី
|
||||
|
|
@ -320,15 +320,15 @@ Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
|
|||
Name[mr]=नवीन वैयक्तिक पटल
|
||||
Name[ms]=Tetingkap Persendirian Baharu
|
||||
Name[my]=New Private Window
|
||||
Name[nb_NO]=Nytt privat vindu
|
||||
Name[ne_NP]=नयाँ निजी सञ्झ्याल
|
||||
Name[nb-NO]=Nytt privat vindu
|
||||
Name[ne-NP]=नयाँ निजी सञ्झ्याल
|
||||
Name[nl]=Nieuw privévenster
|
||||
Name[nn_NO]=Nytt privat vindauge
|
||||
Name[nn-NO]=Nytt privat vindauge
|
||||
Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
|
||||
Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
|
||||
Name[pa-IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
|
||||
Name[pl]=Nowe okno prywatne
|
||||
Name[pt_BR]=Nova janela privativa
|
||||
Name[pt_PT]=Nova janela privada
|
||||
Name[pt-BR]=Nova janela privativa
|
||||
Name[pt-PT]=Nova janela privada
|
||||
Name[rm]=Nova fanestra privata
|
||||
Name[ro]=Fereastră privată nouă
|
||||
Name[ru]=Новое приватное окно
|
||||
|
|
@ -339,7 +339,7 @@ Name[sl]=Novo zasebno okno
|
|||
Name[son]=Sutura zanfun taaga
|
||||
Name[sq]=Dritare e Re Private
|
||||
Name[sr]=Нови приватан прозор
|
||||
Name[sv_SE]=Nytt privat fönster
|
||||
Name[sv-SE]=Nytt privat fönster
|
||||
Name[ta]=புதிய தனிப்பட்ட சாளரம்
|
||||
Name[te]=కొత్త ఆంతరంగిక విండో
|
||||
Name[th]=หน้าต่างส่วนตัวใหม่
|
||||
|
|
@ -351,6 +351,6 @@ Name[uz]=Yangi maxfiy oyna
|
|||
Name[vi]=Cửa sổ riêng tư mới
|
||||
Name[wo]=Panlanteeru biir bu bees
|
||||
Name[xh]=Ifestile yangasese entsha
|
||||
Name[zh_CN]=新建隐私浏览窗口
|
||||
Name[zh_TW]=新增隱私視窗
|
||||
Name[zh-CN]=新建隐私浏览窗口
|
||||
Name[zh-TW]=新增隱私視窗
|
||||
Exec=chromium-browser --incognito %U
|
||||
|
|
|
|||
|
|
@ -1,12 +0,0 @@
|
|||
diff -up chromium-140.0.7339.80/media/filters/ffmpeg_video_decoder.cc.me chromium-140.0.7339.80/media/filters/ffmpeg_video_decoder.cc
|
||||
--- chromium-140.0.7339.80/media/filters/ffmpeg_video_decoder.cc.me 2025-09-05 02:43:56.666833745 +0200
|
||||
+++ chromium-140.0.7339.80/media/filters/ffmpeg_video_decoder.cc 2025-09-05 03:09:01.121397898 +0200
|
||||
@@ -486,7 +486,7 @@ bool FFmpegVideoDecoder::ConfigureDecode
|
||||
|
||||
codec_context_->opaque = this;
|
||||
codec_context_->get_buffer2 = GetVideoBufferImpl;
|
||||
- codec_context_->flags |= AV_CODEC_FLAG_COPY_OPAQUE;
|
||||
+ //codec_context_->flags |= AV_CODEC_FLAG_COPY_OPAQUE;
|
||||
|
||||
if (decode_nalus_) {
|
||||
codec_context_->flags2 |= AV_CODEC_FLAG2_CHUNKS;
|
||||
|
|
@ -323,16 +323,8 @@ if __name__ == '__main__':
|
|||
'build/linux/debian_bullseye_i386-sysroot',
|
||||
'third_party/node/linux/node-linux-x64',
|
||||
'third_party/rust-toolchain',
|
||||
'third_party/rust-src',
|
||||
'third_party/devtools-frontend/src/third_party/esbuild',
|
||||
'third_party/enterprise_companion/chromium_linux64',
|
||||
'third_party/enterprise_companion/chromium_mac_amd64',
|
||||
'third_party/enterprise_companion/chromium_mac_arm64',
|
||||
'third_party/enterprise_companion/chromium_win_x86',
|
||||
'third_party/enterprise_companion/chromium_win_x86_64']
|
||||
junk_files = ['third_party/node/linux/node-linux-x64.tar.gz',
|
||||
'buildtools/third_party/eu-strip/bin/eu-strip',
|
||||
'buildtools/linux64/gn']
|
||||
'third_party/rust-src']
|
||||
junk_files = ['third_party/node/linux/node-linux-x64.tar.gz']
|
||||
|
||||
# First, the dirs:
|
||||
for directory in junk_dirs:
|
||||
|
|
@ -366,6 +358,6 @@ if __name__ == '__main__':
|
|||
if (not args.prep):
|
||||
print("Compressing cleaned tree, please wait...")
|
||||
os.chdir(chromium_root_dir)
|
||||
os.system("tar --exclude=\\.svn -cf - chromium-%s | xz -6 -T0 -f > %s" % (chromium_version, chromium_clean_xz_file))
|
||||
os.system("tar --exclude=\\.svn -cf - chromium-%s | xz -9 -T 0 -f > %s" % (chromium_version, chromium_clean_xz_file))
|
||||
|
||||
print("Finished!")
|
||||
|
|
|
|||
|
|
@ -1,72 +1,54 @@
|
|||
# system wide chromium flags
|
||||
|
||||
ARCH="$(arch)"
|
||||
MODE="$(systemd-detect-virt)"
|
||||
|
||||
# GRAPHIC_DRIVER=[amd|intel|nvidia|default]
|
||||
GRAPHIC_DRIVER=default
|
||||
|
||||
# WEB_AUTO_DARKMODE_WEBCONTENT=[on|off]
|
||||
WEB_AUTO_DARKMODE_WEBCONTENT=off
|
||||
# WEB_DARKMODE=[on|off]
|
||||
WEB_DARKMODE=off
|
||||
|
||||
# NATIVE_WAYLAND=[on|off]
|
||||
# chromium >=141 switched to --ozone-platform-hint=auto
|
||||
if [ ! -z "$WAYLAND_DISPLAY" ]; then
|
||||
NATIVE_WAYLAND=on
|
||||
else
|
||||
NATIVE_WAYLAND=off
|
||||
fi
|
||||
NATIVE_WAYLAND=off
|
||||
|
||||
DISABLE_FEATURES="LensOverlay"
|
||||
ENABLE_FEATURES="AllowQt"
|
||||
CHROMIUM_FLAGS=" --enable-chrome-browser-cloud-management"
|
||||
if [ "$NATIVE_WAYLAND" == "on" ] ; then
|
||||
ENABLE_FEATURES+=",WaylandLinuxDrmSyncobj,WaylandPerSurfaceScale,WaylandUiScale"
|
||||
else
|
||||
CHROMIUM_FLAGS=""
|
||||
if [ "$NATIVE_WAYLAND" == "off" ] ; then
|
||||
CHROMIUM_FLAGS+=" --enable-native-gpu-memory-buffers"
|
||||
CHROMIUM_FLAGS+=" --enable-gpu-memory-buffer-video-frames"
|
||||
CHROMIUM_FLAGS+=" --enable-zero-copy"
|
||||
CHROMIUM_FLAGS+=" --ignore-gpu-blocklist --disable-gpu-driver-bug-workaround"
|
||||
CHROMIUM_FLAGS+=" --enable-chrome-browser-cloud-management"
|
||||
CHROMIUM_FLAGS+=" --enable-gpu-rasterization"
|
||||
fi
|
||||
|
||||
ENABLE_FEATURES+=",AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL"
|
||||
FEATURES=""
|
||||
|
||||
case "$GRAPHIC_DRIVER" in
|
||||
amd|intel)
|
||||
# Need new mesa with AMD multi planes support, is supported in fedora >= 40 (mesa-24.1.1 or newer)
|
||||
# see https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26165
|
||||
CHROMIUM_FLAGS+=" --enable-accelerated-video-decode"
|
||||
ENABLE_FEATURES+=",VaapiIgnoreDriverChecks,UseMultiPlaneFormatForHardwareVideo"
|
||||
CHROMIUM_FLAGS+=" --use-gl=angle --use-angle=vulkan --enable-accelerated-video-decode"
|
||||
FEATURES+="Vulkan,VulkanFromANGLE,DefaultANGLEVulkan,VaapiIgnoreDriverChecks,VaapiVideoDecoder,UseMultiPlaneFormatForHardwareVideo"
|
||||
;;
|
||||
nvidia)
|
||||
# The NVIDIA VaAPI drivers are known to not support Chromium
|
||||
# see https://crbug.com/1492880. This feature switch is
|
||||
# provided for developers to test VaAPI drivers on NVIDIA GPUs
|
||||
ENABLE_FEATURES+=",VaapiOnNvidiaGPUs"
|
||||
export CUDA_DISABLE_PERF_BOOST=1
|
||||
CHROMIUM_FLAGS+=" --use-gl=angle --use-angle=gl"
|
||||
FEATURES+="VaapiVideoDecodeLinuxGL,VaapiVideoEncoder,VaapiOnNvidiaGPUs"
|
||||
;;
|
||||
*)
|
||||
ENABLE_FEATURES+=",AcceleratedVideoEncoder"
|
||||
CHROMIUM_FLAGS+=" --use-gl=angle --use-angle=gl"
|
||||
FEATURES+="VaapiVideoEncoder,VaapiVideoDecodeLinuxGL"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$MODE" != "none" ] ; then
|
||||
# chromium in VM, running with standard setting
|
||||
CHROMIUM_FLAGS=""
|
||||
DISABLE_FEATURES=""
|
||||
ENABLE_FEATURES=""
|
||||
fi
|
||||
|
||||
|
||||
# Web Dark mode
|
||||
if [ "$WEB_AUTO_DARKMODE_WEBCONTENT" == "on" ] ; then
|
||||
darktype="WebContentsForceDark"
|
||||
if [ -z "$ENABLE_FEATURES" ] ; then
|
||||
ENABLE_FEATURES+="$darktype"
|
||||
else
|
||||
ENABLE_FEATURES+=",$darktype"
|
||||
fi
|
||||
CHROMIUM_FLAGS+=" --force-dark-mode"
|
||||
if [ "$WEB_DARKMODE" == "on" ] ; then
|
||||
darktype="WebContentsForceDark:inversion_method/cielab_based/image_behavior/none/foreground_lightness_threshold/150/background_lightness_threshold/205"
|
||||
FEATURES+=",$darktype"
|
||||
fi
|
||||
|
||||
[ -z "$DISABLE_FEATURES" ] || CHROMIUM_FLAGS+=" --disable-features=$DISABLE_FEATURES"
|
||||
[ -z "$ENABLE_FEATURES" ] || CHROMIUM_FLAGS+=" --enable-features=$ENABLE_FEATURES"
|
||||
if [ "$ARCH" == "x86_64" ] ; then
|
||||
CHROMIUM_FLAGS+=" --enable-features=$FEATURES"
|
||||
fi
|
||||
|
|
|
|||
1092
chromium.spec
1092
chromium.spec
File diff suppressed because it is too large
Load diff
|
|
@ -1,8 +1,6 @@
|
|||
Index: chromium-144.0.7559.59/third_party/dawn/src/dawn/common/Platform.h
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/dawn/src/dawn/common/Platform.h
|
||||
+++ chromium-144.0.7559.59/third_party/dawn/src/dawn/common/Platform.h
|
||||
@@ -163,10 +163,12 @@
|
||||
--- a/third_party/dawn/src/dawn/common/Platform.h
|
||||
+++ b/third_party/dawn/src/dawn/common/Platform.h
|
||||
@@ -159,10 +159,12 @@
|
||||
#elif defined(__s390x__)
|
||||
#define DAWN_PLATFORM_IS_S390X 1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
Index: chromium-144.0.7559.59/third_party/breakpad/BUILD.gn
|
||||
Index: chromium-128.0.6613.113/third_party/breakpad/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/third_party/breakpad/BUILD.gn
|
||||
+++ chromium-144.0.7559.59/third_party/breakpad/BUILD.gn
|
||||
@@ -804,7 +804,6 @@ if (is_linux || is_chromeos || is_androi
|
||||
--- chromium-128.0.6613.113.orig/third_party/breakpad/BUILD.gn
|
||||
+++ chromium-128.0.6613.113/third_party/breakpad/BUILD.gn
|
||||
@@ -782,7 +782,6 @@ if (is_linux || is_chromeos || is_androi
|
||||
"breakpad/src/client/minidump_file_writer.h",
|
||||
"breakpad/src/common/convert_UTF.cc",
|
||||
"breakpad/src/common/convert_UTF.h",
|
||||
|
|
@ -10,7 +10,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/BUILD.gn
|
|||
"breakpad/src/common/linux/elf_core_dump.cc",
|
||||
"breakpad/src/common/linux/elf_core_dump.h",
|
||||
"breakpad/src/common/linux/elfutils.cc",
|
||||
@@ -836,6 +835,8 @@ if (is_linux || is_chromeos || is_androi
|
||||
@@ -814,6 +813,8 @@ if (is_linux || is_chromeos || is_androi
|
||||
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||||
public_configs = [ ":client_config" ]
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ Index: chromium-144.0.7559.59/third_party/breakpad/BUILD.gn
|
|||
if (current_cpu == "arm" && is_chromeos_ash) {
|
||||
# Avoid running out of registers in
|
||||
# linux_syscall_support.h:sys_clone()'s inline assembly.
|
||||
@@ -893,7 +894,6 @@ if (is_linux || is_chromeos || is_androi
|
||||
@@ -871,7 +872,6 @@ if (is_linux || is_chromeos || is_androi
|
||||
"breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc",
|
||||
"breakpad/src/client/linux/minidump_writer/minidump_writer_unittest_utils.cc",
|
||||
"breakpad/src/client/linux/minidump_writer/proc_cpuinfo_reader_unittest.cc",
|
||||
|
|
|
|||
12
fix-clang-selection.patch
Normal file
12
fix-clang-selection.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
Index: chromium-128.0.6613.113/build/config/BUILDCONFIG.gn
|
||||
===================================================================
|
||||
--- chromium-128.0.6613.113.orig/build/config/BUILDCONFIG.gn
|
||||
+++ chromium-128.0.6613.113/build/config/BUILDCONFIG.gn
|
||||
@@ -138,7 +138,6 @@ declare_args() {
|
||||
# Set to true when compiling with the Clang compiler.
|
||||
is_clang = current_os != "linux" ||
|
||||
(current_cpu != "s390x" && current_cpu != "s390" &&
|
||||
- current_cpu != "ppc64" && current_cpu != "ppc" &&
|
||||
current_cpu != "mips" && current_cpu != "mips64" &&
|
||||
current_cpu != "riscv64")
|
||||
|
||||
|
|
@ -24,11 +24,11 @@ inconsistency in data layouts when targeting this particular platform.
|
|||
The error reported by the linker is not technically an error, however, only
|
||||
a warning goosed up by a --fatal-warnings flag.
|
||||
|
||||
Index: chromium-144.0.7559.59/build/config/compiler/BUILD.gn
|
||||
Index: chromium-128.0.6613.113/build/config/compiler/BUILD.gn
|
||||
===================================================================
|
||||
--- chromium-144.0.7559.59.orig/build/config/compiler/BUILD.gn
|
||||
+++ chromium-144.0.7559.59/build/config/compiler/BUILD.gn
|
||||
@@ -470,7 +470,7 @@ config("compiler") {
|
||||
--- chromium-128.0.6613.113.orig/build/config/compiler/BUILD.gn
|
||||
+++ chromium-128.0.6613.113/build/config/compiler/BUILD.gn
|
||||
@@ -380,7 +380,7 @@ config("compiler") {
|
||||
|
||||
# Linker warnings.
|
||||
if (fatal_linker_warnings && !is_apple && current_os != "aix" &&
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue