Stefan Agner b182bc7139 ARM: 8800/1: use choice for kernel unwinders
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@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>
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-12-22 09:19:03 +01:00
..
2021-09-22 11:47:51 +02:00
2018-08-22 10:52:48 -07:00
2017-12-01 13:09:40 -08:00
2017-12-01 13:09:40 -08:00
2018-10-12 09:17:46 +02:00
2018-08-16 12:14:42 -07:00
2017-12-01 13:09:40 -08:00
2018-02-06 18:32:44 -08:00
2018-08-22 10:52:48 -07:00
2019-04-20 09:16:05 +02:00
2017-10-07 10:45:14 -06:00
2017-02-24 17:46:57 -08:00
2018-08-18 11:44:53 -07:00
2018-04-12 09:41:19 -07:00
2018-06-12 16:19:22 -07:00
2017-12-01 13:09:40 -08:00
2017-12-01 13:09:40 -08:00
2021-09-03 09:58:00 +02:00
2016-12-06 10:17:03 +02:00
2018-07-17 09:27:43 +02:00
2020-11-05 11:08:45 +01:00
2018-06-27 18:58:49 +03:00
2018-10-15 16:31:29 -04:00
2018-04-23 16:39:35 +01:00
2017-08-15 09:02:07 -07:00