Windows tools produce differant binary files

Mick Davis mickd at
Mon Sep 4 08:28:26 UTC 2006


We're using the msys environment on windows to build for our coldfire 
target.  I'm finalising the upgrade to 4.6.99-3, which has produced a 
small improvement in our target's idle time.

I've got a problem using the rtems4.7-m68k-20060707-1.exe tools, which I 
also reproduced using the same tools, but built myself, under msys.

The problem is that the binary I'm producing isn't always the same, 
depending on the PC I use to build it.  3 older PCs using windows 2000 
produce one .srec, and 2 newer PCs running windows XP produce another. 
As well as just being suspicious, this is a problem for our quality 
system, since we support a number of engineers. I was speculating that 
the level of optimisation may depend on the capabilities of the build 

I use a -DNDEBUG=1 compilation flag to keep build system file names out 
of the output.  I've checked this by running the output .elf through the 
'strings' program, and I don't see any file names.

I've been through the gcc manual, and none of the environment variables 
it mentions exist.  I've been adjusting the variables which are 
different between PCs, but none have an effect.

Looking at the differences in the binaries themselves, the differences 
appear to be in the code, but harmless. For example, the register d0 is 
used instead of d1.  Either binary appears to run without a problem.

Can anyone point me to something in the build process which might 
produce these differences? Do the automake files put build information 
into the executable somewhere?


Mick Davis
Goanna Technologies Pty Ltd

More information about the users mailing list