GNU bug report logs - #32227
[PATCH] gnu: rust: make rust 1.25.0 build reproducible

Previous Next

Package: guix-patches;

Reported by: Nikolai Merinov <nikolai.merinov <at> member.fsf.org>

Date: Fri, 20 Jul 2018 20:10:01 UTC

Severity: normal

Tags: patch, wontfix

Done: Jakub Kądziołka <kuba <at> kadziolka.net>

Bug is archived. No further changes may be made.

Full log


Message #20 received at 32227 <at> debbugs.gnu.org (full text, mbox):

From: Nikolai Merinov <nikolai.merinov <at> member.fsf.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 32227 <at> debbugs.gnu.org
Subject: Re: [bug#32227] [PATCH] gnu: rust: make rust 1.25.0 build reproducible
Date: Mon, 24 Sep 2018 02:38:22 +0500
[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.