This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC 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: [uClinux-dev] why no-mmu cannot support binfmt_aout.c


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


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