diff options
-rw-r--r-- | chromium/chromium/chromium-gcc9-r800495.patch | 46 | ||||
-rw-r--r-- | chromium/chromium/chromium-gcc9-r800697.patch | 39 | ||||
-rw-r--r-- | chromium/chromium/chromium.spec | 7 |
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 |