ARM long branch stub fixes

Christophe LYON christophe.lyon@st.com
Wed Jun 25 15:16:00 GMT 2008


Hi Daniel,

On 25.06.2008 00:03, Daniel Jacobowitz wrote:
> This patch corrects two bugs in ARM stubs I discovered.  One was an
> incorrect offset (+20 instead of +16) for the v4t stubs; this caused
> lots of arm-none-eabi/arm-sim/-mthumb tests to time out.  The other
> was use of 'b.n .' instead of 'bx r6'; if you write 'b r6' you'll get
> the former, and it's easy to miss that there's a relocation on the
> instruction.
> 

Thanks for catching this.
BTW, is this 'b r6' -> 'b.n .' transformation documented somewhere?

> While I was staring at stubs, I added a local symbol in front of each
> one.  This makes disassembly more intelligible but required a massive
> testsuite update.

Thanks.

> I tried to use the same naming scheme as bfd's other set of
> ARM-to-Thumb stubs, which really should be obsoleted by the new
> mechanism - a cleanup for another day.
> 
> Any comments on this patch?  Otherwise I'll check it in soon.
> 

Could you remind me why you use 'addr + 1' when you add the local 
symbols in thumb mode? (in arm_map_one_stub())

It's OK for me.

Christophe.



More information about the Binutils mailing list