From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Herrenschmidt Subject: Re: [PATCH] Move -fno-dwarf2-cfi-asm to powerpc only Date: Mon, 21 Dec 2009 15:39:10 +1100 Message-ID: <1261370350.2173.124.camel@pasglop> References: <20091221012351.GA24720@basil.fritz.box> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit Return-path: Received: from gate.crashing.org ([63.228.1.57]:39650 "EHLO gate.crashing.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752518AbZLUEkZ (ORCPT ); Sun, 20 Dec 2009 23:40:25 -0500 In-Reply-To: <20091221012351.GA24720@basil.fritz.box> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Andi Kleen Cc: akpm@osdl.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, kyle@redhat.com, mmarek@suse.cz 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 > > --- > 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