This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [arm] EABI annotation of thumb symbols.
Richard Earnshaw <rearnsha@arm.com> writes:
> Ultimately it depends on the performance you want out of your code. If
> performance is not a goal at all, then you could probably squeeze each
> PLT stub down to about 4 bytes, with
>
> mov ip, pc
> b common_plt
>
> (and if the plt cannot reach common_plt, then chain it to one that
> can). common_plt can do all manner of things, provided that at the
> point at which it calls into the target function things are set up
> correctly in case we end up in the dynamic linker. But remember that
> the sequence above depends critically on each PLT sequence being the
> same length and on them all being located sequentially in memory (so
> that the PC value can be converted algorithmically into a PLTGOT value).
Omitting the offset word from each entry is a good idea. Thanks.
Unfortunately even trickier to implement when the PLT is larger than
4096 bytes.
Ian