summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvangelos Foutras2022-02-15 11:04:35 +0000
committerEvangelos Foutras2022-02-15 11:04:35 +0000
commited62a31300aadf22c608d9203875eb81a3bb3715 (patch)
treee553f09f0eb74a84e79a9ca32fbd59721dddf4ff
parent893fa4bf09ebea3d4678227e0ca8df513456c6a5 (diff)
downloadaur-ed62a31300aadf22c608d9203875eb81a3bb3715.tar.gz
new upstream release
-rw-r--r--PKGBUILD12
-rw-r--r--breakpad-fix-for-non-constant-SIGSTKSZ.patch35
-rw-r--r--sandbox-build-if-glibc-2.34-dynamic-stack-size-is-en.patch39
3 files changed, 83 insertions, 3 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 92ad8482d14f..ea7097c6b565 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
+