diff options
author | Evangelos Foutras | 2022-02-15 11:04:35 +0000 |
---|---|---|
committer | Evangelos Foutras | 2022-02-15 11:04:35 +0000 |
commit | ed62a31300aadf22c608d9203875eb81a3bb3715 (patch) | |
tree | e553f09f0eb74a84e79a9ca32fbd59721dddf4ff | |
parent | 893fa4bf09ebea3d4678227e0ca8df513456c6a5 (diff) | |
download | aur-ed62a31300aadf22c608d9203875eb81a3bb3715.tar.gz |
new upstream release
-rw-r--r-- | PKGBUILD | 12 | ||||
-rw-r--r-- | breakpad-fix-for-non-constant-SIGSTKSZ.patch | 35 | ||||
-rw-r--r-- | sandbox-build-if-glibc-2.34-dynamic-stack-size-is-en.patch | 39 |
3 files changed, 83 insertions, 3 deletions
@@ -4,8 +4,8 @@ # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=chromium -pkgver=98.0.4758.80 -pkgrel=2 +pkgver=98.0.4758.102 +pkgrel=1 _launcher_ver=8 _gcc_patchset=5 pkgdesc="A web browser built for speed, simplicity, and security" @@ -27,16 +27,20 @@ source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgn https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz downgrade-duplicate-peer-error-to-dvlog.patch fix-build-break-with-system-libdrm.patch + sandbox-build-if-glibc-2.34-dynamic-stack-size-is-en.patch + breakpad-fix-for-non-constant-SIGSTKSZ.patch use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch sql-make-VirtualCursor-standard-layout-type.patch chromium-93-ffmpeg-4.4.patch unbundle-ffmpeg-av_stream_get_first_dts.patch use-oauth2-client-switches-as-default.patch) -sha256sums=('c87266e20f860a32c48affc70a769368d1b876dbad768e3aa93ee3c335944171' +sha256sums=('415b47e912766cd07f9f52e95bc6470b835acf1d6f566ae32e66ba8be608f33e' '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a' 'f561145514e9d30a696a82f6a6a4eca06e664b58d7cda30dad9afb2cef341a4d' '291c6a6ad44c06ae8d1b13433f0c4e37d280c70fb06eaa97a1cc9b0dcc122aaa' 'edf4d973ff197409d319bb6fbbaa529e53bc62347d26b0733c45a116a1b23f37' + 'f910be9370c880de6e1d61cc30383c069e421d7acf406166e4fbfad324fc7d61' + 'b4d28867c1fabde6c50a2cfa3f784730446c4d86e5191e0f0000fbf7b0f91ecf' '9c9c280be968f06d269167943680fb72a26fbb05d8c15f60507e316e8a9075d5' 'b94b2e88f63cfb7087486508b8139599c89f96d7a4181c61fec4b4e250ca327a' '1a9e074f417f8ffd78bcd6874d8e2e74a239905bf662f76a7755fa40dc476b57' @@ -110,6 +114,8 @@ prepare() { # Upstream fixes patch -Np1 -F3 -i ../downgrade-duplicate-peer-error-to-dvlog.patch patch -Np1 -i ../fix-build-break-with-system-libdrm.patch + patch -Np1 -i ../sandbox-build-if-glibc-2.34-dynamic-stack-size-is-en.patch + patch -Np1 -d third_party//breakpad/breakpad <../breakpad-fix-for-non-constant-SIGSTKSZ.patch patch -Np1 -d third_party/pdfium <../use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch # https://chromium-review.googlesource.com/c/chromium/src/+/2862724 diff --git a/breakpad-fix-for-non-constant-SIGSTKSZ.patch b/breakpad-fix-for-non-constant-SIGSTKSZ.patch new file mode 100644 index 000000000000..1bb121693146 --- /dev/null +++ b/breakpad-fix-for-non-constant-SIGSTKSZ.patch @@ -0,0 +1,35 @@ +From 605c51ed96ad44b34c457bbca320e74e194c317e Mon Sep 17 00:00:00 2001 +From: David Faure <david.faure@kdab.com> +Date: Wed, 15 Dec 2021 22:26:40 +0100 +Subject: [PATCH] Fix for non-constant SIGSTKSZ + +On glibc > 2.33, `SIGSTKSZ` might not be constant (in which case +it expands to a call to `sysconf` which returns a `long int`); see +https://sourceware.org/pipermail/libc-alpha/2020-October/118513.html + +Pass unsigned explicitly to std::max, to avoid relying on template +argument deduction. This works both with the old-style constant +`SIGSTKSZ` and the new configurable one. + +Initially based on https://chromium-review.googlesource.com/c/2776379 + +Change-Id: I9fc95337f973e871b84735ce822b5e11ba73ea8c +Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/3340721 +Reviewed-by: Mark Mentovai <mark@chromium.org> +--- + src/client/linux/handler/exception_handler.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc +index ca353c40..499be0a9 100644 +--- a/src/client/linux/handler/exception_handler.cc ++++ b/src/client/linux/handler/exception_handler.cc +@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() { + // SIGSTKSZ may be too small to prevent the signal handlers from overrunning + // the alternative stack. Ensure that the size of the alternative stack is + // large enough. +- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); ++ const unsigned kSigStackSize = std::max<unsigned>(16384, SIGSTKSZ); + + // Only set an alternative stack if there isn't already one, or if the current + // one is too small. diff --git a/sandbox-build-if-glibc-2.34-dynamic-stack-size-is-en.patch b/sandbox-build-if-glibc-2.34-dynamic-stack-size-is-en.patch new file mode 100644 index 000000000000..2b4391fdeb50 --- /dev/null +++ b/sandbox-build-if-glibc-2.34-dynamic-stack-size-is-en.patch @@ -0,0 +1,39 @@ +From 28ac6a15411d01301e171b8a8b0019abd57589b9 Mon Sep 17 00:00:00 2001 +From: Stephan Hartmann <stha09@googlemail.com> +Date: Mon, 7 Feb 2022 20:09:57 +0000 +Subject: [PATCH] sandbox: build if glibc 2.34+ dynamic stack size is enabled +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Compilation of sandbox fails when using dynamic stack size in glibc +2.34 or newer. This is because the value is not a literal anymore but +obtained through sysconf. + +To avoid this, use memset to put zeros in the buffer. + +Change-Id: Ia479e0f799b77a10a00197aaaa0500e62546f458 +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3436947 +Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org> +Commit-Queue: José Dapena Paz <jdapena@igalia.com> +Cr-Commit-Position: refs/heads/main@{#967943} +--- + sandbox/linux/services/credentials.cc | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/sandbox/linux/services/credentials.cc b/sandbox/linux/services/credentials.cc +index ca6b5954798..c933eafd163 100644 +--- a/sandbox/linux/services/credentials.cc ++++ b/sandbox/linux/services/credentials.cc +@@ -100,7 +100,10 @@ bool ChrootToSafeEmptyDir() { + // TODO(crbug.com/1247458) Broken in MSan builds after LLVM f1bb30a4956f. + clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS; + +- char tls_buf[PTHREAD_STACK_MIN] = {0}; ++ // PTHREAD_STACK_MIN can be dynamic in glibc2.34+, so it is not possible to ++ // zeroify tls_buf assigning { 0 } ++ char tls_buf[PTHREAD_STACK_MIN]; ++ memset(tls_buf, 0, PTHREAD_STACK_MIN); + tls = tls_buf; + #endif + |