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 <[email protected]>
Jim Wilson <[email protected]>
* 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.