On 24 May 2016 at 18:13, Peter Smith peter.smith@linaro.org wrote:
I think that the bit missing from Gold is the endian reversal code for instructions, in ARMv7 BE8. If that is implemented then no additional support is needed for LTO. I would suspect that it would be much quicker to implement BE8 support in gold than write a ld LTO plugin.
I remember some people not wanting to touch gold with a 10-foot pole, but that might just have been my impression.
I agree that adding BE8 to gold would be easier, but there's a difference between "works on my box" and "Linaro has validated it". I wouldn't want to claim the latter if we only do the former.
Not that it is of much use to you, but ARM's proprietary toolchain supports LTO for bare-metal via clang, including v7a, and we (ARM) haven't seen any problems with code-generation due to LTO in the tests that we run.
Big endian, too?