This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: ARM long branch stub fixes
- From: Christophe LYON <christophe dot lyon at st dot com>
- To: binutils at sourceware dot org
- Date: Wed, 25 Jun 2008 14:48:41 +0200
- Subject: Re: ARM long branch stub fixes
- References: <20080624220325.GA22918@caradoc.them.org>
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.