http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16350
Sam Thursfield <sam.thursfield at codethink dot co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sam.thursfield at codethink | |dot co.uk --- Comment #30 from Sam Thursfield <sam.thursfield at codethink dot co.uk> 2013-01-09 11:36:46 UTC --- I hit this bug trying to build a GCC 4.6.2 that defaulted to ARMv7-a big-endian. Correct code would only be produced if "-mbig-endian" was passed during linking so that the --be8 flag was passed to the linker, but this meant that the compiler on my target system defaulted to producing code that didn't work on the target system -- not pretty. This particular issue has been fixed in 4.7.3 and later, however: 2012-07-25 Bharathi Seshadri <bsesh...@cisco.com> Jim Wilson <jimwi...@cisco.com> * config/arm/bpabi.h (BE8_LINK_SPEC): Set according to TARGET_BIG_ENDIAN_DEFAULT. >From http://gcc.gnu.org/git/gcc.git: commit c6e19dd6c296449f6d9e54d630f8198acf103d24 Author: wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed Jul 25 20:13:46 2012 +0000 Pass -be8 by default for armv7-a when configured big-endian. config/arm/bpabi.h (BE8_LINK_SPEC): Set according to TARGET_BIG_ENDIAN_DEFAULT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189867 138bc75d-0d04-0410-961f-82ee72b054a4 Backporting this patch to 4.6.2 means that I now have a compiler that produces correct code just from appending "eb" to the CPU in the target triplet and configuring GCC with the correct --with-arch= flag.