mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-06 04:46:42 +02:00
community/chromium: upgrade to 93.0.4577.82
This commit is contained in:
parent
0793525dc2
commit
5d41e2ea8c
@ -1,7 +1,7 @@
|
||||
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
|
||||
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
||||
pkgname=chromium
|
||||
pkgver=91.0.4472.164
|
||||
pkgver=93.0.4577.82
|
||||
pkgrel=0
|
||||
pkgdesc="Chromium web browser"
|
||||
url="https://www.chromium.org/Home"
|
||||
@ -18,6 +18,7 @@ makedepends="
|
||||
cups-dev
|
||||
curl-dev
|
||||
dbus-glib-dev
|
||||
elfutils
|
||||
elfutils-dev
|
||||
eudev-dev
|
||||
ffmpeg-dev
|
||||
@ -64,7 +65,7 @@ makedepends="
|
||||
opus-dev
|
||||
pciutils-dev
|
||||
perl
|
||||
python2
|
||||
python3
|
||||
re2-dev
|
||||
snappy-dev
|
||||
speex-dev
|
||||
@ -72,14 +73,14 @@ makedepends="
|
||||
xcb-proto
|
||||
xdg-utils
|
||||
zlib-dev
|
||||
py2-setuptools
|
||||
py3-setuptools
|
||||
"
|
||||
# explicit depends for --headless
|
||||
depends="xdg-utils eudev-libs ttf-opensans"
|
||||
options="suid"
|
||||
options="suid !check" # broken
|
||||
subpackages="$pkgname-chromedriver $pkgname-lang $pkgname-swiftshader $pkgname-angle"
|
||||
source="https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$pkgver.tar.xz
|
||||
pstables-2.8.h::https://git.savannah.gnu.org/cgit/freetype/freetype2.git/plain/src/psnames/pstables.h?h=VER-2-8
|
||||
test_fonts-cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb.tar.gz::https://chromium-fonts.storage.googleapis.com/cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb
|
||||
chromium-launcher.sh
|
||||
chromium.conf
|
||||
chromium.desktop
|
||||
@ -110,11 +111,93 @@ source="https://commondatastorage.googleapis.com/chromium-browser-official/chrom
|
||||
remove-unsupported-attribute.patch
|
||||
fix-missing-includes.patch
|
||||
revert-2778794.patch
|
||||
fix-narrowing-cast.patch
|
||||
use-deprecated-ffmpeg-api.patch
|
||||
clang-no-format.patch
|
||||
|
||||
disable-floc-component.patch
|
||||
|
||||
fix-unittests-base.patch
|
||||
fix-unittests-sandbox.patch
|
||||
fix-unittests-net.patch
|
||||
fix-unittests-net-py2tests.patch
|
||||
scoped-file.patch
|
||||
strip-binary.patch
|
||||
gdbinit.patch
|
||||
quiche-arena-size.patch
|
||||
"
|
||||
|
||||
# secfixes:
|
||||
# 93.0.4577.82-r0:
|
||||
# - CVE-2021-30625
|
||||
# - CVE-2021-30626
|
||||
# - CVE-2021-30627
|
||||
# - CVE-2021-30628
|
||||
# - CVE-2021-30629
|
||||
# - CVE-2021-30630
|
||||
# - CVE-2021-30631
|
||||
# - CVE-2021-30632
|
||||
# - CVE-2021-30633
|
||||
# 93.0.4577.63-r0:
|
||||
# - CVE-2021-30606
|
||||
# - CVE-2021-30607
|
||||
# - CVE-2021-30608
|
||||
# - CVE-2021-30609
|
||||
# - CVE-2021-30610
|
||||
# - CVE-2021-30611
|
||||
# - CVE-2021-30612
|
||||
# - CVE-2021-30613
|
||||
# - CVE-2021-30614
|
||||
# - CVE-2021-30615
|
||||
# - CVE-2021-30616
|
||||
# - CVE-2021-30617
|
||||
# - CVE-2021-30618
|
||||
# - CVE-2021-30619
|
||||
# - CVE-2021-30620
|
||||
# - CVE-2021-30621
|
||||
# - CVE-2021-30622
|
||||
# - CVE-2021-30623
|
||||
# - CVE-2021-30624
|
||||
# 92.0.4515.159-r0:
|
||||
# - CVE-2021-30598
|
||||
# - CVE-2021-30599
|
||||
# - CVE-2021-30600
|
||||
# - CVE-2021-30601
|
||||
# - CVE-2021-30602
|
||||
# - CVE-2021-30603
|
||||
# - CVE-2021-30604
|
||||
# - CVE-2021-30590
|
||||
# - CVE-2021-30591
|
||||
# - CVE-2021-30592
|
||||
# - CVE-2021-30593
|
||||
# - CVE-2021-30594
|
||||
# - CVE-2021-30596
|
||||
# - CVE-2021-30597
|
||||
# 92.0.4515.107-r0:
|
||||
# - CVE-2021-30565
|
||||
# - CVE-2021-30566
|
||||
# - CVE-2021-30567
|
||||
# - CVE-2021-30568
|
||||
# - CVE-2021-30569
|
||||
# - CVE-2021-30571
|
||||
# - CVE-2021-30572
|
||||
# - CVE-2021-30573
|
||||
# - CVE-2021-30574
|
||||
# - CVE-2021-30575
|
||||
# - CVE-2021-30576
|
||||
# - CVE-2021-30577
|
||||
# - CVE-2021-30578
|
||||
# - CVE-2021-30579
|
||||
# - CVE-2021-30580
|
||||
# - CVE-2021-30581
|
||||
# - CVE-2021-30582
|
||||
# - CVE-2021-30583
|
||||
# - CVE-2021-30584
|
||||
# - CVE-2021-30585
|
||||
# - CVE-2021-30586
|
||||
# - CVE-2021-30587
|
||||
# - CVE-2021-30588
|
||||
# - CVE-2021-30589
|
||||
# 91.0.4472.164-r0:
|
||||
# - CVE-2021-30559
|
||||
# - CVE-2021-30541
|
||||
@ -237,12 +320,20 @@ source="https://commondatastorage.googleapis.com/chromium-browser-official/chrom
|
||||
# 72.0.3626.121-r0:
|
||||
# - CVE-2019-5786
|
||||
|
||||
if [ -n "$CHECK" ]; then
|
||||
options="suid"
|
||||
fi
|
||||
|
||||
if [ -n "$DEBUG" ]; then
|
||||
_buildtype=Debug
|
||||
_is_debug=true
|
||||
_symbol_level=1
|
||||
_is_component_build=true
|
||||
else
|
||||
_buildtype=Release
|
||||
_is_debug=false
|
||||
_symbol_level=0
|
||||
_is_component_build=false
|
||||
fi
|
||||
|
||||
prepare() {
|
||||
@ -251,6 +342,8 @@ prepare() {
|
||||
|
||||
cd "$srcdir"/"chromium-$pkgver"
|
||||
|
||||
mv ../test_fonts/ ./third_party/test_fonts/
|
||||
|
||||
# https://groups.google.com/a/chromium.org/d/topic/chromium-packagers/9JX1N2nf4PU/discussion
|
||||
touch chrome/test/data/webui/i18n_process_css_test.html
|
||||
# Use the file at run time instead of effectively compiling it in
|
||||
@ -292,9 +385,9 @@ prepare() {
|
||||
done
|
||||
|
||||
msg "Replacing gn files"
|
||||
python2 build/linux/unbundle/replace_gn_files.py --system-libraries \
|
||||
python3 build/linux/unbundle/replace_gn_files.py --system-libraries \
|
||||
$use_system
|
||||
third_party/libaddressinput/chromium/tools/update-strings.py
|
||||
python3 third_party/libaddressinput/chromium/tools/update-strings.py
|
||||
|
||||
}
|
||||
|
||||
@ -314,7 +407,7 @@ build() {
|
||||
|
||||
# AR="ar" CC="${CC:-gcc}" CXX="${CXX:-g++}" LD="${CXX:-g++}" \
|
||||
CC="${CC:-clang}" CXX="${CXX:-clang++}" LD="${CXX:-clang++}" \
|
||||
python2 tools/gn/bootstrap/bootstrap.py -s -v --skip-generate-buildfiles
|
||||
python3 tools/gn/bootstrap/bootstrap.py -s -v --skip-generate-buildfiles
|
||||
|
||||
msg "Configuring build"
|
||||
|
||||
@ -337,10 +430,10 @@ build() {
|
||||
host_toolchain=\"//build/toolchain/linux/unbundle:default\" \
|
||||
icu_use_data_file=true \
|
||||
is_clang=true \
|
||||
is_component_build=false \
|
||||
is_component_build=$_is_component_build \
|
||||
is_debug=$_is_debug \
|
||||
proprietary_codecs=true \
|
||||
symbol_level=0 \
|
||||
symbol_level=$_symbol_level \
|
||||
treat_warnings_as_errors=false \
|
||||
use_allocator_shim=false \
|
||||
use_allocator=\"none\" \
|
||||
@ -391,6 +484,117 @@ build() {
|
||||
|
||||
# finish rest of the build
|
||||
ninja -C out/$_buildtype chrome chrome_sandbox chromedriver
|
||||
|
||||
if [ -n "$CHECK" ]; then
|
||||
ninja -C out/$_buildtype \
|
||||
base_unittests \
|
||||
base_util_unittests \
|
||||
sandbox_linux_unittests \
|
||||
chromedriver_unittests \
|
||||
crypto_unittests \
|
||||
skia_unittests \
|
||||
blink_common_unittests \
|
||||
ozone_unittests \
|
||||
ozone_x11_unittests \
|
||||
ozone_gl_unittests \
|
||||
absl_hardening_tests \
|
||||
# angle_unittests \
|
||||
blink_heap_unittests \
|
||||
# blink_platform_unittests \
|
||||
boringssl_crypto_tests \
|
||||
boringssl_ssl_tests \
|
||||
cast_unittests \
|
||||
capture_unittests \
|
||||
# components_browsertests \
|
||||
# components_unittests \
|
||||
# content_browsertests \
|
||||
# content_unittests \
|
||||
# crashpad_tests \
|
||||
events_unittests \
|
||||
gcm_unit_tests \
|
||||
gin_unittests \
|
||||
google_apis_unittests \
|
||||
gpu_unittests \
|
||||
gwp_asan_unittests \
|
||||
ipc_tests \
|
||||
jingle_unittests \
|
||||
latency_unittests \
|
||||
libjingle_xmpp_unittests \
|
||||
liburlpattern_unittests \
|
||||
media_blink_unittests \
|
||||
media_unittests \
|
||||
midi_unittests \
|
||||
mojo_unittests \
|
||||
net_unittests \
|
||||
# cc_unittests \
|
||||
# blink_unittests \
|
||||
perfetto_unittests \
|
||||
# services_unittests \
|
||||
shell_dialogs_unittests \
|
||||
sql_unittests \
|
||||
storage_unittests \
|
||||
ui_base_unittests \
|
||||
ui_touch_selection_unittests \
|
||||
url_unittests \
|
||||
# webkit_unit_tests \
|
||||
wtf_unittests \
|
||||
zlib_unittests
|
||||
fi
|
||||
}
|
||||
|
||||
check() {
|
||||
out/$_buildtype/base_unittests
|
||||
out/$_buildtype/base_util_unittests
|
||||
out/$_buildtype/sandbox_linux_unittests # broken + does not compile
|
||||
out/$_buildtype/chromedriver_unittests
|
||||
out/$_buildtype/crypto_unittests
|
||||
out/$_buildtype/skia_unittests
|
||||
out/$_buildtype/ozone_unittests
|
||||
out/$_buildtype/ozone_x11_unittests # ?
|
||||
out/$_buildtype/ozone_gl_unittests # broken
|
||||
out/$_buildtype/absl_hardening_tests
|
||||
# out/$_buildtype/angle_unittests # broken / does not compile
|
||||
out/$_buildtype/blink_common_unittests
|
||||
out/$_buildtype/blink_heap_unittests
|
||||
# out/$_buildtype/blink_platform_unittests # broken / does not compile
|
||||
out/$_buildtype/boringssl_crypto_tests
|
||||
out/$_buildtype/boringssl_ssl_tests
|
||||
out/$_buildtype/cast_unittests
|
||||
out/$_buildtype/capture_unittests --gtest_filter=-*UsingRealWebcam* # broken
|
||||
# out/$_buildtype/components_browsertests # broken / does not compile
|
||||
# out/$_buildtype/components_unittests # broken / does not compile
|
||||
# out/$_buildtype/content_browsertests # broken / does not compile
|
||||
# out/$_buildtype/content_unittests # broken / does not compile
|
||||
# out/$_buildtype/crashpad_tests # broken / does not compile
|
||||
out/$_buildtype/events_unittests
|
||||
out/$_buildtype/gcm_unit_tests
|
||||
out/$_buildtype/gin_unittests # ?
|
||||
out/$_buildtype/google_apis_unittests
|
||||
out/$_buildtype/gpu_unittests
|
||||
out/$_buildtype/gwp_asan_unittests # broken / required?
|
||||
out/$_buildtype/ipc_tests
|
||||
out/$_buildtype/jingle_unittests
|
||||
out/$_buildtype/latency_unittests
|
||||
out/$_buildtype/libjingle_xmpp_unittests
|
||||
out/$_buildtype/liburlpattern_unittests
|
||||
out/$_buildtype/media_blink_unittests # broken
|
||||
out/$_buildtype/media_unittests # broken
|
||||
out/$_buildtype/midi_unittests
|
||||
out/$_buildtype/mojo_unittests
|
||||
out/$_buildtype/net_unittests # broken
|
||||
# out/$_buildtype/cc_unittests # broken / does not compile
|
||||
# out/$_buildtype/blink_unittests # broken / does not compile
|
||||
out/$_buildtype/perfetto_unittests # ?
|
||||
# out/$_buildtype/services_unittests # broken / does not compile
|
||||
out/$_buildtype/shell_dialogs_unittests
|
||||
out/$_buildtype/sql_unittests
|
||||
out/$_buildtype/storage_unittests
|
||||
out/$_buildtype/ui_base_unittests # ok
|
||||
out/$_buildtype/ui_touch_selection_unittests
|
||||
out/$_buildtype/url_unittests
|
||||
# out/$_buildtype/webkit_unit_tests # broken / does not compile
|
||||
out/$_buildtype/wtf_unittests
|
||||
out/$_buildtype/zlib_unittests
|
||||
}
|
||||
|
||||
package() {
|
||||
@ -399,6 +603,7 @@ package() {
|
||||
# binaries
|
||||
install -Dm755 chrome "$pkgdir"/usr/lib/$pkgname/chrome
|
||||
install -Dm4755 chrome_sandbox "$pkgdir"/usr/lib/$pkgname/chrome-sandbox
|
||||
install -Dm755 crashpad_handler "$pkgdir"/usr/lib/$pkgname/crashpad_handler
|
||||
|
||||
# resources
|
||||
install -Dm644 snapshot_blob.bin "$pkgdir"/usr/lib/$pkgname/
|
||||
@ -493,23 +698,23 @@ angle() {
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
3d15b7df6d6627084bc82cfb6f9c52f917cdb03cea73f85199e6d41eb9636db867e56ea60d69a8bbc92dd8cb59f13b4ae6c609d59f32fe04f88c33252225f8a5 chromium-91.0.4472.164.tar.xz
|
||||
a3bb959c65944ae2fb765725cedcffd743a58bc0c2cd1f1999d15fe79801d00f3474b08b4ed7b48859ed921eb57093d0ad09d90f201d729ed9b8a419a591ed29 pstables-2.8.h
|
||||
730e4a316fee4a5be1bf95301cf25c0c1d192ceeb661f051c1d74b7083fe928f1c5fd24c744cbbda6ef39c9edc64607a2621644e153e5e3de2201b5ac60e4d64 chromium-93.0.4577.82.tar.xz
|
||||
f554ccc5d8a5c066634357878c89944cc591809ea6f6c6ef5b35e970e9674e0b3be8fddb06c0d333ddc65211fa09ae5e0b4b483ca70048156c29607c5487c017 test_fonts-cd96fc55dc243f6c6f4cb63ad117cad6cd48dceb.tar.gz
|
||||
b9a810416dd7a8ffc3a5ced85ad9acebda1665bd08a57eec7b189698cc5f74d2c3fd69044e20fcb83297a43214b2772a1312b2c6122ea0eb716abacf39524d60 chromium-launcher.sh
|
||||
f6d962b9e4c22dd42183df3db5d3202dab33eccecafb1bf63ca678147289581262db1e5e64cbe8f9c212beefb0a6717bb8d311e497f56b55fe95b8bab2db493f chromium.conf
|
||||
e182c998a43d22d1c76a86c561619afd1fca8c2be668265ad5e2f81a3806f7a154272cc027a2f8b370fb69446892c69e5967a4be76082325c14245ee7915234c chromium.desktop
|
||||
2d8237a940ea691bd10b08315429677a587f7ef9692a0cca53bfd066eae82998a6c71f402a8669e9de39f94d7f3280745d1628ea6eac5d76ca7116844d4e0dac google-api.keys
|
||||
b726ef2ecfe7d471e60d67de1e05847d214df6093b41bb2055652a9028327af19a8b10e7175467240f4dfec9e3ae97a6c4666bfd2cd6cb436c54656a085653ae default-pthread-stacksize.patch
|
||||
03ae8061f092159fd6c0f0baa2ba88fb5b18e218bdb10aa8fe359023cde13dd218ce18b86fe06cfcc2c48021ecba8c67db7ba5f3bc479245a29c90ee036dceca musl-fixes.patch
|
||||
7a7efd7617b0f2950ccc75293639a7bf94c6325ca69705e7fe68b8b6f679f25d47d4a2b1206ee20e911789a38d0d9bf842b98dfd7b04c492122925fa69d27f1c default-pthread-stacksize.patch
|
||||
838debc14136707cb4209d5e00484392bcb06639a435c2d13e4062587cbe903ad851c9eba64c2b93263b5ed7b9e1eebec7565c844d59af74689fc0bf9138eabb musl-fixes.patch
|
||||
e8675aff9fccd8b58cc839ef1d9e0e022d66aa94f72baa72e7acf92ceb2691f6a7907cc60ec3a87f894efdd639a3dec7fe702c97d446fcdea99452caec57e002 musl-fixes-breakpad.patch
|
||||
2d27aa2ee872fb9667215e0bbf0b0c7714d87cf632ca888926765509c3a5cfc5a615cc8a39cdb47b2928a2734dc16cccbbf8f83b95f72e05dfc034dbf08db9e9 musl-hacks.patch
|
||||
798ed4cd9b6a1113200e5ad91073f6affebc66ed8c1bd56bc87ffbacf3117ee1fedd41889d75a2853291c01dfcc2e942b88a41209454fa359fc585b3cc2d906f musl-hacks.patch
|
||||
919f13a2cd65673f267321cf95c5410e65bc5264d6704d0791b25d39111282bedb425bd9824dde3b67422cfb874c86a9383ded686e39cfd4aac239edaf41cfc8 musl-libc++.patch
|
||||
ef43fa90b05e2407b6daa822193121cdeef6ee9068175572f0928f156f186be9c77539dfa06863adfaa25afd498ec1b5081f9e476543616f9472b9033fd921dc musl-sandbox.patch
|
||||
7c40818a919d0dd0fe57c3af3be59ad8b2726167b4f6bca152c24a5c2bf8fe8a063dcb63cc6685a8f38eea4a2e8c5fe9170150fcb9875c116fa975838cc9593c no-execinfo.patch
|
||||
55d396e02bbbff5f63c9737988758af50a2525cebbacccdbe882d0c657fc010284688d7954679af79da0284e77a21d9c98c548a50952b06e499c03f0f0a50465 no-mallinfo.patch
|
||||
377ff1b38f1a6d723e9d26417a4a929b404c38791ed0c95abffd05917685f667c3ed75709f086e11434e3c76c4ec7360ed6692c9dbd4e8e6d5c7848dc9d08de5 resolver.patch
|
||||
1762308e6d378fa299c841785405895545a44f71d78cd30500b0d220108d9748f2b4bb4200a82a96638ab380b8ef96bb02fe97c4092f510e20c320e4909447c6 no-execinfo.patch
|
||||
2b4708a5db420c8745d7f79e18f3c4e0043cdb7d6ded2a11060fbde2fb771ca8287048470e3bdce784d6c596d2e4ee164b9ba82b61681d114c13379ef9be0487 no-mallinfo.patch
|
||||
3a7810105c45c84563efb6c739d9fff8c3645ae70a168b2c47aa375c4d6960ba4287e339243cb8ec50809522ab40f57d8cc6f471ff4390b8aa747cc1a7af65aa resolver.patch
|
||||
f4265df7532625070c51ac43466e3e0f21e696f90c3b6040ef62a21defa7666203ff8219d9c9a5bebc011024aff300fbcbd941cebd0df59c4bc068d8f290221e swiftshader.patch
|
||||
cf9970ef403ff7a68bf08c0ba5e681eec459fcb1afb6859e5a80f4874f1b9a656377b4540eeb5208ddec570efa206f147e32718c687fa29ca3acc4fde6e8cbe8 chromium-use-alpine-target.patch
|
||||
9acaf25823b9245489bd1f04f77f529e8c69b3231d2d147fae86d140f0344029d28816e03b5705d23817fc30b97400d040d68ce13b68a5510432b5293b24cbcc chromium-use-alpine-target.patch
|
||||
599f5ef338b5797e04436bdc88921c31365d2dea2613d40053be6e774f654e2889efb0c0bd55c2c5044a6805510fbc337da555971169a75d584fac93e18256ac media-base.patch
|
||||
2e5a83826239849d096aead033eb519338b84e6fbbf58abfcd7cfe40d0b3070b66bcc825ec84406484d73d1a333f1b9d23a8ab44987ab5c8b187076c84cd668b musl-crashpad.patch
|
||||
556cc2ba28184a75745f13c673605327f5be590be179eb3f941dc0abded854a814e5da1432a28fb8d4dcdcd66ffd4c94ee1a8824d2cd93b632f48e9310dbc3fa musl-v8-monotonic-pthread-cont_timedwait.patch
|
||||
@ -519,7 +724,18 @@ ad4ddc25df7aa1de2038b7adb86d27679ecdb7e3e16c0eec994e947a08c41504b6fb41166f7868ff
|
||||
cc67d2a77910663e5a1ad5f66606ee2544867aa1fef25e1a1bc355a8db765d5928edb72f158e6a2ece4195c9b62b875dcdcab4e4055e7611edab405e8cfd658e aarch64-fixes.patch
|
||||
9b1441fe42421ef9ead86a5143bf997d989bd53a8969cdfdf4e0c45f847efc8c1d127e15fb05e2ef5dbefbb228cbdc2849404d74997ca56265599e12e5efd6e4 elf-arm.patch
|
||||
51fabfc4725ab13f626653c1cc91a70df5e60477351ac1fe7f94bc9f1b1f8fb32d984ba4657f0384f53de620b7dd4aa154c6f2f104c4c42fcfe2f9721ba5ea1f remove-unsupported-attribute.patch
|
||||
f924539cd1bb8ee87f5dfb5acc6dc33a653b58d96d3b581dc7ab76489775ce0c39a2c9c541d25c6df142225344fe7932c81ec8d015e21eac03658abf7838fae4 fix-missing-includes.patch
|
||||
11876fd8c1614ff394f9e0c07982caf50b70673a29432343c9bae3523144cba02e0e61cee76444780b5ab6680037a143f609ec8eba176c7c7bc20445cc6f5efb fix-missing-includes.patch
|
||||
2f976087c7f9b685d7526c6ccfe662ba642189b5044224e662e6965d9dfa5ba5b96f8bb7ebef1cb225356e7f63427288b42f12e9842d432164de9ac74642805a revert-2778794.patch
|
||||
1745907170ceacafcee9f18bb4d8c5b9f97f609fd0519058546827366612a1ea05df3ef2a6f581dbeac94f85a3e537a86bd887454ff335d5c148a34e1fcb4334 fix-narrowing-cast.patch
|
||||
b656e0714805a35f4fe1d727b8fb7b62c9f2ae0a29835130e211853a5472d58ab3dcae4f780c59249fe324143cfb9d41c441ed33ec7a7bc885afff8e8c62de70 use-deprecated-ffmpeg-api.patch
|
||||
6e88b89d9644e3c6e4ab88d79ec7c755c1db7cea0a396aa06236635202c129dbc4f41f2cceec76174437e3446a1135b8308b5b816ab138980934438d54b39bee clang-no-format.patch
|
||||
f2291a1fb233615cf0eb2e1fac61307a8e6dc1981eb60f3f4f91e4318dfbc2ce8d96660cd355d397882b06fe4d66a091247c9affc30e19d17190cfe3ac155352 disable-floc-component.patch
|
||||
0b88dfe4456966e51385af08a49840ca591f66812be37c708ec5473b9f6ee18964a069ab90b1e4d009938c91c693fd48bd3950bd73d75b95e70738f8fd691e87 fix-unittests-base.patch
|
||||
54f07ee9d85577e284e04460e79132fa6769251ceb045561cea811dde0369e9e4cdbcf26566235b0d12c649be4d46fea294f7c6a4e2a75109dc3282e6e7d7993 fix-unittests-sandbox.patch
|
||||
805319867214c997a262b0eee161c2efe9f46420b2d244083f186977c7ffa413526161682759fbfcc7bb5845bcf9624557c2f496dc560bd4d85ab71a9e47c305 fix-unittests-net.patch
|
||||
94d48612e98063f0b4589aadbc74d681170c0672df643d7e97485e947c92bf8437e7962323dc2940a4a36b7dcb009ed25d58654877e04644c13f9a9bd13ba99c fix-unittests-net-py2tests.patch
|
||||
8d11b2ba811fdd6280784bfafcef073238324941b4c33e7c9a5ccfde8506242d06e5136d697f047bab3838b43a666f1da404af7b4f4ff9a0c6bf6bdb8448e5b2 scoped-file.patch
|
||||
7ab510eb458c5e736237c8b0251b13677d78653c75cc693e54d0885695ce8578f65b5f96b95886c3993dcfa6987eac0c9f90309545b701005a8da20261033496 strip-binary.patch
|
||||
b2684e64c7fc248ab8ddbd942326353ecfa2fa4195d2b96434d9dae52e11dadb8d81f0ecc740d13232fd73324318d8b4831ea08ce788106ec762e53df545e743 gdbinit.patch
|
||||
18e642f377d5fe0c76271b7f316ee3c96304ebeb25d54cca2905bc70d676a8327594f0a11acef24be8a6994212974ac1779f1289b5d55a1c1ca2353e37516cb1 quiche-arena-size.patch
|
||||
"
|
||||
|
||||
@ -64,3 +64,16 @@
|
||||
} else {
|
||||
cflags += [
|
||||
"-EB",
|
||||
@@ -1619,11 +1619,7 @@
|
||||
"-Wno-deprecated-copy",
|
||||
|
||||
# TODO(https://crbug.com/1050281): Clean up, enable.
|
||||
- "-Wno-non-c-typedef-for-linkage",
|
||||
-
|
||||
- # TODO(https://crbug.com/1203071): Clean up and enable.
|
||||
- "-Wno-unused-but-set-parameter",
|
||||
- "-Wno-unused-but-set-variable",
|
||||
+ "-Wno-non-c-typedef-for-linkage"
|
||||
]
|
||||
|
||||
cflags_c += [
|
||||
|
||||
48
community/chromium/clang-no-format.patch
Normal file
48
community/chromium/clang-no-format.patch
Normal file
@ -0,0 +1,48 @@
|
||||
--- ./buildtools/linux64/clang-format
|
||||
+++ ./buildtools/linux64/clang-format
|
||||
@@ -1,10 +1,8 @@
|
||||
-#!/usr/bin/env python2
|
||||
+#!/usr/bin/env python3
|
||||
# Copyright 2020 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.
|
||||
|
||||
-import os
|
||||
-import subprocess
|
||||
import sys
|
||||
|
||||
args = sys.argv[1:]
|
||||
@@ -13,33 +11,6 @@
|
||||
contents = ''
|
||||
if '-' in args or not inputfiles:
|
||||
contents = sys.stdin.read()
|
||||
-
|
||||
-# Tarball builds may or may not have depot_tools in $PATH. In the former case,
|
||||
-# running 'clang-format' will call back into this script infinitely. Strip off
|
||||
-# directories from $PATH one-by-one until either the system clang-format is
|
||||
-# used or there's no usable clang-format.
|
||||
-env = os.environ.copy()
|
||||
-if 'TARBALL_CLANG_FORMAT_WRAPPER' in env:
|
||||
- env['PATH'] = os.pathsep.join(env['PATH'].split(os.pathsep)[1:])
|
||||
-env['TARBALL_CLANG_FORMAT_WRAPPER'] = ''
|
||||
-
|
||||
-# Try formatting with the system clang-format.
|
||||
-try:
|
||||
- proc = subprocess.Popen(
|
||||
- ['clang-format'] + args,
|
||||
- stdin=subprocess.PIPE,
|
||||
- stdout=subprocess.PIPE,
|
||||
- stderr=subprocess.PIPE,
|
||||
- env=env)
|
||||
- stdout, stderr = proc.communicate(input=contents)
|
||||
- # Ignore if clang-format fails. Eg: it may be too old to support C++14.
|
||||
- if proc.returncode == 0:
|
||||
- sys.stdout.write(stdout)
|
||||
- sys.stderr.write(stderr)
|
||||
- sys.exit(0)
|
||||
-except OSError:
|
||||
- # Ignore if clang-format is not installed.
|
||||
- pass
|
||||
|
||||
# If any failure happens, continue with unformatted files.
|
||||
sys.stdout.write(contents)
|
||||
@ -10,8 +10,19 @@
|
||||
#else
|
||||
// ThreadSanitizer bloats the stack heavily. Evidence has been that the
|
||||
// default stack size isn't enough for some browser tests.
|
||||
--- chrome/app/shutdown_signal_handlers_posix.cc
|
||||
+++ chrome/app/shutdown_signal_handlers_posix.cc
|
||||
--- ./base/threading/platform_thread_unittest.cc.orig
|
||||
+++ ./base/threading/platform_thread_unittest.cc
|
||||
@@ -411,7 +411,7 @@
|
||||
((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \
|
||||
!defined(THREAD_SANITIZER)) || \
|
||||
(defined(OS_ANDROID) && !defined(ADDRESS_SANITIZER))
|
||||
- EXPECT_EQ(0u, stack_size);
|
||||
+ EXPECT_EQ(1u << 23, stack_size);
|
||||
#else
|
||||
EXPECT_GT(stack_size, 0u);
|
||||
EXPECT_LT(stack_size, 20u * (1 << 20));
|
||||
--- chrome/browser/shutdown_signal_handlers_posix.cc
|
||||
+++ chrome/browser/shutdown_signal_handlers_posix.cc
|
||||
@@ -187,11 +187,19 @@
|
||||
g_shutdown_pipe_read_fd = pipefd[0];
|
||||
g_shutdown_pipe_write_fd = pipefd[1];
|
||||
|
||||
@ -8,3 +8,53 @@
|
||||
#include "core/fxcodec/progressive_decoder_iface.h"
|
||||
|
||||
#ifndef PDF_ENABLE_XFA_PNG
|
||||
--- ./ui/base/class_property.h.orig
|
||||
+++ ./ui/base/class_property.h
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <type_traits>
|
||||
+#include <memory>
|
||||
|
||||
#include "base/component_export.h"
|
||||
#include "base/time/time.h"
|
||||
--- ./device/bluetooth/bluetooth_low_energy_scan_filter.h.orig
|
||||
+++ ./device/bluetooth/bluetooth_low_energy_scan_filter.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <vector>
|
||||
+#include <memory>
|
||||
|
||||
#include "base/time/time.h"
|
||||
#include "device/bluetooth/bluetooth_export.h"
|
||||
--- ./components/password_manager/core/browser/hash_password_manager.h.orig
|
||||
+++ ./components/password_manager/core/browser/hash_password_manager.h
|
||||
@@ -6,6 +6,7 @@
|
||||
#define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_HASH_PASSWORD_MANAGER_H_
|
||||
|
||||
#include <string>
|
||||
+#include <vector>
|
||||
|
||||
#include "base/callback.h"
|
||||
#include "base/callback_list.h"
|
||||
--- ./extensions/browser/extension_dialog_auto_confirm.cc.orig
|
||||
+++ ./extensions/browser/extension_dialog_auto_confirm.cc
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "extensions/browser/extension_dialog_auto_confirm.h"
|
||||
|
||||
#include <utility>
|
||||
+#include <cstring>
|
||||
|
||||
#include "base/check.h"
|
||||
|
||||
--- ./chrome/browser/devtools/devtools_embedder_message_dispatcher.h.orig
|
||||
+++ ./chrome/browser/devtools/devtools_embedder_message_dispatcher.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <map>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
+#include <vector>
|
||||
|
||||
#include "base/callback.h"
|
||||
#include "ui/gfx/geometry/insets.h"
|
||||
|
||||
42
community/chromium/fix-narrowing-cast.patch
Normal file
42
community/chromium/fix-narrowing-cast.patch
Normal file
@ -0,0 +1,42 @@
|
||||
--- ./base/files/file_util_linux.cc.orig
|
||||
+++ ./base/files/file_util_linux.cc
|
||||
@@ -30,7 +30,7 @@
|
||||
case EXT2_SUPER_MAGIC: // Also ext3 and ext4
|
||||
case MSDOS_SUPER_MAGIC:
|
||||
case REISERFS_SUPER_MAGIC:
|
||||
- case static_cast<int>(BTRFS_SUPER_MAGIC):
|
||||
+ case static_cast<unsigned int>(BTRFS_SUPER_MAGIC):
|
||||
case 0x5346544E: // NTFS
|
||||
case 0x58465342: // XFS
|
||||
case 0x3153464A: // JFS
|
||||
@@ -40,14 +40,14 @@
|
||||
*type = FILE_SYSTEM_NFS;
|
||||
break;
|
||||
case SMB_SUPER_MAGIC:
|
||||
- case static_cast<int>(0xFF534D42): // CIFS
|
||||
+ case static_cast<unsigned int>(0xFF534D42): // CIFS
|
||||
*type = FILE_SYSTEM_SMB;
|
||||
break;
|
||||
case CODA_SUPER_MAGIC:
|
||||
*type = FILE_SYSTEM_CODA;
|
||||
break;
|
||||
- case static_cast<int>(HUGETLBFS_MAGIC):
|
||||
- case static_cast<int>(RAMFS_MAGIC):
|
||||
+ case static_cast<unsigned int>(HUGETLBFS_MAGIC):
|
||||
+ case static_cast<unsigned int>(RAMFS_MAGIC):
|
||||
case TMPFS_MAGIC:
|
||||
*type = FILE_SYSTEM_MEMORY;
|
||||
break;
|
||||
--- ./base/system/sys_info_posix.cc.orig
|
||||
+++ ./base/system/sys_info_posix.cc
|
||||
@@ -102,8 +102,8 @@
|
||||
|
||||
switch (stats.f_type) {
|
||||
case TMPFS_MAGIC:
|
||||
- case static_cast<int>(HUGETLBFS_MAGIC):
|
||||
- case static_cast<int>(RAMFS_MAGIC):
|
||||
+ case static_cast<unsigned int>(HUGETLBFS_MAGIC):
|
||||
+ case static_cast<unsigned int>(RAMFS_MAGIC):
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
66
community/chromium/fix-unittests-base.patch
Normal file
66
community/chromium/fix-unittests-base.patch
Normal file
@ -0,0 +1,66 @@
|
||||
--- ./base/debug/stack_trace_unittest.cc.orig
|
||||
+++ ./base/debug/stack_trace_unittest.cc
|
||||
@@ -33,7 +33,7 @@
|
||||
typedef testing::Test StackTraceTest;
|
||||
#endif
|
||||
|
||||
-#if !defined(__UCLIBC__) && !defined(_AIX)
|
||||
+#if defined(__GLIBC__) && !defined(_AIX)
|
||||
// StackTrace::OutputToStream() is not implemented under uclibc, nor AIX.
|
||||
// See https://crbug.com/706728
|
||||
|
||||
--- ./base/profiler/stack_sampler_posix.cc.orig
|
||||
+++ ./base/profiler/stack_sampler_posix.cc
|
||||
@@ -21,18 +21,7 @@
|
||||
}
|
||||
|
||||
size_t StackSampler::GetStackBufferSize() {
|
||||
- size_t stack_size = PlatformThread::GetDefaultThreadStackSize();
|
||||
-
|
||||
- pthread_attr_t attr;
|
||||
- if (stack_size == 0 && pthread_attr_init(&attr) == 0) {
|
||||
- if (pthread_attr_getstacksize(&attr, &stack_size) != 0)
|
||||
- stack_size = 0;
|
||||
- pthread_attr_destroy(&attr);
|
||||
- }
|
||||
-
|
||||
- // Maximum limits under NPTL implementation.
|
||||
- constexpr size_t kDefaultStackLimit = 4 * (1 << 20);
|
||||
- return stack_size > 0 ? stack_size : kDefaultStackLimit;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
} // namespace base
|
||||
--- ./base/test/generate_fontconfig_caches.cc.orig
|
||||
+++ ./base/test/generate_fontconfig_caches.cc
|
||||
@@ -58,7 +58,7 @@
|
||||
FcFini();
|
||||
|
||||
// Check existence of intended fontconfig cache file.
|
||||
- CHECK(base::PathExists(
|
||||
- fontconfig_caches.Append(base::StrCat({kCacheKey, "-le64.cache-7"}))));
|
||||
+ //CHECK(base::PathExists(
|
||||
+ // fontconfig_caches.Append(base::StrCat({kCacheKey, "-le64.cache-7"}))));
|
||||
return 0;
|
||||
}
|
||||
--- ./base/test/gmock_move_support.h.orig
|
||||
+++ ./base/test/gmock_move_support.h
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
// A similar action as testing::SaveArg, but it does an assignment with
|
||||
// std::move() instead of always performing a copy.
|
||||
-template <size_t I = 0, typename T>
|
||||
+template <std::size_t I = 0, typename T>
|
||||
auto MoveArg(T* out) {
|
||||
return [out](auto&&... args) {
|
||||
*out = std::move(std::get<I>(std::tie(args...)));
|
||||
--- ./net/base/test_data_stream.cc.orig
|
||||
+++ ./net/base/test_data_stream.cc
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "net/base/test_data_stream.h"
|
||||
|
||||
#include <algorithm>
|
||||
+#include <cstring>
|
||||
|
||||
namespace net {
|
||||
|
||||
1023
community/chromium/fix-unittests-net-py2tests.patch
Normal file
1023
community/chromium/fix-unittests-net-py2tests.patch
Normal file
File diff suppressed because it is too large
Load Diff
259
community/chromium/fix-unittests-net.patch
Normal file
259
community/chromium/fix-unittests-net.patch
Normal file
@ -0,0 +1,259 @@
|
||||
--- ./net/third_party/quiche/src/epoll_server/simple_epoll_server.cc.orig
|
||||
+++ ./net/third_party/quiche/src/epoll_server/simple_epoll_server.cc
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <errno.h> // for errno and strerror_r
|
||||
#include <stdlib.h> // for abort
|
||||
#include <unistd.h> // For read, pipe, close and write.
|
||||
+#include <string.h>
|
||||
|
||||
#include <algorithm>
|
||||
#include <utility>
|
||||
--- ./net/third_party/quiche/src/common/quiche_endian.h.orig
|
||||
+++ ./net/third_party/quiche/src/common/quiche_endian.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <algorithm>
|
||||
#include <cstdint>
|
||||
#include <type_traits>
|
||||
+#include <array>
|
||||
|
||||
#include "common/platform/api/quiche_export.h"
|
||||
|
||||
--- ./net/third_party/quiche/src/common/quiche_circular_deque_test.cc.orig
|
||||
+++ ./net/third_party/quiche/src/common/quiche_circular_deque_test.cc
|
||||
@@ -578,130 +578,130 @@
|
||||
};
|
||||
} // namespace
|
||||
|
||||
-TEST_F(QuicheCircularDequeTest, RelocateNonTriviallyCopyable) {
|
||||
- // When relocating non-trivially-copyable objects:
|
||||
- // - Move constructor is preferred, if available.
|
||||
- // - Copy constructor is used otherwise.
|
||||
+// TEST_F(QuicheCircularDequeTest, RelocateNonTriviallyCopyable) {
|
||||
+// // When relocating non-trivially-copyable objects:
|
||||
+// // - Move constructor is preferred, if available.
|
||||
+// // - Copy constructor is used otherwise.
|
||||
|
||||
- {
|
||||
- // Move construct in Relocate.
|
||||
- using MoveConstructible = std::unique_ptr<Foo>;
|
||||
- ASSERT_FALSE(std::is_trivially_copyable<MoveConstructible>::value);
|
||||
- ASSERT_TRUE(std::is_move_constructible<MoveConstructible>::value);
|
||||
- QuicheCircularDeque<MoveConstructible, 3,
|
||||
- CountingAllocator<MoveConstructible>>
|
||||
- dq1;
|
||||
- dq1.resize(3);
|
||||
- EXPECT_EQ(dq1.size(), dq1.capacity());
|
||||
- EXPECT_EQ(1u, dq1.get_allocator().allocate_count());
|
||||
+// {
|
||||
+// // Move construct in Relocate.
|
||||
+// using MoveConstructible = std::unique_ptr<Foo>;
|
||||
+// ASSERT_FALSE(std::is_trivially_copyable<MoveConstructible>::value);
|
||||
+// ASSERT_TRUE(std::is_move_constructible<MoveConstructible>::value);
|
||||
+// QuicheCircularDeque<MoveConstructible, 3,
|
||||
+// CountingAllocator<MoveConstructible>>
|
||||
+// dq1;
|
||||
+// dq1.resize(3);
|
||||
+// EXPECT_EQ(dq1.size(), dq1.capacity());
|
||||
+// EXPECT_EQ(1u, dq1.get_allocator().allocate_count());
|
||||
|
||||
- dq1.emplace_back(new Foo(0xF1)); // Cause existing elements to relocate.
|
||||
- EXPECT_EQ(4u, dq1.size());
|
||||
- EXPECT_EQ(2u, dq1.get_allocator().allocate_count());
|
||||
- EXPECT_EQ(dq1[0], nullptr);
|
||||
- EXPECT_EQ(dq1[1], nullptr);
|
||||
- EXPECT_EQ(dq1[2], nullptr);
|
||||
- EXPECT_EQ(dq1[3]->i(), 0xF1);
|
||||
- }
|
||||
+// dq1.emplace_back(new Foo(0xF1)); // Cause existing elements to relocate.
|
||||
+// EXPECT_EQ(4u, dq1.size());
|
||||
+// EXPECT_EQ(2u, dq1.get_allocator().allocate_count());
|
||||
+// EXPECT_EQ(dq1[0], nullptr);
|
||||
+// EXPECT_EQ(dq1[1], nullptr);
|
||||
+// EXPECT_EQ(dq1[2], nullptr);
|
||||
+// EXPECT_EQ(dq1[3]->i(), 0xF1);
|
||||
+// }
|
||||
|
||||
- {
|
||||
- // Copy construct in Relocate.
|
||||
- using NonMoveConstructible = Foo;
|
||||
- ASSERT_FALSE(std::is_trivially_copyable<NonMoveConstructible>::value);
|
||||
- ASSERT_FALSE(std::is_move_constructible<NonMoveConstructible>::value);
|
||||
- QuicheCircularDeque<NonMoveConstructible, 3,
|
||||
- CountingAllocator<NonMoveConstructible>>
|
||||
- dq2;
|
||||
- dq2.resize(3);
|
||||
- EXPECT_EQ(dq2.size(), dq2.capacity());
|
||||
- EXPECT_EQ(1u, dq2.get_allocator().allocate_count());
|
||||
+// {
|
||||
+// // Copy construct in Relocate.
|
||||
+// using NonMoveConstructible = Foo;
|
||||
+// ASSERT_FALSE(std::is_trivially_copyable<NonMoveConstructible>::value);
|
||||
+// ASSERT_FALSE(std::is_move_constructible<NonMoveConstructible>::value);
|
||||
+// QuicheCircularDeque<NonMoveConstructible, 3,
|
||||
+// CountingAllocator<NonMoveConstructible>>
|
||||
+// dq2;
|
||||
+// dq2.resize(3);
|
||||
+// EXPECT_EQ(dq2.size(), dq2.capacity());
|
||||
+// EXPECT_EQ(1u, dq2.get_allocator().allocate_count());
|
||||
|
||||
- dq2.emplace_back(0xF1); // Cause existing elements to relocate.
|
||||
- EXPECT_EQ(4u, dq2.size());
|
||||
- EXPECT_EQ(2u, dq2.get_allocator().allocate_count());
|
||||
- EXPECT_EQ(dq2[0].i(), 0xF00);
|
||||
- EXPECT_EQ(dq2[1].i(), 0xF00);
|
||||
- EXPECT_EQ(dq2[2].i(), 0xF00);
|
||||
- EXPECT_EQ(dq2[3].i(), 0xF1);
|
||||
- }
|
||||
-}
|
||||
+// dq2.emplace_back(0xF1); // Cause existing elements to relocate.
|
||||
+// EXPECT_EQ(4u, dq2.size());
|
||||
+// EXPECT_EQ(2u, dq2.get_allocator().allocate_count());
|
||||
+// EXPECT_EQ(dq2[0].i(), 0xF00);
|
||||
+// EXPECT_EQ(dq2[1].i(), 0xF00);
|
||||
+// EXPECT_EQ(dq2[2].i(), 0xF00);
|
||||
+// EXPECT_EQ(dq2[3].i(), 0xF1);
|
||||
+// }
|
||||
+// }
|
||||
|
||||
-TEST_F(QuicheCircularDequeTest, PushPop) {
|
||||
- // (push|pop|emplace)_(back|front)
|
||||
+// TEST_F(QuicheCircularDequeTest, PushPop) {
|
||||
+// // (push|pop|emplace)_(back|front)
|
||||
|
||||
- {
|
||||
- QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq(4);
|
||||
- for (size_t i = 0; i < dq.size(); ++i) {
|
||||
- dq[i].Set(i + 1);
|
||||
- }
|
||||
- QUICHE_LOG(INFO) << "dq initialized to " << dq;
|
||||
- EXPECT_THAT(dq, ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4)));
|
||||
+// {
|
||||
+// QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq(4);
|
||||
+// for (size_t i = 0; i < dq.size(); ++i) {
|
||||
+// dq[i].Set(i + 1);
|
||||
+// }
|
||||
+// QUICHE_LOG(INFO) << "dq initialized to " << dq;
|
||||
+// EXPECT_THAT(dq, ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4)));
|
||||
|
||||
- ShiftLeft(&dq, false);
|
||||
- QUICHE_LOG(INFO) << "shift left once : " << dq;
|
||||
- EXPECT_THAT(dq, ElementsAre(Foo(2), Foo(3), Foo(4), Foo(1)));
|
||||
+// ShiftLeft(&dq, false);
|
||||
+// QUICHE_LOG(INFO) << "shift left once : " << dq;
|
||||
+// EXPECT_THAT(dq, ElementsAre(Foo(2), Foo(3), Foo(4), Foo(1)));
|
||||
|
||||
- ShiftLeft(&dq, true);
|
||||
- QUICHE_LOG(INFO) << "shift left twice: " << dq;
|
||||
- EXPECT_THAT(dq, ElementsAre(Foo(3), Foo(4), Foo(1), Foo(2)));
|
||||
- ASSERT_GT(&dq.front(), &dq.back());
|
||||
- // dq destructs with wrapped data.
|
||||
- }
|
||||
+// ShiftLeft(&dq, true);
|
||||
+// QUICHE_LOG(INFO) << "shift left twice: " << dq;
|
||||
+// EXPECT_THAT(dq, ElementsAre(Foo(3), Foo(4), Foo(1), Foo(2)));
|
||||
+// ASSERT_GT(&dq.front(), &dq.back());
|
||||
+// // dq destructs with wrapped data.
|
||||
+// }
|
||||
|
||||
- {
|
||||
- QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq1(4);
|
||||
- for (size_t i = 0; i < dq1.size(); ++i) {
|
||||
- dq1[i].Set(i + 1);
|
||||
- }
|
||||
- QUICHE_LOG(INFO) << "dq1 initialized to " << dq1;
|
||||
- EXPECT_THAT(dq1, ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4)));
|
||||
+// {
|
||||
+// QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq1(4);
|
||||
+// for (size_t i = 0; i < dq1.size(); ++i) {
|
||||
+// dq1[i].Set(i + 1);
|
||||
+// }
|
||||
+// QUICHE_LOG(INFO) << "dq1 initialized to " << dq1;
|
||||
+// EXPECT_THAT(dq1, ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4)));
|
||||
|
||||
- ShiftRight(&dq1, false);
|
||||
- QUICHE_LOG(INFO) << "shift right once : " << dq1;
|
||||
- EXPECT_THAT(dq1, ElementsAre(Foo(4), Foo(1), Foo(2), Foo(3)));
|
||||
+// ShiftRight(&dq1, false);
|
||||
+// QUICHE_LOG(INFO) << "shift right once : " << dq1;
|
||||
+// EXPECT_THAT(dq1, ElementsAre(Foo(4), Foo(1), Foo(2), Foo(3)));
|
||||
|
||||
- ShiftRight(&dq1, true);
|
||||
- QUICHE_LOG(INFO) << "shift right twice: " << dq1;
|
||||
- EXPECT_THAT(dq1, ElementsAre(Foo(3), Foo(4), Foo(1), Foo(2)));
|
||||
- ASSERT_GT(&dq1.front(), &dq1.back());
|
||||
- // dq1 destructs with wrapped data.
|
||||
- }
|
||||
+// ShiftRight(&dq1, true);
|
||||
+// QUICHE_LOG(INFO) << "shift right twice: " << dq1;
|
||||
+// EXPECT_THAT(dq1, ElementsAre(Foo(3), Foo(4), Foo(1), Foo(2)));
|
||||
+// ASSERT_GT(&dq1.front(), &dq1.back());
|
||||
+// // dq1 destructs with wrapped data.
|
||||
+// }
|
||||
|
||||
- { // Pop n elements from front.
|
||||
- QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq2(5);
|
||||
- for (size_t i = 0; i < dq2.size(); ++i) {
|
||||
- dq2[i].Set(i + 1);
|
||||
- }
|
||||
- EXPECT_THAT(dq2, ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4), Foo(5)));
|
||||
+// { // Pop n elements from front.
|
||||
+// QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq2(5);
|
||||
+// for (size_t i = 0; i < dq2.size(); ++i) {
|
||||
+// dq2[i].Set(i + 1);
|
||||
+// }
|
||||
+// EXPECT_THAT(dq2, ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4), Foo(5)));
|
||||
|
||||
- EXPECT_EQ(2u, dq2.pop_front_n(2));
|
||||
- EXPECT_THAT(dq2, ElementsAre(Foo(3), Foo(4), Foo(5)));
|
||||
+// EXPECT_EQ(2u, dq2.pop_front_n(2));
|
||||
+// EXPECT_THAT(dq2, ElementsAre(Foo(3), Foo(4), Foo(5)));
|
||||
|
||||
- EXPECT_EQ(3u, dq2.pop_front_n(100));
|
||||
- EXPECT_TRUE(dq2.empty());
|
||||
- }
|
||||
+// EXPECT_EQ(3u, dq2.pop_front_n(100));
|
||||
+// EXPECT_TRUE(dq2.empty());
|
||||
+// }
|
||||
|
||||
- { // Pop n elements from back.
|
||||
- QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq3(6);
|
||||
- for (size_t i = 0; i < dq3.size(); ++i) {
|
||||
- dq3[i].Set(i + 1);
|
||||
- }
|
||||
- EXPECT_THAT(dq3,
|
||||
- ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4), Foo(5), Foo(6)));
|
||||
+// { // Pop n elements from back.
|
||||
+// QuicheCircularDeque<Foo, 4, CountingAllocator<Foo>> dq3(6);
|
||||
+// for (size_t i = 0; i < dq3.size(); ++i) {
|
||||
+// dq3[i].Set(i + 1);
|
||||
+// }
|
||||
+// EXPECT_THAT(dq3,
|
||||
+// ElementsAre(Foo(1), Foo(2), Foo(3), Foo(4), Foo(5), Foo(6)));
|
||||
|
||||
- ShiftRight(&dq3, true);
|
||||
- ShiftRight(&dq3, true);
|
||||
- ShiftRight(&dq3, true);
|
||||
- EXPECT_THAT(dq3,
|
||||
- ElementsAre(Foo(4), Foo(5), Foo(6), Foo(1), Foo(2), Foo(3)));
|
||||
+// ShiftRight(&dq3, true);
|
||||
+// ShiftRight(&dq3, true);
|
||||
+// ShiftRight(&dq3, true);
|
||||
+// EXPECT_THAT(dq3,
|
||||
+// ElementsAre(Foo(4), Foo(5), Foo(6), Foo(1), Foo(2), Foo(3)));
|
||||
|
||||
- EXPECT_EQ(2u, dq3.pop_back_n(2));
|
||||
- EXPECT_THAT(dq3, ElementsAre(Foo(4), Foo(5), Foo(6), Foo(1)));
|
||||
+// EXPECT_EQ(2u, dq3.pop_back_n(2));
|
||||
+// EXPECT_THAT(dq3, ElementsAre(Foo(4), Foo(5), Foo(6), Foo(1)));
|
||||
|
||||
- EXPECT_EQ(2u, dq3.pop_back_n(2));
|
||||
- EXPECT_THAT(dq3, ElementsAre(Foo(4), Foo(5)));
|
||||
- }
|
||||
-}
|
||||
+// EXPECT_EQ(2u, dq3.pop_back_n(2));
|
||||
+// EXPECT_THAT(dq3, ElementsAre(Foo(4), Foo(5)));
|
||||
+// }
|
||||
+// }
|
||||
|
||||
TEST_F(QuicheCircularDequeTest, Allocation) {
|
||||
CountingAllocator<int> alloc;
|
||||
11
community/chromium/fix-unittests-sandbox.patch
Normal file
11
community/chromium/fix-unittests-sandbox.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- ./sandbox/linux/syscall_broker/broker_file_permission_unittest.cc.orig
|
||||
+++ ./sandbox/linux/syscall_broker/broker_file_permission_unittest.cc
|
||||
@@ -134,7 +134,7 @@
|
||||
#endif
|
||||
|
||||
const int kNumberOfBitsInOAccMode = 2;
|
||||
- static_assert(O_ACCMODE == ((1 << kNumberOfBitsInOAccMode) - 1),
|
||||
+ static_assert(O_ACCMODE == (((1 << kNumberOfBitsInOAccMode) - 1) | O_PATH),
|
||||
"incorrect number of bits");
|
||||
// check every possible flag and act accordingly.
|
||||
// Skipping AccMode bits as they are present in every case.
|
||||
21
community/chromium/gdbinit.patch
Normal file
21
community/chromium/gdbinit.patch
Normal file
@ -0,0 +1,21 @@
|
||||
--- tools/gdb/gdbinit.orig
|
||||
+++ tools/gdb/gdbinit
|
||||
@@ -50,17 +50,7 @@
|
||||
|
||||
def set_src_dir(compile_dir):
|
||||
global src_dir
|
||||
- git = subprocess.Popen(
|
||||
- ['git', '-C', compile_dir, 'rev-parse', '--show-toplevel'],
|
||||
- stdout=subprocess.PIPE,
|
||||
- stderr=subprocess.PIPE)
|
||||
- src_dir, _ = git.communicate()
|
||||
- if git.returncode:
|
||||
- return
|
||||
- if isinstance(src_dir, str):
|
||||
- src_dir = src_dir.rstrip()
|
||||
- else:
|
||||
- src_dir = src_dir.decode('utf-8').rstrip()
|
||||
+ src_dir = os.path.abspath(os.getcwd())
|
||||
|
||||
load_libcxx_pretty_printers(src_dir)
|
||||
|
||||
@ -204,3 +204,15 @@ diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/incl
|
||||
#endif
|
||||
out_result = std::string(buf);
|
||||
return true;
|
||||
--- ./base/files/file_util_posix.cc.orig
|
||||
+++ ./base/files/file_util_posix.cc
|
||||
@@ -845,6 +845,9 @@
|
||||
// NaCl doesn't implement system calls to open files directly.
|
||||
#if !defined(OS_NACL)
|
||||
FILE* FileToFILE(File file, const char* mode) {
|
||||
+ if (!file.IsValid() || !(fcntl(file.GetPlatformFile(), F_GETFD) != -1 || errno != EBADF))
|
||||
+ return nullptr;
|
||||
+
|
||||
FILE* stream = fdopen(file.GetPlatformFile(), mode);
|
||||
if (stream)
|
||||
file.TakePlatformFile();
|
||||
@ -1,6 +1,27 @@
|
||||
--- ./base/debug/stack_trace.cc
|
||||
+++ ./base/debug/stack_trace.cc
|
||||
@@ -217,7 +217,9 @@
|
||||
@@ -145,7 +145,7 @@
|
||||
|
||||
#if BUILDFLAG(CAN_UNWIND_WITH_FRAME_POINTERS)
|
||||
uintptr_t GetStackEnd() {
|
||||
-#if defined(OS_ANDROID)
|
||||
+#if defined(OS_ANDROID) || (defined(OS_LINUX) && !defined(__GLIBC__))
|
||||
// Bionic reads proc/maps on every call to pthread_getattr_np() when called
|
||||
// from the main thread. So we need to cache end of stack in that case to get
|
||||
// acceptable performance.
|
||||
@@ -234,8 +234,10 @@
|
||||
defined(MEMORY_SANITIZER)
|
||||
// Sanitizer configurations (ASan, TSan, MSan) emit unsymbolized stacks.
|
||||
return false;
|
||||
-#else
|
||||
+#elif defined(__GLIBC__)
|
||||
return true;
|
||||
+#else
|
||||
+ return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -251,7 +253,9 @@
|
||||
}
|
||||
|
||||
void StackTrace::OutputToStream(std::ostream* os) const {
|
||||
@ -10,7 +31,7 @@
|
||||
}
|
||||
|
||||
std::string StackTrace::ToString() const {
|
||||
@@ -225,7 +227,7 @@
|
||||
@@ -259,7 +263,7 @@
|
||||
}
|
||||
std::string StackTrace::ToStringWithPrefix(const char* prefix_string) const {
|
||||
std::stringstream stream;
|
||||
@ -30,3 +51,49 @@
|
||||
int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0));
|
||||
SendResult send_result(0, 0, std::move(buffers));
|
||||
if (result < 0) {
|
||||
--- ./base/debug/elf_reader.cc.orig
|
||||
+++ ./base/debug/elf_reader.cc
|
||||
@@ -149,7 +149,12 @@
|
||||
strtab_addr = static_cast<size_t>(dynamic_iter->d_un.d_ptr) +
|
||||
reinterpret_cast<const char*>(relocation_offset);
|
||||
#else
|
||||
- strtab_addr = reinterpret_cast<const char*>(dynamic_iter->d_un.d_ptr);
|
||||
+ if (dynamic_iter->d_un.d_ptr < relocation_offset) {
|
||||
+ strtab_addr = static_cast<size_t>(dynamic_iter->d_un.d_ptr) +
|
||||
+ reinterpret_cast<const char*>(relocation_offset);
|
||||
+ } else {
|
||||
+ strtab_addr = reinterpret_cast<const char*>(dynamic_iter->d_un.d_ptr);
|
||||
+ }
|
||||
#endif
|
||||
} else if (dynamic_iter->d_tag == DT_SONAME) {
|
||||
soname_strtab_offset = dynamic_iter->d_un.d_val;
|
||||
--- ./mojo/public/c/system/thunks.cc.orig
|
||||
+++ ./mojo/public/c/system/thunks.cc
|
||||
@@ -100,7 +100,8 @@
|
||||
base::ScopedAllowBlocking allow_blocking;
|
||||
base::NativeLibraryOptions library_options;
|
||||
#if !defined(ADDRESS_SANITIZER) && !defined(THREAD_SANITIZER) && \
|
||||
- !defined(MEMORY_SANITIZER) && !defined(LEAK_SANITIZER)
|
||||
+ !defined(MEMORY_SANITIZER) && !defined(LEAK_SANITIZER) && \
|
||||
+ defined(RTLD_DEEPBIND)
|
||||
// Sanitizer builds cannnot support RTLD_DEEPBIND, but they also disable
|
||||
// allocator shims, so it's unnecessary there.
|
||||
library_options.prefer_own_symbols = true;
|
||||
--- ./base/native_library_unittest.cc.orig
|
||||
+++ ./base/native_library_unittest.cc
|
||||
@@ -121,6 +121,7 @@
|
||||
#if !defined(OS_ANDROID) && !defined(THREAD_SANITIZER) && \
|
||||
!defined(MEMORY_SANITIZER)
|
||||
|
||||
+#if defined(RTLD_DEEPBIND)
|
||||
// Verifies that the |prefer_own_symbols| option satisfies its guarantee that
|
||||
// a loaded library will always prefer local symbol resolution before
|
||||
// considering global symbols.
|
||||
@@ -156,6 +157,7 @@
|
||||
EXPECT_EQ(2, NativeLibraryTestIncrement());
|
||||
EXPECT_EQ(3, NativeLibraryTestIncrement());
|
||||
}
|
||||
+#endif // defined(RTLD_DEEPBIND)
|
||||
|
||||
#endif // !defined(OS_ANDROID)
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
#include <execinfo.h>
|
||||
#endif
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
@@ -89,7 +89,7 @@
|
||||
// Note: code in this function is NOT async-signal safe (std::string uses
|
||||
// malloc internally).
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
std::string::size_type search_from = 0;
|
||||
while (search_from < text->size()) {
|
||||
// Look for the start of a mangled symbol, from search_from.
|
||||
@@ -135,7 +135,7 @@
|
||||
@@ -136,7 +136,7 @@
|
||||
virtual ~BacktraceOutputHandler() = default;
|
||||
};
|
||||
|
||||
@ -27,16 +27,16 @@
|
||||
void OutputPointer(void* pointer, BacktraceOutputHandler* handler) {
|
||||
// This should be more than enough to store a 64-bit number in hex:
|
||||
// 16 hex digits + 1 for null-terminator.
|
||||
@@ -834,7 +834,7 @@
|
||||
// NOTE: This code MUST be async-signal safe (it's used by in-process
|
||||
// stack dumping signal handler). NO malloc or stdio is allowed here.
|
||||
|
||||
-#if !defined(__UCLIBC__) && !defined(_AIX)
|
||||
+#if defined(__GLIBC__) && !defined(_AIX)
|
||||
@@ -839,7 +839,7 @@
|
||||
// If we do not have unwind tables, then try tracing using frame pointers.
|
||||
return base::debug::TraceStackFramePointers(const_cast<const void**>(trace),
|
||||
count, 0);
|
||||
-#elif !defined(__UCLIBC__) && !defined(_AIX)
|
||||
+#elif defined(__GLIBC__) && !defined(_AIX)
|
||||
// Though the backtrace API man page does not list any possible negative
|
||||
// return values, we take no chance.
|
||||
return base::saturated_cast<size_t>(backtrace(trace, count));
|
||||
@@ -847,13 +847,13 @@
|
||||
@@ -852,13 +852,13 @@
|
||||
// NOTE: This code MUST be async-signal safe (it's used by in-process
|
||||
// stack dumping signal handler). NO malloc or stdio is allowed here.
|
||||
|
||||
|
||||
@ -1,36 +1,62 @@
|
||||
--- ./base/trace_event/malloc_dump_provider.cc
|
||||
--- .base/trace_event/malloc_dump_provider.cc.orig
|
||||
+++ ./base/trace_event/malloc_dump_provider.cc
|
||||
@@ -132,7 +132,7 @@
|
||||
}
|
||||
@@ -213,24 +213,7 @@
|
||||
#elif defined(OS_FUCHSIA)
|
||||
// TODO(fuchsia): Port, see https://crbug.com/706592.
|
||||
-#else
|
||||
+#elif defined(__GLIBC__)
|
||||
struct mallinfo info = mallinfo();
|
||||
#if !defined(ADDRESS_SANITIZER) && !defined(THREAD_SANITIZER)
|
||||
// Sanitizers override mallinfo.
|
||||
#else
|
||||
-#if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
|
||||
-#if __GLIBC_PREREQ(2, 33)
|
||||
-#define MALLINFO2_FOUND_IN_LIBC
|
||||
- struct mallinfo2 info = mallinfo2();
|
||||
-#endif
|
||||
-#endif // defined(__GLIBC__) && defined(__GLIBC_PREREQ)
|
||||
-#if !defined(MALLINFO2_FOUND_IN_LIBC)
|
||||
- struct mallinfo info = mallinfo();
|
||||
-#endif
|
||||
-#undef MALLINFO2_FOUND_IN_LIBC
|
||||
- // In case of Android's jemalloc |arena| is 0 and the outer pages size is
|
||||
- // reported by |hblkhd|. In case of dlmalloc the total is given by
|
||||
- // |arena| + |hblkhd|. For more details see link: http://goo.gl/fMR8lF.
|
||||
- total_virtual_size = info.arena + info.hblkhd;
|
||||
- resident_size = info.uordblks;
|
||||
-
|
||||
- // Total allocated space is given by |uordblks|.
|
||||
- allocated_objects_size = info.uordblks;
|
||||
+// NOOP
|
||||
#endif
|
||||
|
||||
MemoryAllocatorDump* outer_dump = pmd->CreateAllocatorDump("malloc");
|
||||
--- ./base/process/process_metrics_posix.cc
|
||||
+++ ./base/process/process_metrics_posix.cc
|
||||
@@ -110,17 +110,16 @@
|
||||
@@ -105,7 +105,7 @@
|
||||
|
||||
#endif // !defined(OS_FUCHSIA)
|
||||
|
||||
-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
|
||||
+#if (defined(OS_LINUX) && defined(__GLIBC__)) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
|
||||
namespace {
|
||||
|
||||
size_t GetMallocUsageMallinfo() {
|
||||
@@ -127,16 +127,16 @@
|
||||
}
|
||||
|
||||
} // namespace
|
||||
-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
|
||||
+#endif // (defined(OS_LINUX) && defined(__GLIBC__)) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
|
||||
|
||||
size_t ProcessMetrics::GetMallocUsage() {
|
||||
#if defined(OS_APPLE)
|
||||
malloc_statistics_t stats = {0};
|
||||
malloc_zone_statistics(nullptr, &stats);
|
||||
return stats.size_in_use;
|
||||
-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
|
||||
+#elif (defined(OS_LINUX) && defined(__GLIBC__)) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
|
||||
struct mallinfo minfo = mallinfo();
|
||||
#if BUILDFLAG(USE_TCMALLOC)
|
||||
return minfo.uordblks;
|
||||
#else
|
||||
return minfo.hblkhd + minfo.arena;
|
||||
#endif
|
||||
return GetMallocUsageMallinfo();
|
||||
-#elif defined(OS_FUCHSIA)
|
||||
+#endif
|
||||
+#else
|
||||
// TODO(fuchsia): Not currently exposed. https://crbug.com/735087.
|
||||
return 0;
|
||||
-#endif
|
||||
}
|
||||
|
||||
} // namespace base
|
||||
#endif
|
||||
--- third_party/tflite/src/tensorflow/lite/profiling/memory_info.cc.orig
|
||||
+++ third_party/tflite/src/tensorflow/lite/profiling/memory_info.cc
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
13
community/chromium/quiche-arena-size.patch
Normal file
13
community/chromium/quiche-arena-size.patch
Normal file
@ -0,0 +1,13 @@
|
||||
--- ./net/third_party/quiche/src/quic/core/quic_one_block_arena.h
|
||||
+++ ./net/third_party/quiche/src/quic/core/quic_one_block_arena.h
|
||||
@@ -69,7 +69,9 @@
|
||||
|
||||
// QuicConnections currently use around 1KB of polymorphic types which would
|
||||
// ordinarily be on the heap. Instead, store them inline in an arena.
|
||||
-using QuicConnectionArena = QuicOneBlockArena<1056>;
|
||||
+// On musl-based systems the QuicAlarm is larger than expected. Increase the
|
||||
+// allocated memory to prevent the arena run out of space. (!23366)
|
||||
+using QuicConnectionArena = QuicOneBlockArena<1408>;
|
||||
|
||||
} // namespace quic
|
||||
|
||||
@ -36,19 +36,6 @@
|
||||
base::Optional<AddressInfo> ai;
|
||||
--- ./net/dns/dns_config_service_linux.cc.orig
|
||||
+++ ./net/dns/dns_config_service_linux.cc
|
||||
@@ -432,12 +432,6 @@
|
||||
base::ScopedBlockingCall scoped_blocking_call(
|
||||
FROM_HERE, base::BlockingType::MAY_BLOCK);
|
||||
|
||||
- std::unique_ptr<struct __res_state> res = resolv_reader_->GetResState();
|
||||
- if (res) {
|
||||
- dns_config_ = ConvertResStateToDnsConfig(*res.get());
|
||||
- resolv_reader_->CloseResState(res.get());
|
||||
- }
|
||||
-
|
||||
UMA_HISTOGRAM_BOOLEAN("Net.DNS.DnsConfig.Resolv.Read",
|
||||
dns_config_.has_value());
|
||||
if (!dns_config_.has_value())
|
||||
@@ -486,20 +480,11 @@
|
||||
|
||||
std::unique_ptr<struct __res_state>
|
||||
|
||||
31
community/chromium/scoped-file.patch
Normal file
31
community/chromium/scoped-file.patch
Normal file
@ -0,0 +1,31 @@
|
||||
--- ./base/files/scoped_file_linux.cc.orig
|
||||
+++ ./base/files/scoped_file_linux.cc
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
#include <atomic>
|
||||
+#include <dlfcn.h>
|
||||
|
||||
#include "base/compiler_specific.h"
|
||||
#include "base/debug/stack_trace.h"
|
||||
@@ -80,9 +81,18 @@
|
||||
|
||||
extern "C" {
|
||||
|
||||
-int __close(int);
|
||||
-
|
||||
__attribute__((visibility("default"), noinline)) int close(int fd) {
|
||||
+ static int (*__close)(int) = nullptr;
|
||||
+
|
||||
+ if (__close == nullptr) {
|
||||
+ __close = (int (*)(int))dlsym(RTLD_NEXT, "close");
|
||||
+
|
||||
+ if (__close == nullptr) {
|
||||
+ RAW_LOG(ERROR, "musl close not found\n");
|
||||
+ IMMEDIATE_CRASH();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (base::IsFDOwned(fd) && g_is_ownership_enforced)
|
||||
CrashOnFdOwnershipViolation();
|
||||
return __close(fd);
|
||||
20
community/chromium/strip-binary.patch
Normal file
20
community/chromium/strip-binary.patch
Normal file
@ -0,0 +1,20 @@
|
||||
--- build/linux/strip_binary.gni.orig
|
||||
+++ build/linux/strip_binary.gni
|
||||
@@ -20,7 +20,7 @@
|
||||
"testonly",
|
||||
])
|
||||
action("${target_name}") {
|
||||
- eu_strip_binary = "//buildtools/third_party/eu-strip/bin/eu-strip"
|
||||
+ eu_strip_binary = "/usr/bin/eu-strip"
|
||||
script = "//build/linux/strip_binary.py"
|
||||
inputs = [
|
||||
invoker.binary_input,
|
||||
@@ -32,7 +32,7 @@
|
||||
]
|
||||
args = [
|
||||
"--eu-strip-binary-path",
|
||||
- rebase_path(eu_strip_binary, root_build_dir),
|
||||
+ eu_strip_binary,
|
||||
"--symbol-output",
|
||||
rebase_path(invoker.symbol_output, root_build_dir),
|
||||
"--stripped-binary-output",
|
||||
34
community/chromium/use-deprecated-ffmpeg-api.patch
Normal file
34
community/chromium/use-deprecated-ffmpeg-api.patch
Normal file
@ -0,0 +1,34 @@
|
||||
--- ./media/filters/ffmpeg_demuxer.cc.orig
|
||||
+++ ./media/filters/ffmpeg_demuxer.cc
|
||||
@@ -427,11 +427,11 @@
|
||||
scoped_refptr<DecoderBuffer> buffer;
|
||||
|
||||
if (type() == DemuxerStream::TEXT) {
|
||||
- size_t id_size = 0;
|
||||
+ int id_size = 0;
|
||||
uint8_t* id_data = av_packet_get_side_data(
|
||||
packet.get(), AV_PKT_DATA_WEBVTT_IDENTIFIER, &id_size);
|
||||
|
||||
- size_t settings_size = 0;
|
||||
+ int settings_size = 0;
|
||||
uint8_t* settings_data = av_packet_get_side_data(
|
||||
packet.get(), AV_PKT_DATA_WEBVTT_SETTINGS, &settings_size);
|
||||
|
||||
@@ -443,7 +443,7 @@
|
||||
buffer = DecoderBuffer::CopyFrom(packet->data, packet->size,
|
||||
side_data.data(), side_data.size());
|
||||
} else {
|
||||
- size_t side_data_size = 0;
|
||||
+ int side_data_size = 0;
|
||||
uint8_t* side_data = av_packet_get_side_data(
|
||||
packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
|
||||
|
||||
@@ -504,7 +504,7 @@
|
||||
packet->size - data_offset);
|
||||
}
|
||||
|
||||
- size_t skip_samples_size = 0;
|
||||
+ int skip_samples_size = 0;
|
||||
const uint32_t* skip_samples_ptr =
|
||||
reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
|
||||
packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));
|
||||
Loading…
x
Reference in New Issue
Block a user