[oe] [PATCH][v3 3/4] uClibc: redo configuration

Phil Blundell philb at gnu.org
Thu Jul 8 21:34:29 UTC 2010


On Thu, 2010-07-08 at 14:31 -0700, Khem Raj wrote:
> On Thu, Jul 8, 2010 at 2:29 PM, Phil Blundell <philb at gnu.org> wrote:
> > On Thu, 2010-07-08 at 14:03 -0700, Khem Raj wrote:
> >> If I am not wrong you can still do interworking and not have bx (using
> >> mov pc,lr)
> >
> > That's not an interworking instruction in ARMv4T, and I don't think it
> > is in ARMv5TE either.  You might be thinking of pop {pc}, which is
> > interworking in ARMv5TE, but even this is not interworking in v4t.
> 
> tst lr, #1
> moveq pc, lr
> bx lr
> 
> Thats how its done on armv4 for EABI

Right, but the MOV in that case is not an interworking instruction; it's
just a way to avoid executing BX when you don't actually need to switch
mode, so that you can create a library which still works in an ARM-only
environment.

The final BX in that sequence is mandatory in order for it to actually
function as an interworking return.

p.






More information about the Openembedded-devel mailing list