[tor-bugs] #26475 [Applications/Tor Browser]: ESR60-based Tor Browser bundles are not built reproducibly with Stylo enabled using rustc > 1.25.0

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Oct 11 14:00:08 UTC 2018


#26475: ESR60-based Tor Browser bundles are not built reproducibly with Stylo
enabled using rustc > 1.25.0
-------------------------------------------------+-------------------------
 Reporter:  gk                                   |          Owner:  tbb-
                                                 |  team
     Type:  defect                               |         Status:  new
 Priority:  Immediate                            |      Milestone:
Component:  Applications/Tor Browser             |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  tbb-rbm, TorBrowserTeam201810,       |  Actual Points:
  GeorgKoppen201810                              |
Parent ID:                                       |         Points:
 Reviewer:                                       |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by gk):

 Okay, a further piece in the puzzle: The problem goes away if I drop `-C
 lto` in the test script and only use

 `rustc /dev/stdin -O -C panic=abort -C codegen-units=1 --emit llvm-ir,obj
 --crate-type staticlib --out-dir a --target x86_64-apple-darwin`

 I tried that because I saw
 {{{
             if self.config.rust_codegen_units.is_none() &&
                self.build.is_rust_llvm(compiler.host) &&
                self.config.rust_thinlto {
                 cargo.env("RUSTC_THINLTO", "1");
             } else if self.config.rust_codegen_units.is_none() {
                 // Generally, if ThinLTO has been disabled for some
 reason, we
                 // want to set the codegen units to 1. However, we
 shouldn't do
                 // this if the option was specifically set by the user.
                 cargo.env("RUSTC_CODEGEN_UNITS", "1");
             }
 }}}
 in `builder.rs`.

 I wonder how bad it would be if we just dropped that when building Rust
 code (see: https://dxr.mozilla.org/mozilla-
 esr60/source/config/rules.mk#863) while trying to track the underlying
 issue down.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/26475#comment:43>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list