ARM long branch stubs: pic take 2

Christophe LYON christophe.lyon@st.com
Thu Feb 26 11:55:00 GMT 2009


> I think that this shows that the offset calculation is wrong:  The
> offset needs to be based on the location of the instruction that uses
> the PC -- in this case address 0x1010, with PC=0x1018 (since it's an ARM
> instruction), so 0x1018 + 0x02000000 = 0x02001018, which is the
> instruction after your bx lr instruction.
> 

Good catch!
Here an updated patch, with updated offsets for 
elf32_arm_stub_long_branch_v4t_thumb_arm_pic and 
elf32_arm_stub_long_branch_thumb_only_pic (and updated expected results 
farcall-thumb-arm-pic-veneer.d farcall-thumb-thumb-m-pic-veneer.d 
farcall-thumb-thumb-pic-veneer.d)

Christophe.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pic2.changelog
URL: <https://sourceware.org/pipermail/binutils/attachments/20090226/9f4dba2e/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pic2.patch
URL: <https://sourceware.org/pipermail/binutils/attachments/20090226/9f4dba2e/attachment-0001.ksh>


More information about the Binutils mailing list