diff options
author | Jan Beulich <jbeulich@novell.com> | 2006-03-24 06:16:19 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-24 10:33:25 -0500 |
commit | 604bf5a216e7f2d97cdf62614ca1281921531040 (patch) | |
tree | 3510302f5ff0ae04940eb79b67cffe6dee561908 | |
parent | ab7efcc97ebc92e03c0474dfd38f9c7b84b84115 (diff) |
[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-- | Makefile | 4 | ||||
-rw-r--r-- | lib/Kconfig.debug | 11 |
2 files changed, 15 insertions, 0 deletions
@@ -517,6 +517,10 @@ else | |||
517 | CFLAGS += -fomit-frame-pointer | 517 | CFLAGS += -fomit-frame-pointer |
518 | endif | 518 | endif |
519 | 519 | ||
520 | ifdef CONFIG_UNWIND_INFO | ||
521 | CFLAGS += -fasynchronous-unwind-tables | ||
522 | endif | ||
523 | |||
520 | ifdef CONFIG_DEBUG_INFO | 524 | ifdef CONFIG_DEBUG_INFO |
521 | CFLAGS += -g | 525 | CFLAGS += -g |
522 | endif | 526 | 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 | |||
195 | some architectures or if you use external debuggers. | 195 | some architectures or if you use external debuggers. |
196 | If you don't debug the kernel, you can say N. | 196 | If you don't debug the kernel, you can say N. |
197 | 197 | ||
198 | config UNWIND_INFO | ||
199 | bool "Compile the kernel with frame unwind information" | ||
200 | depends on !IA64 | ||
201 | depends on !MODULES || !(MIPS || PARISC || PPC || SUPERH || SPARC64 || V850) | ||
202 | default DEBUG_KERNEL | ||
203 | help | ||
204 | If you say Y here the resulting kernel image will be slightly larger | ||
205 | but not slower, and it will give very useful debugging information. | ||
206 | If you don't debug the kernel, you can say N, but we may not be able | ||
207 | to solve problems without frame unwind information or frame pointers. | ||
208 | |||
198 | config FORCED_INLINING | 209 | config FORCED_INLINING |
199 | bool "Force gcc to inline functions marked 'inline'" | 210 | bool "Force gcc to inline functions marked 'inline'" |
200 | depends on DEBUG_KERNEL | 211 | depends on DEBUG_KERNEL |