Re: [PATCH 6/8] ARM: clang: Do not relay on lr register for stacktrace

From: Masami Hiramatsu
Date: Thu Oct 14 2021 - 20:18:37 EST


On Thu, 14 Oct 2021 17:53:24 +0100
"Russell King (Oracle)" <linux@xxxxxxxxxxxxxxx> wrote:

> On Fri, Oct 08, 2021 at 09:29:08PM +0900, Masami Hiramatsu wrote:
> > Currently the stacktrace on clang compiled arm kernel uses the 'lr'
> > register to find the first frame address from pt_regs. However, that
> > is wrong after calling another function, because the 'lr' register
> > is used by 'bl' instruction and never be recovered.
> >
> > As same as gcc arm kernel, directly use the frame pointer (x11) of
> > the pt_regs to find the first frame address.
>
> Can I ask that the subject line is corrected. It's "rely" not "relay".

Oops, yes, that's my typo. Thanks for correcting!

>
> Also, the frame pointer is called "r11" not "x11" if you want to use
> the numerical register reference for 32-bit ARM registers.

Oh, I mixed up the register name between arm64 and ARM...

Thank you,

>
> Thanks.
>
> --
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>