[uClinux-dev] why no-mmu cannot support binfmt_aout.c
Jamie Lokier
jamie@shareable.org
Thu Jan 29 06:12:00 GMT 2009
loody wrote:
> e1a0e00f mov lr, pc
> e12fff13 bx r3
> What is the specialty of the instruction, "mov lr,pc", which let
> arm cpu fail?
Both of those instructions can put the CPU into Thumb mode. If it
doesn't support Thumb, you get an instruction fault.
"mov lr,pc" is supported on all ARMs, but (guessing from what you're
getting) maybe it can fault depending on the value in "lr"?
"bx" is not available on all ARMs, and will fault when you don't have
it. That's why it's necessary to build everything with the right GCC
options.
I wouldn't be surprised if the Codesourcery tools (especially
pre-built libs) are targetting later ARM chips only, since people
using later ARM chips are probably paying Codesourcery for the work.
-- Jamie
More information about the Binutils
mailing list