A couple of updates:

* Tim fixed ThinLTO on ppc64el via fix-clang-selection.patch, added in
  the 123.0.6312.86 release.

* Thanks to bug #1072299, I've built chromium 126.0.6478.126 for
  bookworm for my own usage/testing, and in addition to the allocator
  tweak suggested in that thread, I enabled ThinLTO. Here are the tweaks
  currently needed on stable to avoid subsequent build breakage:

--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -772,10 +772,6 @@ config("compiler") {
       if (is_apple) {
         ldflags += [ "-Wcrl,object_path_lto" ]
       }
-
-      # We only use one version of LLVM within a build so there's no need to
-      # upgrade debug info, which can be expensive since it runs the verifier.
-      ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ]
     }
 
     # TODO(crbug.com/335365324): Enable on other platforms.
--- a/build/config/rust.gni
+++ b/build/config/rust.gni
@@ -75,7 +75,7 @@ declare_args() {
   #
   # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS
   # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome
-  toolchain_supports_rust_thin_lto = !is_chromeos
+  toolchain_supports_rust_thin_lto = false
 
   # Any extra std rlibs in your Rust toolchain, relative to the standard
   # Rust toolchain. Typically used with 'rust_sysroot_absolute'

(The stable version of Rust appears not capable of LTO.)

So far, I haven't noticed any ill effects in my "production" home
environment... a laptop with 3 GB RAM, and chrome://discards showing 691
tabs :]  (But I can't say it feels noticeably snappier, either. Some
kind of browser-performance benchmarking is probably in order...)

Reply via email to