[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