Hi, I am attempting to move an old gcc powerpc-eabi cross toolchain from an old Solaris SPARC server to a new Linux x86_64 server. I have built and installed the exact same cross-binutils (2.13.2.1), cross-gcc (3.2.3) and cross-newlib (1.11.0) from source using the exact same target (powerpc-eabi) as I originally built and installed on the Solaris server.
I then built the exact same target source code using the two toolchains and got different target object code (i.e. different instruction sequences). Should that be possible? The obvious difference is that the two toolchains are running on different hosts but I wouldn't have expected that to matter (the cross-compiler should have identical functionality). Another difference is that the two toolchains were compiled with different versions of native gcc. Native gcc 3.2.3 was originally used on the Solaris server (with Solaris binutils) while native gcc 3.4.6 was used on the Linux server (with GNU binutils). I wouldn't have expected that to matter either. Any theories on why the object code is different between the two toolchains? Ron McCall