From bb4a7b4448318d38583dfc4da65076ab152c22db Mon Sep 17 00:00:00 2001 From: Mikhail Novosyolov Date: Sat, 27 Oct 2018 00:17:29 +0300 Subject: [PATCH] Use Ubuntu patches instead of Gentoo-compiler-r5.patch which made particularly the same changes but was hard to be maintained alongside Ubuntu's patches. --- Gentoo-compiler-r5.patch | 166 ------------------ ...Xclang-instcombine-lower-dbg-declare.patch | 24 +++ ...U-suppress-newer-clang-warning-flags.patch | 9 + chromium-browser-stable.spec | 4 +- 4 files changed, 35 insertions(+), 168 deletions(-) delete mode 100644 Gentoo-compiler-r5.patch create mode 100644 UBUNTU-revert-Xclang-instcombine-lower-dbg-declare.patch diff --git a/Gentoo-compiler-r5.patch b/Gentoo-compiler-r5.patch deleted file mode 100644 index 3c53dea..0000000 --- a/Gentoo-compiler-r5.patch +++ /dev/null @@ -1,166 +0,0 @@ -From 07fa6b9176dfd1acd4eb6706323ab4823f530432 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Wed, 25 Apr 2018 13:22:49 -0400 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 60 ++++++++++------------------------ - 1 file changed, 18 insertions(+), 42 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 0e796978d479..fa77c2476e4e 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -235,8 +235,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ] - -@@ -501,17 +499,6 @@ config("compiler") { - } - } - -- if (is_clang && !is_nacl && !use_xcode_clang) { -- 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", -- ] -- } -- - # Print absolute paths in diagnostics. There is no precedent for doing this - # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and - # Windows developers rely on it (crbug.com/636109) so only do this on Windows. -@@ -1510,10 +1497,6 @@ config("default_warnings") { - cflags += [ - # TODO(thakis): https://crbug.com/753973 - "-Wno-enum-compare-switch", -- -- # Ignore warnings about MSVC optimization pragmas. -- # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314 -- "-Wno-ignored-pragma-optimize", - ] - } - } -@@ -1555,22 +1538,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && -- (!is_linux || !is_clang || is_official_build) && -- current_cpu != "s390x" && current_cpu != "s390" && -- current_cpu != "ppc64" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # _FORTIFY_SOURCE isn't really supported by Clang now, see -- # http://llvm.org/bugs/show_bug.cgi?id=16821. -- # It seems to work fine with Ubuntu 12 headers though, so use it in -- # official builds. -- # -- # 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" ] -@@ -1940,7 +1907,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) { -@@ -1974,7 +1942,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. -@@ -1997,7 +1966,8 @@ config("optimize_no_wpo") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2021,7 +1991,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: -@@ -2068,7 +2039,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: -@@ -2106,7 +2078,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" ] -@@ -2192,7 +2165,8 @@ config("afdo") { - # configs += [ "//build/config/compiler:symbols" ] - - # 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. -@@ -2290,7 +2264,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 = [] -@@ -2330,7 +2305,8 @@ config("minimal_symbols") { - } - - # No symbols. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (!is_win) { - cflags = [ "-g0" ] - asmflags = cflags --- -2.19.0 diff --git a/UBUNTU-revert-Xclang-instcombine-lower-dbg-declare.patch b/UBUNTU-revert-Xclang-instcombine-lower-dbg-declare.patch new file mode 100644 index 0000000..abfbff2 --- /dev/null +++ b/UBUNTU-revert-Xclang-instcombine-lower-dbg-declare.patch @@ -0,0 +1,24 @@ +Author: Olivier Tilloy +Description: revert of 074fa51f85b15ad2e2d6c804a03825d48dbeb063, which requires Clang r313108 (unreleased yet) + +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -501,18 +501,6 @@ config("compiler") { + } + } + +- if (is_clang && !is_nacl && current_toolchain == host_toolchain && +- target_os != "chromeos") { +- 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", +- ] +- } +- + # Print absolute paths in diagnostics. There is no precedent for doing this + # on Linux/Mac (GCC doesn't support it), but MSVC does this with /FC and + # Windows developers rely on it (crbug.com/636109) so only do this on Windows. diff --git a/UBUNTU-suppress-newer-clang-warning-flags.patch b/UBUNTU-suppress-newer-clang-warning-flags.patch index 3e10e2b..354fda3 100644 --- a/UBUNTU-suppress-newer-clang-warning-flags.patch +++ b/UBUNTU-suppress-newer-clang-warning-flags.patch @@ -14,3 +14,12 @@ Description: Do not use warning flags that require a newer Clang (bionic has 6.0 cflags += [ "-fcomplete-member-pointers" ] } +@@ -1502,7 +1501,7 @@ config("default_warnings") { + + # Ignore warnings about MSVC optimization pragmas. + # TODO(thakis): Only for no_chromium_code? http://crbug.com/505314 +- "-Wno-ignored-pragma-optimize", ++ #"-Wno-ignored-pragma-optimize", + ] + } + } diff --git a/chromium-browser-stable.spec b/chromium-browser-stable.spec index 7122efe..f86df85 100644 --- a/chromium-browser-stable.spec +++ b/chromium-browser-stable.spec @@ -83,7 +83,6 @@ Patch605: chromium-ffmpeg-ebp-r1.patch # Add "ROSA" to the user agent string Patch627: chromium-68.0.3440.106-rosa-user-agent.patch -Patch700: Gentoo-compiler-r5.patch # From https://salsa.debian.org/chromium-team/chromium/tree/master/debian/patches Patch710: Debian-Fixes-gpu-timeout.patch # https://packages.altlinux.org/ru/Sisyphus/srpms/chromium/patches @@ -97,6 +96,7 @@ Patch747: UBUNTU-suppress-newer-clang-warning-flags.patch Patch748: UBUNTU-enable-chromecast-by-default.patch Patch750: UBUNTU-fix-extra-arflags.patch Patch751: UBUNTU-touch-v35.patch +Patch752: UBUNTU-revert-Xclang-instcombine-lower-dbg-declare.patch # Patch753 does not work Patch753: ROSA-allow-Gold-on-Linux.patch Patch755: openSUSE-system-libusb.patch @@ -309,7 +309,6 @@ members of the Chromium and WebDriver teams. %patch601 -p1 %patch605 -p1 %patch627 -p1 -%patch700 -p1 %patch710 -p1 %patch730 -p1 %patch732 -p1 @@ -321,6 +320,7 @@ members of the Chromium and WebDriver teams. %patch748 -p1 %patch750 -p1 %patch751 -p1 +%patch752 -p1 #patch753 -p1 %patch755 -p1 %patch756 -p1