[PATCH 6/8] ARM: clang: Do not relay on lr register for stacktrace
Masami Hiramatsu
mhiramat at kernel.org
Thu Oct 14 17:18:32 PDT 2021
On Thu, 14 Oct 2021 17:53:24 +0100
"Russell King (Oracle)" <linux at armlinux.org.uk> 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 at kernel.org>
More information about the linux-arm-kernel
mailing list