|
From: Sean C. <sea...@po...> - 2016-01-12 16:42:43
|
Is Valgrind supported on ARM Cortex-M3?
I'm trying to compile ValGrind for use with ucLinux on a Cortex-M3 using
a Code Sourcery toolchain.
I'm using a configure command like
./configure --host=arm-uclinuxeabi --build=x86_64-pc-linux-gnu
CLAGS="-mcpu=cortex-m3 -mthumb"
(in configure.in I clone the 'armv7*' to a 'arm' line)
It stops in m_trampoline.c with complaints like
m_trampoline.S: Assembler messages:
m_trampoline.S:594: Error: Thumb does not support conditional execution
m_trampoline.S:627: Error: lo register required -- `stmfd
sp!,{r4,r5,lr}'
m_trampoline.S:628: Error: instruction not supported in Thumb16 mode --
`subs lr,r2,#0'
m_trampoline.S:633: Error: dest must overlap one source register -- `add
r3,r0,lr'
Thanks in advance
|
|
From: John R. <jr...@bi...> - 2016-01-12 22:22:21
|
On 01/12/2016 08:42 AM, Sean Condon wrote: > Is Valgrind supported on ARM Cortex-M3? No. ARM Cortex-M3 supports only the ARMv7-M instruction set, which has ONLY Thumb instructions (generally 16 bits each). Valgrind requires full ARMv7 including ARM instructions (32 bits each); the Thumb mode of full ARMv7 is supported, but only as an addition to the ARM mode. |