This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 32-bit host vs 64-bit host


On 24 Feb 2014, grant.b.edwards@gmail.com wrote:

> Would you expect the two toolchains to produce identical code when
> given identical sources?

The 64bit host tools can deal with larger files (objects and binaries).
This can lead to differences, like it won't link at all with the 32bit
version.  Even two machines, or the same machine at different times of
the year may make different binaries.

We had one machine that the build person insisted on re-compiling and
the binary was suppose to have a known hash.  One day, the compiler
changed the register allocation.  The generated code was identical, it
just moved things to a different set of registers to accomplish the same
thing.  It was effectively equivalent in all respects, but the known
hash was wrong.  This was with an older gcc released by some
organization (not crosstool-ng)

Also, I believe that some of this depends on the options used
(-frandom-seed, etc).  Ie, there maybe some sets of options where the
binary may remain the same and others where it won't.

I build both sets of compilers.  An i686 and x86_64 host with ARM926
target using crosstool-ng.  No one has ever noted a difference, except
some very large links only work on the 64bit version.

https://wiki.debian.org/ReproducibleBuilds

I would expect the binaries to be different.  I would also expect that
the binary differences won't matter in 99% to 100% of the cases.

Fwiw,
Bill Pringlemeir.

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]