summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Hartmann <stha09@googlemail.com>2019-06-11 22:39:03 +0200
committerMike Gilbert <floppym@gentoo.org>2019-06-15 13:48:06 -0400
commit6f888010c38c5e9cc25f66ada7681d443782c2c6 (patch)
tree5df419b784400d72c661675aa350ecd58e0a5afd /www-client/chromium/files
parentsys-kernel/gentoo-sources: Linux patch 5.1.10 and BT patch (diff)
downloadgentoo-6f888010c38c5e9cc25f66ada7681d443782c2c6.tar.gz
gentoo-6f888010c38c5e9cc25f66ada7681d443782c2c6.tar.bz2
gentoo-6f888010c38c5e9cc25f66ada7681d443782c2c6.zip
www-client/chromium: version bump
Closes: https://bugs.gentoo.org/687732 Closes: https://github.com/gentoo/gentoo/pull/12242 Package-Manager: Portage-2.3.66, Repoman-2.3.11 Signed-off-by: Stephan Hartmann <stha09@googlemail.com> Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'www-client/chromium/files')
-rw-r--r--www-client/chromium/files/chromium-75-fix-gn-gen.patch27
-rw-r--r--www-client/chromium/files/chromium-75-gcc-angle-fix.patch20
-rw-r--r--www-client/chromium/files/chromium-75-llvm8.patch17
-rw-r--r--www-client/chromium/files/chromium-75-lss.patch63
-rw-r--r--www-client/chromium/files/chromium-75-noexcept.patch101
-rw-r--r--www-client/chromium/files/chromium-75-pure-virtual.patch50
-rw-r--r--www-client/chromium/files/chromium-75-unique_ptr.patch31
-rw-r--r--www-client/chromium/files/chromium-compiler-r9.patch196
8 files changed, 505 insertions, 0 deletions
diff --git a/www-client/chromium/files/chromium-75-fix-gn-gen.patch b/www-client/chromium/files/chromium-75-fix-gn-gen.patch
new file mode 100644
index 000000000000..a6a98b160d76
--- /dev/null
+++ b/www-client/chromium/files/chromium-75-fix-gn-gen.patch
@@ -0,0 +1,27 @@
+Fix 'gn gen' when gn is built in debug config
+
+Fixes this DCHECK:
+https://cs.chromium.org/chromium/gn/tools/gn/source_file.cc?q=source_file.cc&sq=package:chromium&dr&l=21
+
+BUG=None
+
+Change-Id: Ide60a650c800d4a0981b4f28cf0427fa91616464
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1613888
+Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
+Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
+Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
+Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#660103}
+diff --git a/tools/perf/contrib/vr_benchmarks/BUILD.gn b/tools/perf/contrib/vr_benchmarks/BUILD.gn
+index 758057a..51644e0 100644
+--- a/tools/perf/contrib/vr_benchmarks/BUILD.gn
++++ b/tools/perf/contrib/vr_benchmarks/BUILD.gn
+@@ -72,7 +72,7 @@
+ "//chrome/browser/resources/vr/assets/vr_assets_component_files.json",
+ ]
+ outputs = [
+- "$target_gen_dir/vr_assets_profile/",
++ "$target_gen_dir/vr_assets_profile",
+ ]
+ args = [
+ "--output",
diff --git a/www-client/chromium/files/chromium-75-gcc-angle-fix.patch b/www-client/chromium/files/chromium-75-gcc-angle-fix.patch
new file mode 100644
index 000000000000..58447d73acbc
--- /dev/null
+++ b/www-client/chromium/files/chromium-75-gcc-angle-fix.patch
@@ -0,0 +1,20 @@
+--- a/third_party/angle/src/common/debug.h 2019-06-02 17:59:16.698392030 -0000
++++ b/third_party/angle/src/common/debug.h 2019-06-02 17:59:48.738265672 -0000
+@@ -248,7 +248,7 @@
+ # define EVENT(message, ...) (void(0))
+ #endif
+
+-#if defined(COMPILER_GCC) || defined(__clang__)
++#if defined(__GNUC__) || defined(__clang__)
+ # define ANGLE_CRASH() __builtin_trap()
+ #else
+ # define ANGLE_CRASH() ((void)(*(volatile char *)0 = 0)), __assume(0)
+@@ -336,7 +336,7 @@
+ # define ANGLE_ENABLE_STRUCT_PADDING_WARNINGS \
+ _Pragma("clang diagnostic push") _Pragma("clang diagnostic error \"-Wpadded\"")
+ # define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS _Pragma("clang diagnostic pop")
+-#elif defined(COMPILER_GCC)
++#elif defined(__GNUC__)
+ # define ANGLE_ENABLE_STRUCT_PADDING_WARNINGS \
+ _Pragma("GCC diagnostic push") _Pragma("GCC diagnostic error \"-Wpadded\"")
+ # define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS _Pragma("GCC diagnostic pop")
diff --git a/www-client/chromium/files/chromium-75-llvm8.patch b/www-client/chromium/files/chromium-75-llvm8.patch
new file mode 100644
index 000000000000..f21445689bb2
--- /dev/null
+++ b/www-client/chromium/files/chromium-75-llvm8.patch
@@ -0,0 +1,17 @@
+Issue 945938: Build fails with clang/llvm-8
+https://bugs.chromium.org/p/chromium/issues/detail?id=945938&q=TabStripModelChange&colspec=ID%20Pri%20M%20Stars%20ReleaseBlock%20Component%20Status%20Owner%20Summary%20OS%20Modified
+
+diff --git a/chrome/browser/ui/tabs/tab_strip_model_observer.h b/chrome/browser/ui/tabs/tab_strip_model_observer.h
+index 6c8bce5..7f67b7d 100644
+--- a/chrome/browser/ui/tabs/tab_strip_model_observer.h
++++ b/chrome/browser/ui/tabs/tab_strip_model_observer.h
+@@ -135,7 +135,7 @@ class TabStripModelChange {
+
+ private:
+ const Type type_ = kSelectionOnly;
+- const std::vector<Delta> deltas_;
++ std::vector<Delta> deltas_;
+
+ DISALLOW_COPY_AND_ASSIGN(TabStripModelChange);
+ };
+
diff --git a/www-client/chromium/files/chromium-75-lss.patch b/www-client/chromium/files/chromium-75-lss.patch
new file mode 100644
index 000000000000..feeeaee8e838
--- /dev/null
+++ b/www-client/chromium/files/chromium-75-lss.patch
@@ -0,0 +1,63 @@
+--- a/third_party/lss/BUILD.gn
++++ b/third_party/lss/BUILD.gn
+@@ -0,0 +1,31 @@
++# Copyright 2019 The Crashpad Authors. All rights reserved.
++#
++# Licensed under the Apache License, Version 2.0 (the "License");
++# you may not use this file except in compliance with the License.
++# You may obtain a copy of the License at
++#
++# http://www.apache.org/licenses/LICENSE-2.0
++#
++# Unless required by applicable law or agreed to in writing, software
++# distributed under the License is distributed on an "AS IS" BASIS,
++# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++# See the License for the specific language governing permissions and
++# limitations under the License.
++
++import("../../build/crashpad_buildconfig.gni")
++
++config("lss_config") {
++ if (crashpad_is_in_chromium) {
++ defines = [ "CRASHPAD_LSS_SOURCE_EXTERNAL" ]
++ } else {
++ defines = [ "CRASHPAD_LSS_SOURCE_EMBEDDED" ]
++ }
++}
++
++source_set("lss") {
++ public_configs = [ ":lss_config" ]
++
++ sources = [
++ "lss.h",
++ ]
++}
+--- a/third_party/lss/lss.h
++++ b/third_party/lss/lss.h
+@@ -0,0 +1,26 @@
++// Copyright 2019 The Crashpad Authors. All rights reserved.
++//
++// Licensed under the Apache License, Version 2.0 (the "License");
++// you may not use this file except in compliance with the License.
++// You may obtain a copy of the License at
++//
++// http://www.apache.org/licenses/LICENSE-2.0
++//
++// Unless required by applicable law or agreed to in writing, software
++// distributed under the License is distributed on an "AS IS" BASIS,
++// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++// See the License for the specific language governing permissions and
++// limitations under the License.
++
++#ifndef CRASHPAD_THIRD_PARTY_LSS_LSS_H_
++#define CRASHPAD_THIRD_PARTY_LSS_LSS_H_
++
++#if defined(CRASHPAD_LSS_SOURCE_EXTERNAL)
++#include "third_party/lss/linux_syscall_support.h"
++#elif defined(CRASHPAD_LSS_SOURCE_EMBEDDED)
++#include "third_party/lss/lss/linux_syscall_support.h"
++#else
++#error Unknown lss source
++#endif
++
++#endif // CRASHPAD_THIRD_PARTY_LSS_LSS_H_
diff --git a/www-client/chromium/files/chromium-75-noexcept.patch b/www-client/chromium/files/chromium-75-noexcept.patch
new file mode 100644
index 000000000000..bcac1c270d11
--- /dev/null
+++ b/www-client/chromium/files/chromium-75-noexcept.patch
@@ -0,0 +1,101 @@
+From 41d954dec0669c9a85730c0bde7df7ba7a0ff43e Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena@lge.com>
+Date: Thu, 06 Jun 2019 15:30:49 +0000
+Subject: [PATCH] Fix AutocompleteMatch move constructor/assign operator noexcept
+
+For AutocompleteMatch to declare noexcept them, all the contained
+properties need to be noexcept too. This is required at least
+for SuggestionAnswer, because base::string16 will make default
+calculated signature of the move operator noexcept(false).
+
+To avoid this issue we explicitely declare them on SuggestionAnswer,
+and its member classes TextField and ImageLine.
+
+Bug: 819294
+Change-Id: I8714f2c6352a3292bdebdc3aed9790270e49c580
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1554669
+Reviewed-by: Kevin Bailey <krb@chromium.org>
+Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
+Cr-Commit-Position: refs/heads/master@{#666714}
+---
+
+diff --git a/components/omnibox/browser/suggestion_answer.cc b/components/omnibox/browser/suggestion_answer.cc
+index 151e55f..a0c9049 100644
+--- a/components/omnibox/browser/suggestion_answer.cc
++++ b/components/omnibox/browser/suggestion_answer.cc
+@@ -55,6 +55,12 @@
+
+ SuggestionAnswer::TextField::TextField() = default;
+ SuggestionAnswer::TextField::~TextField() = default;
++SuggestionAnswer::TextField::TextField(const TextField&) = default;
++SuggestionAnswer::TextField::TextField(TextField&&) noexcept = default;
++SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=(
++ const TextField&) = default;
++SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=(
++ TextField&&) noexcept = default;
+
+ // static
+ bool SuggestionAnswer::TextField::ParseTextField(const base::Value& field_json,
+@@ -93,9 +99,12 @@
+ SuggestionAnswer::ImageLine::ImageLine()
+ : num_text_lines_(1) {}
+ SuggestionAnswer::ImageLine::ImageLine(const ImageLine& line) = default;
++SuggestionAnswer::ImageLine::ImageLine(ImageLine&&) noexcept = default;
+
+ SuggestionAnswer::ImageLine& SuggestionAnswer::ImageLine::operator=(
+ const ImageLine& line) = default;
++SuggestionAnswer::ImageLine& SuggestionAnswer::ImageLine::operator=(
++ ImageLine&&) noexcept = default;
+
+ SuggestionAnswer::ImageLine::~ImageLine() {}
+
+@@ -251,9 +260,14 @@
+
+ SuggestionAnswer::SuggestionAnswer(const SuggestionAnswer& answer) = default;
+
++SuggestionAnswer::SuggestionAnswer(SuggestionAnswer&&) noexcept = default;
++
+ SuggestionAnswer& SuggestionAnswer::operator=(const SuggestionAnswer& answer) =
+ default;
+
++SuggestionAnswer& SuggestionAnswer::operator=(SuggestionAnswer&&) noexcept =
++ default;
++
+ SuggestionAnswer::~SuggestionAnswer() = default;
+
+ // static
+diff --git a/components/omnibox/browser/suggestion_answer.h b/components/omnibox/browser/suggestion_answer.h
+index 31be937..2840ace 100644
+--- a/components/omnibox/browser/suggestion_answer.h
++++ b/components/omnibox/browser/suggestion_answer.h
+@@ -125,6 +125,10 @@
+ public:
+ TextField();
+ ~TextField();
++ TextField(const TextField&);
++ TextField(TextField&&) noexcept;
++ TextField& operator=(const TextField&);
++ TextField& operator=(TextField&&) noexcept;
+
+ // Parses |field_json| dictionary and populates |text_field| with the
+ // contents. If any of the required elements is missing, returns false and
+@@ -162,7 +166,9 @@
+ public:
+ ImageLine();
+ explicit ImageLine(const ImageLine& line);
++ ImageLine(ImageLine&&) noexcept;
+ ImageLine& operator=(const ImageLine& line);
++ ImageLine& operator=(ImageLine&&) noexcept;
+ ~ImageLine();
+
+ // Parses dictionary |line_json| and populates |image_line| with the
+@@ -213,7 +219,9 @@
+
+ SuggestionAnswer();
+ SuggestionAnswer(const SuggestionAnswer& answer);
++ SuggestionAnswer(SuggestionAnswer&&) noexcept;
+ SuggestionAnswer& operator=(const SuggestionAnswer& answer);
++ SuggestionAnswer& operator=(SuggestionAnswer&&) noexcept;
+ ~SuggestionAnswer();
+
+ // Parses dictionary |answer_json| and fills a SuggestionAnswer containing the
diff --git a/www-client/chromium/files/chromium-75-pure-virtual.patch b/www-client/chromium/files/chromium-75-pure-virtual.patch
new file mode 100644
index 000000000000..3d34e436a281
--- /dev/null
+++ b/www-client/chromium/files/chromium-75-pure-virtual.patch
@@ -0,0 +1,50 @@
+From cdf306db81efaaaa954487585d5a5a16205a5ebd Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena@lge.com>
+Date: Wed, 05 Jun 2019 14:45:06 +0000
+Subject: [PATCH] Avoid pure virtual crash destroying RenderProcessUserData
+
+When RenderProcessUserData is destroyed from the destructor of
+RenderProcessHostImpl, it is done in the destructor of RenderProcessHost.
+At this point RemoveObserver override is already freed, so RenderProcessHost
+is pure virtual. This crash happens at least building with GCC:
+
+ at /usr/include/c++/8/ext/new_allocator.h:140
+ (this=0x7fffffffcb50, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/stl_tree.h:964
+
+We need to destroy RenderProcessUserData before that happens. To do that
+we can just override RenderProcessHostDestroyed.
+
+Bug: 910288
+Change-Id: I38107b178829b0cb7494f5333b765e5b087d82cd
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645366
+Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
+Reviewed-by: Sigurður Ásgeirsson <siggi@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#666279}
+---
+
+diff --git a/chrome/browser/performance_manager/render_process_user_data.cc b/chrome/browser/performance_manager/render_process_user_data.cc
+index 2e2c199..ef6e1fb 100644
+--- a/chrome/browser/performance_manager/render_process_user_data.cc
++++ b/chrome/browser/performance_manager/render_process_user_data.cc
+@@ -116,4 +116,9 @@
+ base::Unretained(process_node_.get()), info.exit_code));
+ }
+
++void RenderProcessUserData::RenderProcessHostDestroyed(
++ content::RenderProcessHost* host) {
++ host->RemoveUserData(kRenderProcessUserDataKey);
++}
++
+ } // namespace performance_manager
+diff --git a/chrome/browser/performance_manager/render_process_user_data.h b/chrome/browser/performance_manager/render_process_user_data.h
+index ac74b1d..f3b4d16 100644
+--- a/chrome/browser/performance_manager/render_process_user_data.h
++++ b/chrome/browser/performance_manager/render_process_user_data.h
+@@ -47,6 +47,7 @@
+ void RenderProcessExited(
+ content::RenderProcessHost* host,
+ const content::ChildProcessTerminationInfo& info) override;
++ void RenderProcessHostDestroyed(content::RenderProcessHost* host) override;
+
+ // All instances are linked together in a doubly linked list to allow orderly
+ // destruction at browser shutdown time.
diff --git a/www-client/chromium/files/chromium-75-unique_ptr.patch b/www-client/chromium/files/chromium-75-unique_ptr.patch
new file mode 100644
index 000000000000..08d2f2439021
--- /dev/null
+++ b/www-client/chromium/files/chromium-75-unique_ptr.patch
@@ -0,0 +1,31 @@
+From aeed4d1f15ce84a17ea0bc219e258dc4982b2368 Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena@lge.com>
+Date: Fri, 26 Apr 2019 20:07:05 +0000
+Subject: [PATCH] libstdc++: do not assume unique_ptr has ostream operator
+
+CompositorFrameReportingController is using DCHECK_NE to compare
+several unique_ptr. This is valid in libc++, but on libstdc++ unique_ptr
+does not have an ostream operator.
+
+Change-Id: I9f23ef17f02b9e107694ba493f6f8f3caf5cac4d
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1584292
+Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
+Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
+Cr-Commit-Position: refs/heads/master@{#654570}
+---
+
+diff --git a/cc/scheduler/compositor_frame_reporting_controller.cc b/cc/scheduler/compositor_frame_reporting_controller.cc
+index f1587ed..1b17021 100644
+--- a/cc/scheduler/compositor_frame_reporting_controller.cc
++++ b/cc/scheduler/compositor_frame_reporting_controller.cc
+@@ -31,8 +31,8 @@
+
+ void CompositorFrameReportingController::WillBeginMainFrame() {
+ DCHECK(reporters_[PipelineStage::kBeginImplFrame]);
+- DCHECK_NE(reporters_[PipelineStage::kBeginMainFrame],
+- reporters_[PipelineStage::kBeginImplFrame]);
++ DCHECK(reporters_[PipelineStage::kBeginMainFrame] !=
++ reporters_[PipelineStage::kBeginImplFrame]);
+ reporters_[PipelineStage::kBeginImplFrame]->StartStage(
+ "SendBeginMainFrameToCommit");
+ AdvanceReporterStage(PipelineStage::kBeginImplFrame,
diff --git a/www-client/chromium/files/chromium-compiler-r9.patch b/www-client/chromium/files/chromium-compiler-r9.patch
new file mode 100644
index 000000000000..6b6c81b2c07b
--- /dev/null
+++ b/www-client/chromium/files/chromium-compiler-r9.patch
@@ -0,0 +1,196 @@
+From a1207cc75454e653030716948d27ec27412f6fe8 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sat, 1 Jun 2019 14:22:57 +0100
+Subject: [PATCH] Disable various compiler configs
+
+---
+ build/config/compiler/BUILD.gn | 68 +++++++++++++++-------------------
+ 1 file changed, 29 insertions(+), 39 deletions(-)
+
+diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
+index 4b24c76..0737326 100644
+--- a/build/config/compiler/BUILD.gn
++++ b/build/config/compiler/BUILD.gn
+@@ -230,8 +230,6 @@ config("compiler") {
+
+ configs += [
+ # See the definitions below.
+- ":clang_revision",
+- ":compiler_cpu_abi",
+ ":compiler_codegen",
+ ":compiler_deterministic",
+ ]
+@@ -471,20 +469,6 @@ config("compiler") {
+ }
+ }
+
+- if (is_clang && !is_nacl && !use_xcode_clang) {
+- cflags += [ "-fcrash-diagnostics-dir=" +
+- rebase_path("//tools/clang/crashreports", root_build_dir) ]
+-
+- cflags += [
+- # TODO(hans): Remove this once Clang generates better optimized debug info
+- # by default. https://crbug.com/765793
+- "-Xclang",
+- "-mllvm",
+- "-Xclang",
+- "-instcombine-lower-dbg-declare=0",
+- ]
+- }
+-
+ # C11/C++11 compiler flags setup.
+ # ---------------------------
+ if (is_linux || is_android || (is_nacl && is_clang) || current_os == "aix") {
+@@ -1433,6 +1417,12 @@ config("default_warnings") {
+ "-Wno-narrowing",
+ ]
+
++ # -Wno-class-memaccess warns about hash table and vector in blink.
++ # But the violation is intentional.
++ if (!is_nacl) {
++ cflags_cc += [ "-Wno-class-memaccess" ]
++ }
++
+ # -Wunused-local-typedefs is broken in gcc,
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63872
+ cflags += [ "-Wno-unused-local-typedefs" ]
+@@ -1447,6 +1437,10 @@ config("default_warnings") {
+ # comments
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61638
+ cflags += [ "-Wno-comments" ]
++
++ # -Wpacked-not-aligned complains all generated mojom-shared-internal.h
++ # files.
++ cflags += [ "-Wno-packed-not-aligned" ]
+ }
+ }
+
+@@ -1523,7 +1517,7 @@ config("chromium_code") {
+ defines = [ "_HAS_NODISCARD" ]
+ }
+ } else {
+- cflags = [ "-Wall" ]
++ cflags = []
+ if (treat_warnings_as_errors) {
+ cflags += [ "-Werror" ]
+
+@@ -1532,10 +1526,6 @@ config("chromium_code") {
+ # well.
+ ldflags = [ "-Werror" ]
+ }
+- if (is_clang) {
+- # Enable extra warnings for chromium_code when we control the compiler.
+- cflags += [ "-Wextra" ]
+- }
+
+ # In Chromium code, we define __STDC_foo_MACROS in order to get the
+ # C99 macros on Mac and Linux.
+@@ -1544,15 +1534,6 @@ config("chromium_code") {
+ "__STDC_FORMAT_MACROS",
+ ]
+
+- if (!is_debug && !using_sanitizer && current_cpu != "s390x" &&
+- current_cpu != "s390" && current_cpu != "ppc64" &&
+- current_cpu != "mips" && current_cpu != "mips64") {
+- # Non-chromium code is not guaranteed to compile cleanly with
+- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are
+- # disabled, so only do that for Release build.
+- defines += [ "_FORTIFY_SOURCE=2" ]
+- }
+-
+ if (is_mac) {
+ cflags_objc = [ "-Wobjc-missing-property-synthesis" ]
+ cflags_objcc = [ "-Wobjc-missing-property-synthesis" ]
+@@ -1941,7 +1922,8 @@ config("default_stack_frames") {
+ }
+
+ # Default "optimization on" config.
+-config("optimize") {
++config("optimize") { }
++config("xoptimize") {
+ if (is_win) {
+ # TODO(thakis): Remove is_clang here, https://crbug.com/598772
+ if (is_official_build && full_wpo_on_official && !is_clang) {
+@@ -1975,7 +1957,8 @@ config("optimize") {
+ }
+
+ # Same config as 'optimize' but without the WPO flag.
+-config("optimize_no_wpo") {
++config("optimize_no_wpo") { }
++config("xoptimize_no_wpo") {
+ if (is_win) {
+ # Favor size over speed, /O1 must be before the common flags. The GYP
+ # build also specifies /Os and /GF but these are implied by /O1.
+@@ -1998,7 +1981,8 @@ config("optimize_no_wpo") {
+ }
+
+ # Turn off optimizations.
+-config("no_optimize") {
++config("no_optimize") { }
++config("xno_optimize") {
+ if (is_win) {
+ cflags = [
+ "/Od", # Disable optimization.
+@@ -2026,7 +2010,8 @@ config("no_optimize") {
+ # Turns up the optimization level. On Windows, this implies whole program
+ # optimization and link-time code generation which is very expensive and should
+ # be used sparingly.
+-config("optimize_max") {
++config("optimize_max") { }
++config("xoptimize_max") {
+ if (is_nacl && is_nacl_irt) {
+ # The NaCl IRT is a special case and always wants its own config.
+ # Various components do:
+@@ -2073,7 +2058,8 @@ config("optimize_max") {
+ #
+ # TODO(crbug.com/621335) - rework how all of these configs are related
+ # so that we don't need this disclaimer.
+-config("optimize_speed") {
++config("optimize_speed") { }
++config("xoptimize_speed") {
+ if (is_nacl && is_nacl_irt) {
+ # The NaCl IRT is a special case and always wants its own config.
+ # Various components do:
+@@ -2111,7 +2097,8 @@ config("optimize_speed") {
+ }
+ }
+
+-config("optimize_fuzzing") {
++config("optimize_fuzzing") { }
++config("xoptimize_fuzzing") {
+ cflags = [ "-O1" ] + common_optimize_on_cflags
+ ldflags = common_optimize_on_ldflags
+ visibility = [ ":default_optimization" ]
+@@ -2213,7 +2200,8 @@ config("win_pdbaltpath") {
+ }
+
+ # Full symbols.
+-config("symbols") {
++config("symbols") { }
++config("xsymbols") {
+ if (is_win) {
+ if (use_goma || is_clang) {
+ # Note that with VC++ this requires is_win_fastlink, enforced elsewhere.
+@@ -2323,7 +2311,8 @@ config("symbols") {
+ # Minimal symbols.
+ # This config guarantees to hold symbol for stack trace which are shown to user
+ # when crash happens in unittests running on buildbot.
+-config("minimal_symbols") {
++config("minimal_symbols") { }
++config("xminimal_symbols") {
+ if (is_win) {
+ # Linker symbols for backtraces only.
+ cflags = []
+@@ -2380,7 +2369,8 @@ config("minimal_symbols") {
+ }
+
+ # No symbols.
+-config("no_symbols") {
++config("no_symbols") { }
++config("xno_symbols") {
+ if (!is_win) {
+ cflags = [ "-g0" ]
+ asmflags = cflags
+--
+2.21.0
+