Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
X-Injected-Via-Gmane: http://gmane.org/
To: cygwin@cygwin.com
Path: not-for-mail
From: Shankar Unni <shankar@cotagesoft.com>
Subject: Re: Repeated gcc yields differing .exe files
Date: Fri, 20 Dec 2002 10:27:19 -0800
Lines: 20
Message-ID: <3E036107.9080403@cotagesoft.com>
References: <001201c2a820$26daf9a0$6fc82486@medschool.dundee.ac.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
X-Complaints-To: usenet@main.gmane.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.0.2) Gecko/20021120 Netscape/7.01
X-Accept-Language: en-us, en

fergus@bonhard.uklinux.net wrote:

> The fact that hello.exe alters seems a bit non-optimal to me, given that
> md5sums are a pretty standard way for people like you and me to check that
> we're running the same stuff, intended to do the same thing. Incidentally,
> it's always the same two bytes that alter:

As egor said: it's the timestamp. Almost every object file format in use 
today has compilation timestamps to identify when the executable was 
created; many even have other tagging information identifying the 
compilation environment.

It's a completely invalid assumption that the same source compiled twice 
will give identical binary files. This is a GOOD thing, because it 
identifies a *binary* precisely, you know if it has been replaced, even 
with something "identical".  This is especially important when you're 
installing a full installation of some product with many files - you can 
take an overall checksum of everything, and verify that nothing has been 
touched or tampered with.




--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

