summaryrefslogtreecommitdiff
path: root/gcc-enable-lto.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-enable-lto.patch')
-rw-r--r--gcc-enable-lto.patch70
1 files changed, 70 insertions, 0 deletions
diff --git a/gcc-enable-lto.patch b/gcc-enable-lto.patch
new file mode 100644
index 0000000..cdfdf45
--- /dev/null
+++ b/gcc-enable-lto.patch
@@ -0,0 +1,70 @@
+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" &&
+@@ -354,6 +356,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_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
+@@ -2342,6 +2342,10 @@ if (is_win) {
+ common_optimize_on_cflags += [ "-fno-math-errno" ]
+ }
+
++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") {
+ "//build:chromeos_buildflags",
+ "//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
+@@ -3830,6 +3830,10 @@ test("base_unittests") {
+ }
+ }
+
++ if (gcc_lto) {
++ configs -= [ "//build/config/compiler:gcc_lto" ]
++ }
++
+ if (use_partition_alloc) {
+ sources += [
+ "allocator/partition_allocator/src/partition_alloc/address_pool_manager_unittest.cc",