Re: [4.9 PATCH] ARM: 8800/1: use choice for kernel unwinders

From: Greg KH
Date: Thu Jan 27 2022 - 10:36:38 EST


On Tue, Jan 25, 2022 at 02:41:48PM +0100, Anders Roxell wrote:
> From: Stefan Agner <stefan@xxxxxxxx>
>
> commit f9b58e8c7d031b0daa5c9a9ee27f5a4028ba53ac upstream.
>
> While in theory multiple unwinders could be compiled in, it does
> not make sense in practise. Use a choice to make the unwinder
> selection mutually exclusive and mandatory.
>
> Already before this commit it has not been possible to deselect
> FRAME_POINTER. Remove the obsolete comment.
>
> Furthermore, to produce a meaningful backtrace with FRAME_POINTER
> enabled the kernel needs a specific function prologue:
> mov ip, sp
> stmfd sp!, {fp, ip, lr, pc}
> sub fp, ip, #4
>
> To get to the required prologue gcc uses apcs and no-sched-prolog.
> This compiler options are not available on clang, and clang is not
> able to generate the required prologue. Make the FRAME_POINTER
> config symbol depending on !clang.
>
> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx>
> Signed-off-by: Stefan Agner <stefan@xxxxxxxx>
> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx>
> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx>
> Signed-off-by: Anders Roxell <anders.roxell@xxxxxxxxxx>
> ---
> arch/arm/Kconfig.debug | 44 +++++++++++++++++++++++++++---------------
> lib/Kconfig.debug | 6 +++---
> 2 files changed, 31 insertions(+), 19 deletions(-)

Now queued up, thanks.

greg k-h