Messages in this thread |  | | | Subject | Re: [PATCH] Move -fno-dwarf2-cfi-asm to powerpc only | | From | Benjamin Herrenschmidt <> | | Date | Mon, 21 Dec 2009 15:39:10 +1100 |
| |
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
|  |