[tor-bugs] #26475 [Applications/Tor Browser]: ESR60-based .dmg images are not built reproducibly with Stylo enabled using rustc > 1.25.0
Tor Bug Tracker & Wiki
blackhole at torproject.org
Thu Aug 2 14:18:35 UTC 2018
#26475: ESR60-based .dmg images are not built reproducibly with Stylo enabled using
rustc > 1.25.0
-------------------------------------------------+-------------------------
Reporter: gk | Owner: tbb-
| team
Type: defect | Status:
| needs_information
Priority: Very High | Milestone:
Component: Applications/Tor Browser | Version:
Severity: Normal | Resolution:
Keywords: tbb-rbm, GeorgKoppen201808, | Actual Points:
TorBrowserTeam201808 |
Parent ID: | Points:
Reviewer: | Sponsor:
-------------------------------------------------+-------------------------
Comment (by alexcrichton):
Nice! Bisecting to the LLVM upgrade definitely makes sense to me. That was
a massive LLVM upgrade though (from LLVM 4.0 to LLVM 6.0), so that would
be quite the bisection range for a regression to be introduced in :(
If it works, though, when you build LLVM yourself that's quite curious.
The command we use to build LLVM though is pretty huge. Looking at one of
our recent builds (https://travis-ci.org/rust-lang/rust/builds/411219658)
the command we use on OSX is:
{{{
"cmake" "/Users/travis/build/rust-lang/rust/src/llvm"
"-DLLVM_ENABLE_ASSERTIONS=OFF"
"-DLLVM_TARGETS_TO_BUILD=X86;ARM;AArch64;Mips;PowerPC;SystemZ;MSP430;Sparc;NVPTX;Hexagon"
"-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly;RISCV"
"-DLLVM_INCLUDE_EXAMPLES=OFF" "-DLLVM_INCLUDE_TESTS=OFF"
"-DLLVM_INCLUDE_DOCS=OFF" "-DLLVM_ENABLE_ZLIB=OFF" "-DWITH_POLLY=OFF"
"-DLLVM_ENABLE_TERMINFO=OFF" "-DLLVM_ENABLE_LIBEDIT=OFF"
"-DLLVM_ENABLE_LIBXML2=OFF" "-DLLVM_PARALLEL_COMPILE_JOBS=4"
"-DLLVM_TARGET_ARCH=x86_64" "-DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-apple-
darwin" "-DLLVM_OCAML_INSTALL_PATH=usr/lib/ocaml"
"-DCMAKE_EXE_LINKER_FLAGS=-static-libstdc++" "-DCMAKE_C_COMPILER=sccache"
"-DCMAKE_C_COMPILER_ARG1=/Users/travis/build/rust-
lang/rust/clang+llvm-6.0.0-x86_64-apple-darwin/bin/clang"
"-DCMAKE_CXX_COMPILER=sccache"
"-DCMAKE_CXX_COMPILER_ARG1=/Users/travis/build/rust-
lang/rust/clang+llvm-6.0.0-x86_64-apple-darwin/bin/clang++"
"-DCMAKE_C_FLAGS=-ffunction-sections -fdata-sections -fPIC --target=x86_64
-apple-darwin -stdlib=libc++" "-DCMAKE_CXX_FLAGS=-ffunction-sections
-fdata-sections -fPIC --target=x86_64-apple-darwin -stdlib=libc++"
"-DCMAKE_INSTALL_PREFIX=/Users/travis/build/rust-lang/rust/build/x86_64
-apple-darwin/llvm" "-DCMAKE_BUILD_TYPE=Release"
}}}
I wonder if perhaps the way we compile LLVM is affecting this? Maybe some
flag or maybe our own compiler we use on automation is introducing bugs?
Or maybe it has to do with the C++ standard library and which is used?
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/26475#comment:34>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list