public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Deterministic builds
@ 2016-05-04 13:38 Ken Brown
  2016-05-04 14:30 ` Greg Chicares
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Ken Brown @ 2016-05-04 13:38 UTC (permalink / raw)
  To: cygwin

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-05-05 21:46 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-04 13:38 Deterministic builds Ken Brown
2016-05-04 14:30 ` Greg Chicares
2016-05-04 17:11 ` Achim Gratz
2016-05-04 17:21 ` Ismail Donmez
2016-05-04 17:40   ` Ken Brown
2016-05-05 17:59     ` Ken Brown
2016-05-05 20:26       ` Warren Young
2016-05-05 21:46         ` Ken Brown
2016-05-05  1:50 ` Andrey Repin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).