diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug index 01c760929c9e..bee0ba1d1cfb 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug @@ -45,42 +45,30 @@ config DEBUG_WX If in doubt, say "Y". -choice - prompt "Choose kernel unwinder" - default UNWINDER_ARM if AEABI && !FUNCTION_GRAPH_TRACER - default UNWINDER_FRAME_POINTER if !AEABI || FUNCTION_GRAPH_TRACER +# RMK wants arm kernels compiled with frame pointers or stack unwinding. +# If you know what you are doing and are willing to live without stack +# traces, you can get a slightly smaller kernel by setting this option to +# n, but then RMK will have to kill you ;). +config FRAME_POINTER + bool + depends on !THUMB2_KERNEL + default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER help - This determines which method will be used for unwinding kernel stack - traces for panics, oopses, bugs, warnings, perf, /proc//stack, - livepatch, lockdep, and more. + If you say N here, the resulting kernel will be slightly smaller and + faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled, + when a problem occurs with the kernel, the information that is + reported is severely limited. -config UNWINDER_FRAME_POINTER - bool "Frame pointer unwinder" - depends on !THUMB2_KERNEL && !CC_IS_CLANG - select ARCH_WANT_FRAME_POINTERS - select FRAME_POINTER - help - This option enables the frame pointer unwinder for unwinding - kernel stack traces. - -config UNWINDER_ARM - bool "ARM EABI stack unwinder" +config ARM_UNWIND + bool "Enable stack unwinding support (EXPERIMENTAL)" depends on AEABI - select ARM_UNWIND + default y help This option enables stack unwinding support in the kernel using the information automatically generated by the compiler. The resulting kernel image is slightly bigger but the performance is not affected. Currently, this feature - only works with EABI compilers. - -endchoice - -config ARM_UNWIND - bool - -config FRAME_POINTER - bool + only works with EABI compilers. If unsure say Y. config OLD_MCOUNT bool diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index a4e08f26687c..7882dbc14fc7 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -1178,7 +1178,7 @@ config LOCKDEP bool depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT select STACKTRACE - select FRAME_POINTER if !MIPS && !PPC && !ARM && !S390 && !MICROBLAZE && !ARC && !X86 + select FRAME_POINTER if !MIPS && !PPC && !ARM_UNWIND && !S390 && !MICROBLAZE && !ARC && !X86 select KALLSYMS select KALLSYMS_ALL @@ -1589,7 +1589,7 @@ config FAULT_INJECTION_STACKTRACE_FILTER depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT depends on !X86_64 select STACKTRACE - select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM && !ARC && !X86 + select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM_UNWIND && !ARC && !X86 help Provide stacktrace filter for fault-injection capabilities @@ -1598,7 +1598,7 @@ config LATENCYTOP depends on DEBUG_KERNEL depends on STACKTRACE_SUPPORT depends on PROC_FS - select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM && !ARC && !X86 + select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM_UNWIND && !ARC && !X86 select KALLSYMS select KALLSYMS_ALL select STACKTRACE