ARM: always use ARM_UNWIND for thumb2 kernels
authorArnd Bergmann <arnd@arndb.de>
Fri, 10 Jun 2011 14:12:21 +0000 (14:12 +0000)
committerArnd Bergmann <arnd@arndb.de>
Sat, 1 Oct 2011 19:08:43 +0000 (21:08 +0200)
Thumb2 kernels cannot be built with frame pointers, but can use the
ARM_UNWIND feature for unwinding instead. This makes sure that all
features that rely on unwinding includeing CONFIG_LATENCYTOP and
FAULT_INJECTION_STACKTRACE_FILTER do not enable frame pointers
when the unwinder is already selected, and we always build with
the unwinder when we want a thumb2 kernel, to make sure we do not
get the frame pointers instead.

A different option would be to redefine the CONFIG_FRAME_POINTERS
option on ARM to mean builing with either frame pointers or
the unwinder, and then select which one to use based on the
CPU architecture or another user option. That would still allow
building thumb2 kernels without the unwinder but would also be
more confusing.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm/Kconfig
lib/Kconfig.debug

index 4e1eee0c2d6482f44b1bfb64793a3eed41a9024c..497af51e9176030978a134a5bdd7ee95c38638a4 100644 (file)
@@ -1457,6 +1457,7 @@ config THUMB2_KERNEL
        depends on CPU_V7 && !CPU_V6 && !CPU_V6K && EXPERIMENTAL
        select AEABI
        select ARM_ASM_UNIFIED
+       select ARM_UNWIND
        help
          By enabling this option, the kernel will be compiled in
          Thumb-2 mode. A compiler/assembler that understand the unified
index c0cb9c4bc46d661ef5f37fda9ac8faa199a1ca23..103c171ce60548f1f38aeffecb6ec3d9e1344ec5 100644 (file)
@@ -1081,7 +1081,7 @@ config FAULT_INJECTION_STACKTRACE_FILTER
        depends on FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT
        depends on !X86_64
        select STACKTRACE
-       select FRAME_POINTER if !PPC && !S390 && !MICROBLAZE
+       select FRAME_POINTER if !PPC && !S390 && !MICROBLAZE && !ARM_UNWIND
        help
          Provide stacktrace filter for fault-injection capabilities
 
@@ -1091,7 +1091,7 @@ config LATENCYTOP
        depends on DEBUG_KERNEL
        depends on STACKTRACE_SUPPORT
        depends on PROC_FS
-       select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE
+       select FRAME_POINTER if !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM_UNWIND
        select KALLSYMS
        select KALLSYMS_ALL
        select STACKTRACE
This page took 0.038302 seconds and 5 git commands to generate.