Gold only supports the BE-32 (word-invariant) big-endian variant of the ARM architecture (supported in v4, v5, and optionally v6). v6 and v7 introduce BE-8 variant (byte invariant).
One of the major features of the BE-8 variant is that all instructions are in little-endian format, whereas they are big-endian in BE-32.
The ABI (http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044d/IHI0044D_aaelf.pdf) section 5.5.1 says that object files are produced in BE-32 format and when the linker produces a BE-8 executable image it byte reverses instructions back to little endian format (word-by-word for ARM, half-word-by-half-word for Thumb). BE-8 executable files have the processor specific flag EF_ARM_BE8 set on the image.
The implication of this is that currently Gold cannot produce images that will run correctly in big-endian mode on ARM v7-A CPUs.
Proposed patch for BE8 implementation for arm :
Implemented on trunk: