For Programmers: Free Programming Magazines  


Home > Archive > VC STL > August 2005 > md5sum changes with each build









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author md5sum changes with each build
Andrew Chalk

2005-08-23, 7:03 pm

Each time that I do a build the md5sum of the resultant DLL is different. Is
VC++ embedding a compile-time timestamp in the output file, or what?

Many thanks


Igor Tandetnik

2005-08-23, 9:58 pm

"Andrew Chalk" <achalk@magnacartasoftware.com> wrote in message
news:OB$WthCqFHA.3544@TK2MSFTNGP15.phx.gbl
> Each time that I do a build the md5sum of the resultant DLL is
> different. Is VC++ embedding a compile-time timestamp in the output
> file, or what?


The linker embeds a timestamp into the executable's header. See
IMAGE_FILE_HEADER::TimeDateStamp. I don't know of any way to turn it
off. The timestamp is at the fixed offset from the beginning of the
file - I guess you can patch it up to some fixed date as a post-build
step.
--
With best wishes,
Igor Tandetnik

With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925


Andrew Chalk

2005-08-23, 9:58 pm

Thanks!
"Igor Tandetnik" <itandetnik@mvps.org> wrote in message
news:ujF2SVEqFHA.3524@tk2msftngp13.phx.gbl...
> "Andrew Chalk" <achalk@magnacartasoftware.com> wrote in message
> news:OB$WthCqFHA.3544@TK2MSFTNGP15.phx.gbl
>
> The linker embeds a timestamp into the executable's header. See
> IMAGE_FILE_HEADER::TimeDateStamp. I don't know of any way to turn it off.
> The timestamp is at the fixed offset from the beginning of the file - I
> guess you can patch it up to some fixed date as a post-build step.
> --
> With best wishes,
> Igor Tandetnik
>
> With sufficient thrust, pigs fly just fine. However, this is not
> necessarily a good idea. It is hard to be sure where they are going to
> land, and it could be dangerous sitting under them as they fly
> overhead. -- RFC 1925
>



Oleg Starodumov

2005-08-24, 3:58 am


There are also other data structures that are updated with
each build. For example, debug information structures
use timestamps or GUIDs to match the executable with its
debug information file. You can find more information
about it here:
http://www.debuginfo.com/articles/debuginfomatch.html

Another example of a structure that uses timestamp is
IMAGE_EXPORT_DIRECTORY; there also can be others.

Regards,
Oleg
[VC++ MVP]






Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com