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

Greg KH greg at kroah.com
Thu Jan 27 07:36:30 PST 2022


On Tue, Jan 25, 2022 at 02:41:48PM +0100, Anders Roxell wrote:
> From: Stefan Agner <stefan at agner.ch>
> 
> 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 at arndb.de>
> Signed-off-by: Stefan Agner <stefan at agner.ch>
> Reviewed-by: Arnd Bergmann <arnd at arndb.de>
> Signed-off-by: Russell King <rmk+kernel at armlinux.org.uk>
> Signed-off-by: Anders Roxell <anders.roxell at linaro.org>
> ---
>  arch/arm/Kconfig.debug | 44 +++++++++++++++++++++++++++---------------
>  lib/Kconfig.debug      |  6 +++---
>  2 files changed, 31 insertions(+), 19 deletions(-)

Now queued up, thanks.

greg k-h



More information about the linux-arm-kernel mailing list