This is the mail archive of the libffi-discuss@sourceware.org mailing list for the libffi 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: libffi on Cortex M4?


On 09/14/2015 11:43 AM, Tor Krill wrote:
> Dear list,
> 
> I'm trying to crosscompile libffi for a Cortex-M4 platform running
> uClinux but this fails miserably during compilation with a:
> 
> ../src/arm/sysv.S: Assembler messages:
> ../src/arm/sysv.S:152: Error: selected processor does not support ARM
> opcodes
> ../src/arm/sysv.S:154: Error: attempt to use an ARM instruction on a
> Thumb-only processor -- `stmfd sp!,{r0-r3,fp,lr}'
> ../src/arm/sysv.S:156: Error: attempt to use an ARM instruction on a
> Thumb-only processor -- `mov fp,sp'
> ../src/arm/sysv.S:161: Error: attempt to use an ARM instruction on a
> Thumb-only processor -- `sub sp,fp,r2'
> 
> My question is simply, is thumb2 on a cortex m4 supported by libffi?
> I.e. is it my build setup that is faulty and this should work or is this
> unsupported?

Thumb2 is supported, but I think you'll find that the M4 is thumb1, which isn't.

We normally expect to have the assembly bits for libffi compiled for arm32 and
use interworking to let the C bits be built for thumb1.  In order to support a
thumb1 only core would require significant work.


r~


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