ARM long branch stub: thumb
Christophe LYON
christophe.lyon@st.com
Mon Feb 23 08:43:00 GMT 2009
On 23.02.2009 05:36, Daniel Jacobowitz wrote:
> On Fri, Feb 20, 2009 at 03:15:50PM +0100, Christophe LYON wrote:
>> Here is an updated patch, using the veneer code provided by Paul.
>>
>> I have also modified the Thumb -> Arm stub which also used to push
>> registers on the stack.
>
> This patch is OK. There are still things wrong with the stubs, but it
> fixes some and doesn't introduce new problems.
>
OK thanks.
> FYI, we (CodeSourcery) need a version of the new stub code that works
> on all our targets this week. So I plan to review the output for as
> many cases as I can think of on Monday. We're also working on a patch
> to put the stubs after input sections instead of before, as you and I
> discussed last year.
I plan to give a look a the BE8 issues today.
>> stub_type = (info->shared | globals->pic_veneer)
>> + /* PIC stub not yet supported on V4T. */
>> ? arm_stub_none
>
> Am I correct that most (or all?) places this function returns
> arm_stub_none, we'll still generate out-of-range branches?
Yes, the linker should emit "relocation truncated to fit".
But I still have a few patches in the pipeline which will handle more
cases :-)
Christophe.
More information about the Binutils
mailing list