[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#32227] [PATCH] gnu: rust: make rust 1.25.0 build reproducible
From: |
Nikolai Merinov |
Subject: |
[bug#32227] [PATCH] gnu: rust: make rust 1.25.0 build reproducible |
Date: |
Mon, 24 Sep 2018 02:38:22 +0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
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
Description: enable llvm-6.0 in rust 1.26 instead of 1.25
0002-Update-rust-1.27-to-1.27.2.patch
Description: Update rust 1.27 to 1.27.2
Regards,
Nikolai
address@hidden (Ludovic Courtès) writes:
> Hello Nikolai,
>
> Nikolai Merinov <address@hidden> 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’.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [bug#32227] [PATCH] gnu: rust: make rust 1.25.0 build reproducible,
Nikolai Merinov <=