]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commit - arch/arm/Kconfig.debug
ARM: 8800/1: use choice for kernel unwinders
authorStefan Agner <stefan@agner.ch>
Sun, 30 Sep 2018 22:02:33 +0000 (23:02 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Thu, 4 Oct 2018 13:48:58 +0000 (14:48 +0100)
commitf9b58e8c7d031b0daa5c9a9ee27f5a4028ba53ac
treeeb472871b0363395c125455e289e5c67e830f9e5
parent3f53950190271ba6876c3f9eed14af9cb64b6700
ARM: 8800/1: use choice for kernel unwinders

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@arndb.de>
Signed-off-by: Stefan Agner <stefan@agner.ch>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/Kconfig.debug
lib/Kconfig.debug