aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chromium/chromium/chromium-gcc9-r800495.patch46
-rw-r--r--chromium/chromium/chromium-gcc9-r800697.patch39
-rw-r--r--chromium/chromium/chromium.spec7
3 files changed, 91 insertions, 1 deletions
diff --git a/chromium/chromium/chromium-gcc9-r800495.patch b/chromium/chromium/chromium-gcc9-r800495.patch
new file mode 100644
index 0000000..448508a
--- /dev/null
+++ b/chromium/chromium/chromium-gcc9-r800495.patch
@@ -0,0 +1,46 @@
+From e4b5d6eddf876509c05cb377bc4ce67fae0f3b1c Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jdapena@igalia.com>
+Date: Fri, 21 Aug 2020 07:40:33 +0000
+Subject: [PATCH] GCC: default move constructor of ServiceWorkerRunningInfo
+ noexcept requires StrongAlias noexcept too.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fix for this GCC compilation error:
+../../content/public/browser/service_worker_running_info.cc:26:1: error: function ‘content::ServiceWorkerRunningInfo::ServiceWorkerRunningInfo(content::ServiceWorkerRunningInfo&&)’ defaulted on its redeclaration with an exception-specification that differs from the implicit exception-specification ‘’
+ 26 | ServiceWorkerRunningInfo::ServiceWorkerRunningInfo(
+ | ^~~~~~~~~~~~~~~~~~~~~~~~
+
+Problem comes from blink::ServiceWorkerToken move constructor being declared
+noexcept, but its parent StrongAlias not having noexcept.
+
+Fix making StrongAlias move constructor noexcept too.
+
+Bug: 819294
+Change-Id: I127a435b3d1f52f01a40700457ce6e67d5d67af2
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2359077
+Reviewed-by: Daniel Cheng <dcheng@chromium.org>
+Commit-Queue: José Dapena Paz <jdapena@igalia.com>
+Cr-Commit-Position: refs/heads/master@{#800495}
+---
+ base/util/type_safety/strong_alias.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/base/util/type_safety/strong_alias.h b/base/util/type_safety/strong_alias.h
+index ea93928203c9..df4974925913 100644
+--- a/base/util/type_safety/strong_alias.h
++++ b/base/util/type_safety/strong_alias.h
+@@ -70,7 +70,8 @@ class StrongAlias {
+ public:
+ constexpr StrongAlias() = default;
+ constexpr explicit StrongAlias(const UnderlyingType& v) : value_(v) {}
+- constexpr explicit StrongAlias(UnderlyingType&& v) : value_(std::move(v)) {}
++ constexpr explicit StrongAlias(UnderlyingType&& v) noexcept
++ : value_(std::move(v)) {}
+
+ constexpr UnderlyingType& value() & { return value_; }
+ constexpr const UnderlyingType& value() const& { return value_; }
+--
+2.25.4
+
diff --git a/chromium/chromium/chromium-gcc9-r800697.patch b/chromium/chromium/chromium-gcc9-r800697.patch
new file mode 100644
index 0000000..e046722
--- /dev/null
+++ b/chromium/chromium/chromium-gcc9-r800697.patch
@@ -0,0 +1,39 @@
+From 32f0aae170816bcf4682ea0d04fbf7a14b4feb7f Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jdapena@igalia.com>
+Date: Fri, 21 Aug 2020 20:16:26 +0000
+Subject: [PATCH] GCC: pending fix for ServiceWorkerRunningInfo noexcept in
+ move constructor
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It is not enough to make StrongAlias noexcept. TokenType needs to also
+provide noexcept move constructor.
+
+Bug: 819294
+Change-Id: Ib85faa18f66b41053fb71ecee32e818e05685080
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2369180
+Reviewed-by: Daniel Cheng <dcheng@chromium.org>
+Commit-Queue: José Dapena Paz <jdapena@igalia.com>
+Cr-Commit-Position: refs/heads/master@{#800697}
+---
+ base/util/type_safety/token_type.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/base/util/type_safety/token_type.h b/base/util/type_safety/token_type.h
+index 0a1267953625..2cbfdb70bce3 100644
+--- a/base/util/type_safety/token_type.h
++++ b/base/util/type_safety/token_type.h
+@@ -23,6 +23,9 @@ class TokenType : public StrongAlias<TypeMarker, base::UnguessableToken> {
+ TokenType() : Super(base::UnguessableToken::Create()) {}
+ explicit TokenType(const base::UnguessableToken& token) : Super(token) {}
+ TokenType(const TokenType& token) : Super(token.value()) {}
++ TokenType(TokenType&& token) noexcept : Super(token.value()) {}
++ TokenType& operator=(const TokenType& token) = default;
++ TokenType& operator=(TokenType&& token) noexcept = default;
+
+ // This object allows default assignment operators for compatibility with
+ // STL containers.
+--
+2.25.4
+
diff --git a/chromium/chromium/chromium.spec b/chromium/chromium/chromium.spec
index 587ec76..d5bf4a9 100644
--- a/chromium/chromium/chromium.spec
+++ b/chromium/chromium/chromium.spec
@@ -52,7 +52,7 @@
Name: chromium
Version: 86.0.4240.75
-Release: 100%{?dist}
+Release: 101%{?dist}
Summary: A WebKit (Blink) powered web browser
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
@@ -116,6 +116,8 @@ Patch43: chromium-base-time-constexpr.patch
# Pull upstream patches
Patch50: chromium-quiche-gcc9.patch
+Patch51: chromium-gcc9-r800495.patch
+Patch52: chromium-gcc9-r800697.patch
# I don't have time to test whether it work on other architectures
ExclusiveArch: x86_64
@@ -694,6 +696,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%changelog
+* Sat Oct 17 2020 - Ting-Wei Lan <lantw44@gmail.com> - 86.0.4240.75-101
+- Fix build issues for GCC 9
+
* Thu Oct 15 2020 - Ting-Wei Lan <lantw44@gmail.com> - 86.0.4240.75-100
- Update to 86.0.4240.75