Re: [PATCH] Move -fno-dwarf2-cfi-asm to powerpc only

From: Benjamin Herrenschmidt
Date: Sun Dec 20 2009 - 23:40:30 EST


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@xxxxxxxxxx
> Cc: benh@xxxxxxxxxxxxxxxxxxx
> Cc: mmarek@xxxxxxx
>
> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> ---
> 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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/