summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--lib/Kconfig.debug11
2 files changed, 15 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index cb5790580fca..14781f36e327 100644
--- a/Makefile
+++ b/Makefile
@@ -517,6 +517,10 @@ else
CFLAGS += -fomit-frame-pointer
endif
+ifdef CONFIG_UNWIND_INFO
+CFLAGS += -fasynchronous-unwind-tables
+endif
+
ifdef CONFIG_DEBUG_INFO
CFLAGS += -g
endif
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index a314e663d517..f2618e1c2b93 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -195,6 +195,17 @@ config FRAME_POINTER
some architectures or if you use external debuggers.
If you don't debug the kernel, you can say N.
+config UNWIND_INFO
+ bool "Compile the kernel with frame unwind information"
+ depends on !IA64
+ depends on !MODULES || !(MIPS || PARISC || PPC || SUPERH || SPARC64 || V850)
+ default DEBUG_KERNEL
+ help
+ If you say Y here the resulting kernel image will be slightly larger
+ but not slower, and it will give very useful debugging information.
+ If you don't debug the kernel, you can say N, but we may not be able
+ to solve problems without frame unwind information or frame pointers.
+
config FORCED_INLINING
bool "Force gcc to inline functions marked 'inline'"
depends on DEBUG_KERNEL