ARM long branch stubs: PLT32 and JUMP24 relocations (PR9743)
Christophe LYON
christophe.lyon@st.com
Fri Apr 17 13:56:00 GMT 2009
Hi all,
Here is an updated patch, to cope with all the recently added patches.
Christophe.
On 06.03.2009 16:55, Christophe LYON wrote:
> Hi all,
>
> The attached patch should enable closing PR9743.
> This issue has to do with the previously lacking support for long branch
> stubs towards PLT entries, which has been partially addressed by my
> previous patch (http://sourceware.org/ml/binutils/2009-02/msg00359.html).
>
> Then, we still lacked support for PLT32 and JUMP24 relocations, which I
> have added here. I did not change R_ARM_PC24 handling because during my
> tests I had no occurrence of it and I didn't want to break something
> without proper testing. I can give a look at it later it needed.
>
> Roughly speaking, the fix consists in moving the handling of these
> relocations to a common place with the *CALL* ones already handled by
> the long branch support code.
>
> There is one special case: as these relocs don't apply to 'bl'
> instructions, we can't convert these branches into branch + mode switch,
> so this case has to be taken into account when selecting the appropriate
> stub.
>
> Regarding the testsuite, I had to update:
> * arm-call.d: a new padding word is inserted before the stubs, so
> several addresses had to be updated.
> * arm-pic-veneer.d: the stub code is now common with several other
> cases, so I chose to update this one rather than several others (add
> ip,ip,pc vs add ip,pc,ip)
> * thumb2-b-interwork.d: the stub is no longer in a separate section, and
> no longer has a xxx_change_to_arm symbol.
>
>
> Christophe.
>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pr9743.changelog
URL: <https://sourceware.org/pipermail/binutils/attachments/20090417/1c776fb3/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pr9743.patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20090417/1c776fb3/attachment-0001.ksh>
More information about the Binutils
mailing list