From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 86421 invoked by alias); 4 May 2016 17:11:39 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 86403 invoked by uid 89); 4 May 2016 17:11:37 -0000 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 Received: from mail-in-16.arcor-online.net (HELO mail-in-16.arcor-online.net) (151.189.21.56) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Wed, 04 May 2016 17:11:27 +0000 Received: from mail-in-12-z2.arcor-online.net (mail-in-12-z2.arcor-online.net [151.189.8.29]) by mx.arcor.de (Postfix) with ESMTP id 3r0PhX3CsSzCNx3 for ; Wed, 4 May 2016 19:11:24 +0200 (CEST) Received: from mail-in-15.arcor-online.net (mail-in-15.arcor-online.net [151.189.21.55]) by mail-in-12-z2.arcor-online.net (Postfix) with ESMTP id 6A3BCCAE35 for ; Wed, 4 May 2016 19:11:24 +0200 (CEST) X-DKIM: Sendmail DKIM Filter v2.8.2 mail-in-15.arcor-online.net 3r0PhX28YPzB6nX Received: from Gertrud (p54B46F42.dip0.t-ipconnect.de [84.180.111.66]) (Authenticated sender: stromeko@arcor.de) by mail-in-15.arcor-online.net (Postfix) with ESMTPSA id 3r0PhX28YPzB6nX for ; Wed, 4 May 2016 19:11:24 +0200 (CEST) From: Achim Gratz To: cygwin@cygwin.com Subject: Re: Deterministic builds References: Date: Wed, 04 May 2016 17:11:00 -0000 In-Reply-To: (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 Content-Type: text/plain X-SW-Source: 2016-05/txt/msg00047.txt.bz2 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