Problems with ARM/thumb-crosscompiler and 64-bit systems
sarah@hederstierna.com
fredrik@hederstierna.com
Thu Apr 14 13:21:00 GMT 2011
Hi
I have a problem related to cross-compilation to ARM and 64-bit systems.
The developers at our office uses mainly Ubuntu Linux, but some uses 32-bit and some 64-bit versions.
We all use the same script to build the cross-compiler toolchain for 'arm-elf-gcc-4.5.1'.
The funny is that an arm-toolchain built on a 64-bit Linux system does not produce same target ARM/thumb-binary as an arm-toolchain built on a 32-bit Linux system.
All sources we build are exactly the same, both gcc-4.5.1-toolchain-sources and target-sources, the only difference is the 32/64-bit system we use.
How can that be? I understand the cross-compiler binary might eg. link with other libs, but shouldnt the ARM/thumb cross-compiled target code be the same?
We have also a very bare metal ARM target, we don't link with any other libs at all for our target (-nostdlib).
Example, I disassembled our compiled AES128 C-code, and the 32-bit (working) version had additional thumb instructions compared to the non-working version built on a 64-bit system.
Thanks and Best Regards/Fredrik
More information about the Gcc-help
mailing list