delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2016/05/04/13:11:55

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:from:to:subject:references:date:in-reply-to
:message-id:mime-version:content-type; q=dns; s=default; b=QxeFA
dLB+7/mtoRnwMEQ66jIQCRPgc1q4O7hD9UWD9a0UY9ONtvvnwSNHmmo7BIld4aWX
g52EXCw6WTRD+r3xTUCHgNJPGel0MHpoJKt+6swMXV3KyzGTNgFnkwmDHBEzNKBa
7wJcbwswn1FOe4O+NXKMMKYfbwHqV1+5e8BR1M=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:from:to:subject:references:date:in-reply-to
:message-id:mime-version:content-type; s=default; bh=bq/WLZoLONa
ZklOd/VrACuUanX4=; b=PWcIniWf1Q6+Bxpwx70IyzOk5llCEDJwkOkBYcviNSd
kzx1pqXOp9VcreWjRP2SgIogCzaW3/1fyCY/MN7tD6jUuolu5TMhQO5DzngsW1UX
drUKM9wRqWQupU6nQJSuDnHtqIrf+z4tTfWEmYTMdKG6ubgIzky+MReYKeJWo9NY
=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-0.7 required=5.0 tests=AWL,BAYES_50,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=WAVE, sk:synth.s, neuron, Waldorf
X-HELO: mail-in-16.arcor-online.net
X-DKIM: Sendmail DKIM Filter v2.8.2 mail-in-15.arcor-online.net 3r0PhX28YPzB6nX
From: Achim Gratz <Stromeko AT nexgo DOT de>
To: cygwin AT cygwin DOT com
Subject: Re: Deterministic builds
References: <ff5f5b20-33e2-ef2d-012a-a9e02903ba21 AT cornell DOT edu>
Date: Wed, 04 May 2016 19:11:20 +0200
In-Reply-To: <ff5f5b20-33e2-ef2d-012a-a9e02903ba21@cornell.edu> (Ken Brown's message of "Wed, 4 May 2016 09:38:39 -0400")
Message-ID: <87r3dhbvev.fsf@Rainer.invalid>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.93 (gnu/linux)
MIME-Version: 1.0

Ken Brown writes:
> Is it possible to build an executable on Cygwin so that subsequent
> builds (with no change in source) produce identical results?
> Currently, the timestamp embedded in executables prevents this.  (I
> don't know if that's the only obstacle.)

I think the basic problems and solutions could be sussed from the work
of Debian folks on reproducible builds:

https://wiki.debian.org/ReproducibleBuilds

> My actual use case is that I'm building a package that produces a
> large number of executables.  If I make a change in one source file,
> I'd like to be able to know which executables change.

Just looking at executables, you will probably find that in gcc there
are a few optimizations that do not produce the same bits on each
compile (depending on available memory, CPU speed or some random seed).
For some of these there are switches to stabilize the result at least.
Timestamps in various file formats are another source of chatter,
although you might be able to either fix thetime or just ignore those
timestamps during comparison (but that's generally more costly than just
doing a plain comparison).


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Wavetables for the Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#BlofeldUserWavetables

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019