Re: CONFIG_UNWIND_INFO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Attached an updated patch, disallowing the option for all architectures that have been determined to potentially have
problems with the resulting relocations. Jan

>>> Andrew Morton <[email protected]> 01.02.06 09:53:24 >>>
"Jan Beulich" <[email protected]> wrote:
>
> >>> Andrew Morton <[email protected]> 02/01/06 9:14 AM >>>
> >Andi Kleen <[email protected]> wrote:
> >>
> >> On Wednesday 01 February 2006 08:51, Andrew Morton wrote:
> >> > Andi Kleen <[email protected]> wrote:
> >> > >
> >> > > On Wednesday 01 February 2006 05:19, you wrote:
> >> > > > Hey Andi,
> >> > > >  What's the deal with this option ? It doesn't seem to be
> >> > > > referenced from any Kconfig, but it shows up in a bunch of places.
> >> > > > 
> >> > > > Your commit had the message..
> >> > > > 
> >> > > > 	As a follow-up to the introduction of CONFIG_UNWIND_INFO, this
> >> > > > 	separates the generation of frame unwind information for x86-64 from
> >> > > > 	that of full debug information.
> >> > > > 
> >> > > > But it appears that the 'introduction' didn't happen :-)
> >> > > 
> >> > > It was stuck in -mm* due to it being enabled in all cases broke
> >> > > ppc64. I guess it'll go in for 2.6.17, but Andrew and Jan should
> >> > > know details.
> >> > 
> >> > Didn't we decide that it was causing the stack to wrap around the 4G
> >> > boundary on powerpc compat tasks?  Something like that.
> >> 
> >> Wasn't that the large stack randomization patch?
> >
> >Oh, yeah, confused.
> >
> >CONFIG_UNWIND_INFO screwed up the module loader.  I think they fixed that -
> >I saw a patch floating about.
> 
> So, any chance to get this in, maybe even for 2.6.16?
> 

Dunno.  You tell me - does it break any other architectures?  I don't know.

If you can identify the problematic code in powerpc and then see if any
other architectures do anything similar then that would give some
confidence.
From: Jan Beulich <[email protected]>

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 <[email protected]>

diff -Npru /home/jbeulich/tmp/linux-2.6.16-rc2/Makefile 2.6.16-rc2-unwind-info/Makefile
--- /home/jbeulich/tmp/linux-2.6.16-rc2/Makefile	2006-02-06 11:01:33.000000000 +0100
+++ 2.6.16-rc2-unwind-info/Makefile	2006-02-06 11:12:17.000000000 +0100
@@ -518,6 +518,10 @@ else
 CFLAGS		+= -fomit-frame-pointer
 endif
 
+ifdef CONFIG_UNWIND_INFO
+CFLAGS		+= -fasynchronous-unwind-tables
+endif
+
 ifdef CONFIG_DEBUG_INFO
 CFLAGS		+= -g
 endif
diff -Npru /home/jbeulich/tmp/linux-2.6.16-rc2/lib/Kconfig.debug 2.6.16-rc2-unwind-info/lib/Kconfig.debug
--- /home/jbeulich/tmp/linux-2.6.16-rc2/lib/Kconfig.debug	2006-02-06 11:02:54.000000000 +0100
+++ 2.6.16-rc2-unwind-info/lib/Kconfig.debug	2006-02-08 14:14:23.000000000 +0100
@@ -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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux