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