[PATCH 06/10] ARM: ftrace: add Thumb-2 support

Rabin Vincent rabin at rab.in
Mon Mar 15 14:32:58 EDT 2010


On Sun, Mar 14, 2010 at 10:30:15PM +0000, Catalin Marinas wrote:
> On Sat, 2010-03-13 at 06:49 +0000, Rabin Vincent wrote:
> >  - The problem with the "mov lr, pc", is that it does not set the lsb when
> >    storing the pc in lr.  The called function returns with "bx lr", and the
> >    mode changes to ARM.  The blx is to avoid this.
> 
> I'm not familiar with ftrace but why does the called function returns
> using "bx lr". Is this generated by the compiler? I had the impression
> that if we don't enable interworking, we wouldn't get this instruction
> (but haven't tried this yet).

There's nothing special about the called function: it's just a regular C
function.  GCC uses "bx lr" for the return.

Rabin



More information about the linux-arm-kernel mailing list