[PATCH] ARM: force linker to use PIC veneers
From: Ard Biesheuvel <hidden>
Date: 2015-03-26 13:05:09
On 26 March 2015 at 13:53, Dave P Martin [off-list ref] wrote:
On Thu, Mar 26, 2015 at 12:24:01PM +0000, Ard Biesheuvel wrote:quoted
On 26 March 2015 at 13:22, Russell King - ARM Linux [off-list ref] wrote:quoted
On Thu, Mar 26, 2015 at 01:20:16PM +0100, Ard Biesheuvel wrote:[...]quoted
quoted
quoted
Any specific concerns? The --pic-veneer switch dates back to 2009, so it's been around for a whileBX. Not every CPU supports BX.The bx is used for the Thumb -> ARM switch inside the veneer only, so if you build for ARM these won't appear in the outputAgreed that's what's _supposed_ to happen. Note that --use-blx is an override and might introduce BXs into a kernel that otherwise doesn't have them. But in any case, this option doesn't show a benefit for the scenario under discussion, hence my dropping the request (conditional on THUMB2_KERNEL in any case).
Actually, i am not quite sure. I hadn't realised that there is no branch-without-link counterpart of 'blx <label>' so even if I still potted a number of bx pc/nop sequences, I can't really say if there were quite as many as before.
Ard, can you should build a couple of !THUMB2_KERNEL/pre-v5 configurations with your change and check, just to be sure?
Will do.