[ARM] PR ld/20608

Alan Modra amodra@gmail.com
Wed Sep 28 02:53:00 GMT 2016


On Wed, Sep 28, 2016 at 01:57:36AM +0200, Christophe Lyon wrote:
> On 23 September 2016 at 01:25, Alan Modra <amodra@gmail.com> wrote:
> > On Thu, Sep 22, 2016 at 04:39:30PM +0100, Richard Earnshaw (lists) wrote:
> >> So this patch got me wondering.  If the PLT slot is so far away that we
> >> need an indirect jump to get there, why don't we clone the PLT code
> >> sequence at the veneer location?  As I recall there's nothing
> >> architectural about placing all the PLT slots together, it's just more
> >> convenient to do that.  We could even have the clone in Thumb-2 code if
> >> that's appropriate, so that it's compatible with tail calls.
> >
> 
> If there are multiple PLT slots for the same function,
> doesn't this break the uniqueness of a function pointer?

Not for powerpc64.  ELFv1 doesn't need the hack of defining a function
on PLT code in an executable, and ELFv2 emits special global entry
stubs for this case.  But, yes, you may need to worry about this on
ARM.

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list