Index: chromium-120.0.6099.18/build/config/BUILDCONFIG.gn =================================================================== --- chromium-120.0.6099.18.orig/build/config/BUILDCONFIG.gn +++ chromium-120.0.6099.18/build/config/BUILDCONFIG.gn @@ -135,6 +135,8 @@ declare_args() { # set "is_official_build" to true for any build intended to ship to end-users. is_official_build = false + gcc_lto = false + # Set to true when compiling with the Clang compiler. is_clang = current_os != "linux" || (current_cpu != "s390x" && current_cpu != "s390" && @@ -389,6 +389,12 @@ "//build/config:feature_flags", ] +if (gcc_lto) { + default_compiler_configs += [ + "//build/config/compiler:gcc_lto", + ] +} + if (is_win) { default_compiler_configs += [ "//build/config/win:default_cfg_compiler", Index: chromium-120.0.6099.18/build/config/compiler/BUILD.gn =================================================================== --- chromium-120.0.6099.18.orig/build/config/compiler/BUILD.gn +++ chromium-120.0.6099.18/build/config/compiler/BUILD.gn @@ -2672,6 +2672,10 @@ } } +config("gcc_lto") { + cflags = [ "-flto" ] +} + config("default_stack_frames") { if (!is_win) { if (enable_frame_pointers) { Index: chromium-120.0.6099.18/sandbox/linux/BUILD.gn =================================================================== --- chromium-120.0.6099.18.orig/sandbox/linux/BUILD.gn +++ chromium-120.0.6099.18/sandbox/linux/BUILD.gn @@ -253,6 +253,9 @@ component("seccomp_bpf") { "//base", "//sandbox:sandbox_buildflags", ] + if (gcc_lto) { + configs -= [ "//build/config/compiler:gcc_lto" ] + } if (is_android) { sources += [ Index: chromium-120.0.6099.18/base/BUILD.gn =================================================================== --- chromium-120.0.6099.18.orig/base/BUILD.gn +++ chromium-120.0.6099.18/base/BUILD.gn @@ -3561,6 +3561,10 @@ sources += [ "location_unittest.cc" ] } + if (gcc_lto) { + configs -= [ "//build/config/compiler:gcc_lto" ] + } + sources += [ "containers/span_rust_unittest.cc", "strings/string_piece_rust_unittest.cc",