GNU bug report logs -
#32227
[PATCH] gnu: rust: make rust 1.25.0 build reproducible
Previous Next
Full log
Message #20 received at 32227 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hello Ludo,
Sorry for long answer. I have no chance to continue ivestigation last
month, but I'll want to provide my old finding:
1. Rust 1.25 build cargo binary (but not rustc itself) in
non-reproducible manner when compiled with llvm-6.0 and llvm-6.1. In
both cases we got non-reproducible code for next functions:
"<env_logger::Logger as log::Log>::log", "git2::panic::check",
"curl::easy::handler::ssl_ctx_cb".
2. Rust 1.26 with llvm-6.0 build is reproducible regardless of which
rustc 1.25 (with llvm-6.0 or llvm-3.9) was used to bootstrap it.
3. Rust 1.27.0 and Rust 1.27.2 again build rustc itself in reproducible
manner, while "cargo" binary differ build to build. I observed
non-reproducible code in "git2::panic::check" function and in
".gcc_except_table" section of resulting binary.
In attachements you can find patch to move rust-1.25 to llvm-3.9, and
patch to update Rust 1.27 to 1.27.2.
[0001-gnu-rust-make-rust-1.25.0-build-reproducible.patch (text/x-patch, attachment)]
[0002-Update-rust-1.27-to-1.27.2.patch (text/x-patch, attachment)]
[Message part 4 (text/plain, inline)]
Regards,
Nikolai
ludo <at> gnu.org (Ludovic Courtès) writes:
> Hello Nikolai,
>
> Nikolai Merinov <nikolai.merinov <at> member.fsf.org> skribis:
>
>> Please, do not merge. Change rejected. With this change 1.27.0 build
>> still not reproducible. I should try to figure out which llvm
>> compilation options make builds non-reproducible.
>
> Does the problem still apply to 1.27.0 as currently available in master?
>
> Thanks,
> Ludo’.
This bug report was last modified 5 years and 91 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.