linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Move -fno-dwarf2-cfi-asm to powerpc only
@ 2009-12-21  1:23 Andi Kleen
  2009-12-21  4:39 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 2+ messages in thread
From: Andi Kleen @ 2009-12-21  1:23 UTC (permalink / raw)
  To: akpm, linux-kernel, linux-arch, kyle, benh, mmarek

Move -fno-dwarf2-cfi-asm to powerpc only

Better dwarf2 unwind information is a good thing, it allows better
debugging with kgdb and crash and helps systemtap.

commit 003086497f07f7f1e67c0c295e261740f822b377 disabled some CFI
information globally to work around a module loader bug on powerpc.

But this disables the better unwind tables for all architectures,
not just powerpc. Move the workaround to powerpc and also 
add a suitable comment that's it really a workaround.

This improves dwarf2 unwind tables on x86 at least.

Cc: kyle@redhat.com
Cc: benh@kernel.crashing.org
Cc: mmarek@suse.cz

Signed-off-by: Andi Kleen <ak@linux.intel.com>

---
 Makefile              |    3 ---
 arch/powerpc/Makefile |    5 +++++
 2 files changed, 5 insertions(+), 3 deletions(-)

Index: linux-2.6.33-rc1-ak/Makefile
===================================================================
--- linux-2.6.33-rc1-ak.orig/Makefile
+++ linux-2.6.33-rc1-ak/Makefile
@@ -570,9 +570,6 @@ KBUILD_CFLAGS += $(call cc-option,-Wno-p
 # disable invalid "can't wrap" optimizations for signed / pointers
 KBUILD_CFLAGS	+= $(call cc-option,-fno-strict-overflow)
 
-# revert to pre-gcc-4.4 behaviour of .eh_frame
-KBUILD_CFLAGS	+= $(call cc-option,-fno-dwarf2-cfi-asm)
-
 # conserve stack if available
 KBUILD_CFLAGS   += $(call cc-option,-fconserve-stack)
 
Index: linux-2.6.33-rc1-ak/arch/powerpc/Makefile
===================================================================
--- linux-2.6.33-rc1-ak.orig/arch/powerpc/Makefile
+++ linux-2.6.33-rc1-ak/arch/powerpc/Makefile
@@ -112,6 +112,11 @@ KBUILD_CFLAGS += $(call cc-option,-mspe=
 # kernel considerably.
 KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time)
 
+# FIXME: the module load should be taught about the additional relocs
+# generated by this.
+# revert to pre-gcc-4.4 behaviour of .eh_frame
+KBUILD_CFLAGS	+= $(call cc-option,-fno-dwarf2-cfi-asm)
+
 # Never use string load/store instructions as they are
 # often slow when they are implemented at all
 KBUILD_CFLAGS		+= -mno-string

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] Move -fno-dwarf2-cfi-asm to powerpc only
  2009-12-21  1:23 [PATCH] Move -fno-dwarf2-cfi-asm to powerpc only Andi Kleen
@ 2009-12-21  4:39 ` Benjamin Herrenschmidt
  0 siblings, 0 replies; 2+ messages in thread
From: Benjamin Herrenschmidt @ 2009-12-21  4:39 UTC (permalink / raw)
  To: Andi Kleen; +Cc: akpm, linux-kernel, linux-arch, kyle, mmarek

On Mon, 2009-12-21 at 02:23 +0100, Andi Kleen wrote:
> Move -fno-dwarf2-cfi-asm to powerpc only
> 
> Better dwarf2 unwind information is a good thing, it allows better
> debugging with kgdb and crash and helps systemtap.
> 
> commit 003086497f07f7f1e67c0c295e261740f822b377 disabled some CFI
> information globally to work around a module loader bug on powerpc.
> 
> But this disables the better unwind tables for all architectures,
> not just powerpc. Move the workaround to powerpc and also 
> add a suitable comment that's it really a workaround.
> 
> This improves dwarf2 unwind tables on x86 at least.

Heh, I don't remember the original problem but yeah, that's definitely
not something to keep in generic Makefiles and in fact we should fix the
problem on the powerpc side. I'll have a look.

Cheers,
Ben.

> Cc: kyle@redhat.com
> Cc: benh@kernel.crashing.org
> Cc: mmarek@suse.cz
> 
> Signed-off-by: Andi Kleen <ak@linux.intel.com>
> 
> ---
>  Makefile              |    3 ---
>  arch/powerpc/Makefile |    5 +++++
>  2 files changed, 5 insertions(+), 3 deletions(-)
> 
> Index: linux-2.6.33-rc1-ak/Makefile
> ===================================================================
> --- linux-2.6.33-rc1-ak.orig/Makefile
> +++ linux-2.6.33-rc1-ak/Makefile
> @@ -570,9 +570,6 @@ KBUILD_CFLAGS += $(call cc-option,-Wno-p
>  # disable invalid "can't wrap" optimizations for signed / pointers
>  KBUILD_CFLAGS	+= $(call cc-option,-fno-strict-overflow)
>  
> -# revert to pre-gcc-4.4 behaviour of .eh_frame
> -KBUILD_CFLAGS	+= $(call cc-option,-fno-dwarf2-cfi-asm)
> -
>  # conserve stack if available
>  KBUILD_CFLAGS   += $(call cc-option,-fconserve-stack)
>  
> Index: linux-2.6.33-rc1-ak/arch/powerpc/Makefile
> ===================================================================
> --- linux-2.6.33-rc1-ak.orig/arch/powerpc/Makefile
> +++ linux-2.6.33-rc1-ak/arch/powerpc/Makefile
> @@ -112,6 +112,11 @@ KBUILD_CFLAGS += $(call cc-option,-mspe=
>  # kernel considerably.
>  KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time)
>  
> +# FIXME: the module load should be taught about the additional relocs
> +# generated by this.
> +# revert to pre-gcc-4.4 behaviour of .eh_frame
> +KBUILD_CFLAGS	+= $(call cc-option,-fno-dwarf2-cfi-asm)
> +
>  # Never use string load/store instructions as they are
>  # often slow when they are implemented at all
>  KBUILD_CFLAGS		+= -mno-string

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-12-21  4:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-21  1:23 [PATCH] Move -fno-dwarf2-cfi-asm to powerpc only Andi Kleen
2009-12-21  4:39 ` Benjamin Herrenschmidt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).