delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2016/05/04/09:39:18

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: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 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=-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 AT cornell DOT edu>
To: cygwin <cygwin AT cygwin DOT 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
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

- Raw text -


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