[tbb-commits] [tor-browser-build/maint-8.0] Bug 26475: Disable building Rust with Thin LTO
gk at torproject.org
gk at torproject.org
Wed Dec 5 07:18:53 UTC 2018
commit dd1d00a2fed85c8bb22c4f85bbc45da00d0e8c05
Author: Georg Koppen <gk at torproject.org>
Date: Mon Oct 15 09:48:59 2018 +0000
Bug 26475: Disable building Rust with Thin LTO
Building Rust with Thin LTO enabled leads to Tor Browser builds on macOS
and probably Linux not being reproducible. The exact reason for that is
unknown at the moment, although it seems fixed testing nightly Rust
source tarballs as of mid-September 2018.
We therefore disable Thin LTO for now by setting `codegen-units` to `1`.
---
projects/firefox/mozconfig-osx-x86_64 | 3 ---
projects/rust/build | 10 ++++++++++
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/projects/firefox/mozconfig-osx-x86_64 b/projects/firefox/mozconfig-osx-x86_64
index 7ff17e1..1e30084 100644
--- a/projects/firefox/mozconfig-osx-x86_64
+++ b/projects/firefox/mozconfig-osx-x86_64
@@ -48,9 +48,6 @@ ac_add_options --disable-crashreporter
ac_add_options --disable-maintenance-service
ac_add_options --disable-webrtc
ac_add_options --disable-tests
-# We need to disable for Stylo right now, as we have reproducibility issues on
-# macOS with it enabled, see: #26475.
-ac_add_options --disable-stylo
# Let's make sure no preference is enabling either Adobe's or Google's CDM.
ac_add_options --disable-eme
# ac_add_options --disable-ctypes
diff --git a/projects/rust/build b/projects/rust/build
index 936f49f..61a5d50 100644
--- a/projects/rust/build
+++ b/projects/rust/build
@@ -65,6 +65,16 @@ cd /var/tmp/build/rustc-[% c('version') %]-src
mkdir build
cd build
../configure --prefix=$distdir [% c("var/configure_opt") %]
+
+# We need to disable Thin LTO due to reproducibility issues on macOS and
+# probably Linux. Alas, there is no direct option available in the config.toml
+# in 1.26.1 yet, so we need to toggle this indirectly via `codegen-units`.
+[% IF c("var/osx") || c("var/linux") %]
+ # It seems hard to pass the proper value via ./configure so we resort to our
+ # old friend `sed`.
+ sed -i 's/#codegen-units = 1/codegen-units = 1/' config.toml
+[% END %]
+
make -j[% c("buildconf/num_procs") %]
make install
cd /var/tmp/dist
More information about the tbb-commits
mailing list