aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2006-03-24 03:16:19 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-24 07:33:25 -0800
commit604bf5a216e7f2d97cdf62614ca1281921531040 (patch)
tree3510302f5ff0ae04940eb79b67cffe6dee561908
parent[PATCH] abstract type/size specification for assembly (diff)
downloadlinux-dev-604bf5a216e7f2d97cdf62614ca1281921531040.tar.xz
linux-dev-604bf5a216e7f2d97cdf62614ca1281921531040.zip
[PATCH] CONFIG_UNWIND_INFO
As a foundation for reliable stack unwinding, this adds a config option (available to all architectures except IA64 and those where the module loader might have problems with the resulting relocations) to enable the generation of frame unwind information. Signed-off-by: Jan Beulich <jbeulich@novell.com> Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Kyle McMartin <kyle@mcmartin.ca> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: Paul Mundt <lethal@linux-sh.org>, Cc: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-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