This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Not emitting "blx address" on Cortex-M3
- From: Paul Brook <paul at codesourcery dot com>
- To: binutils at sourceware dot org
- Cc: Samuel Tardieu <sam at rfc1149 dot net>
- Date: Mon, 4 May 2009 17:30:05 +0100
- Subject: Re: Not emitting "blx address" on Cortex-M3
- References: <87my9vmei3.fsf@willow.rfc1149.net>
On Saturday 02 May 2009, Samuel Tardieu wrote:
> The ARM Cortex-M3 which uses the thumb2 instruction set can use "blx
> register" but not "blx address".
Not technically true. blx address is fine, you're just guaranteed to get a
fault afterwards.
> When compiling calls to GCC helper functions (here a soft-float division
> between doubles), this instruction is generated:
> ? ? 8170: ? ? ? f000 e94a ? ? ? blx ? ? 8408 <__aeabi_ddiv>
Almost certainly means you're linking against ARM libraries. Don't do that.
Paul