This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Not emitting "blx address" on Cortex-M3


On Mon, 2009-05-04 at 17:30 +0100, Paul Brook wrote:
> 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.

The linker ought to be able to detect this using the object
attributes... M-profile objects shouldn't be compatible with ARM
objects.

R.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]