Re: Same binary, different md5sums

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Fabian Cenedese writes:
 > 
 > > > > > I realize that this is a fairly broad question, but I would like to know 
 > > > > > if there is anything in particular I should take into account when 
 > > > > > trying to generate binaries with the same checksum.
 > > > >
 > > > >There could be all manner of reasons.  To begin with, diff the
 > > > >assembly language source produced by g++ -save-temps.  That'll get us
 > > > >started.
 > > > 
 > > > Is this bigger project made of single or multiple source files? If you're
 > > > talking about the linked object file it could also be that the linker doesn't
 > > > always put the modules in the same order (no need to).
 > >
 > >Why not?  It's not as if the linker randomizes its inputs.  Different
 > >linkers might do things differently, sure, but I'm assuming the OP
 > >isn't doing anything really silly such as using different linkers.
 > 
 > My case may have nothing to do with the OP's problem. But we use
 > gcc/as/ld for our embedded boards. Even with the completely same
 > environment (we only have few anyway) the linked endresult can
 > differ when compiled on different machines.

That's interesting.  As far as I'm aware we have never guaranteed that
gcc/binutils will generate binary reproducible output, but there must
be a reason for any differences.

 > It may have to do with the fact that we collect some modules in
 > libraries and feed these to the linker. The order of the modules
 > inside the libraries may not necessarily be the same as we
 > delete/add/update the libraries, depending on the changed source
 > files. But even a complete rebuild doesn't always output the same
 > file, the changes are obvious in the according map file.

Andrew.

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux