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 : https://sourceware.org/ml/binutils/2016-07/msg00107.html
Implemented on trunk: https://sourceware.org/ml/binutils-cvs/2016-08/msg00142.html