X-Recipient: archive-cygwin@delorie.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:message-id:date:mime-version
	:content-type:content-transfer-encoding; q=dns; s=default; b=ruc
	qzxSe1FXgqG1mPGHcbosO4f6VgjH5p/BLeecAvtL0TEb2g1nLBq1dGKWtkPJ53cy
	DjBaDAS41mduChCgGF/BdBklQbbWM8hqi9lIlowRW4bZYsnvxojNhjRpW2aNndHX
	sRYcstv7hvqm5BIixo/AljXiJoMioSlt8qibkm4s=
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:message-id:date:mime-version
	:content-type:content-transfer-encoding; s=default; bh=/VO8IISKE
	tuduTXjFTzRVjLGrE8=; b=fHDifi2hESQ7p6FZuCYszi2Rle0fsU2ZZ+e2yjuaY
	dw6pnOgjQ5coZqDFPF96Ur7E3zatWayZYZ/5Qm0mrvIl6O+b9m9m5ZnlI64Z4aui
	ZVslgy8C1ed2QK6QhMemyxttels5i39uVec/WE+0mTWKE3pCqHBW/GqrigBaCq07
	Jo=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=world, world!, Hx-languages-length:755
X-HELO: limerock01.mail.cornell.edu
X-CornellRouted: This message has been Routed already.
From: Ken Brown <kbrown@cornell.edu>
To: cygwin <cygwin@cygwin.com>
Subject: Deterministic builds
Message-ID: <ff5f5b20-33e2-ef2d-012a-a9e02903ba21@cornell.edu>
Date: Wed, 4 May 2016 09:38:39 -0400
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-PMX-Cornell-Gauge: Gauge=XXXXX
X-IsSubscribed: yes

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.)

For example:

$ cat hello.c
#include <stdio.h>
int
main ()
{
  printf("Hello, world!\n");
  return 0;
}

$ gcc hello.c -o hello1

$ gcc hello.c -o hello2

$ objdump -p hello1.exe | grep Time/Date
Time/Date               Wed May  4 09:20:24 2016

$ objdump -p hello2.exe | grep Time/Date
Time/Date               Wed May  4 09:20:29 2016

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.

Ken


--
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

