Files
chromium-dev/gcc-enable-lto.patch

54 lines
1.4 KiB
Diff
Raw Normal View History

diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
index 7175865b3..d345f6ff9 100644
--- a/build/config/BUILDCONFIG.gn
+++ b/build/config/BUILDCONFIG.gn
@@ -130,6 +130,8 @@ declare_args() {
# separate flags.
is_official_build = false
+ gcc_lto = false
+
# Whether we're a traditional desktop unix.
is_desktop_linux = current_os == "linux"
@@ -440,6 +442,12 @@ default_compiler_configs = [
"//build/config/sanitizers:default_sanitizer_flags",
]
+if (gcc_lto) {
+ default_compiler_configs += [
+ "//build/config/compiler:gcc_lto",
+ ]
+}
+
if (is_win) {
default_compiler_configs += [
"//build/config/win:default_crt",
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 4b24c762b..7da01887a 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -1921,6 +1921,10 @@ if (is_win) {
}
}
+config("gcc_lto") {
+ cflags = [ "-flto" ]
+}
+
config("default_stack_frames") {
if (is_posix || is_fuchsia) {
if (enable_frame_pointers) {
diff --git a/sandbox/linux/BUILD.gn b/sandbox/linux/BUILD.gn
index b00a88cfa..db01e988a 100644
--- a/sandbox/linux/BUILD.gn
+++ b/sandbox/linux/BUILD.gn
@@ -256,6 +256,7 @@ component("seccomp_bpf") {
"//base",
"//base/third_party/dynamic_annotations",
]
+ configs -= [ "//build/config/compiler:gcc_lto" ]
if (is_nacl_nonsfi) {
cflags = [ "-fgnu-inline-asm" ]