Message ID | 201002022240.o12Me3aI018845@imap1.linux-foundation.org (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On Tue, 2010-02-02 at 14:40 -0800, akpm@linux-foundation.org wrote: > From: Andi Kleen <andi@firstfloor.org> > > Better dwarf2 unwind information is a good thing, it allows better > debugging with kgdb and crash and helps systemtap. > > Commit 003086497f07f7f1e67c0c295e261740f822b377 ("Build with > -fno-dwarf2-cfi-asm") 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. > > Signed-off-by: Andi Kleen <ak@linux.intel.com> > Cc: Kyle McMartin <kyle@mcmartin.ca> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Do you want me to carry that in powerpc-next ? Cheers, Ben. > Cc: Michal Marek <mmarek@suse.cz> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org> > --- > > Makefile | 3 --- > arch/powerpc/Makefile | 5 +++++ > 2 files changed, 5 insertions(+), 3 deletions(-) > > diff -puN Makefile~kbuild-move-fno-dwarf2-cfi-asm-to-powerpc-only Makefile > --- a/Makefile~kbuild-move-fno-dwarf2-cfi-asm-to-powerpc-only > +++ a/Makefile > @@ -579,9 +579,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) > > diff -puN arch/powerpc/Makefile~kbuild-move-fno-dwarf2-cfi-asm-to-powerpc-only arch/powerpc/Makefile > --- a/arch/powerpc/Makefile~kbuild-move-fno-dwarf2-cfi-asm-to-powerpc-only > +++ a/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 > _
On 4.2.2010 00:22, Benjamin Herrenschmidt wrote: > On Tue, 2010-02-02 at 14:40 -0800, akpm@linux-foundation.org wrote: >> From: Andi Kleen <andi@firstfloor.org> >> >> Better dwarf2 unwind information is a good thing, it allows better >> debugging with kgdb and crash and helps systemtap. >> >> Commit 003086497f07f7f1e67c0c295e261740f822b377 ("Build with >> -fno-dwarf2-cfi-asm") 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. >> >> Signed-off-by: Andi Kleen <ak@linux.intel.com> >> Cc: Kyle McMartin <kyle@mcmartin.ca> > > Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> > > Do you want me to carry that in powerpc-next ? I can add it to kbuild-next. Changes to the top-level Makefile usually go through kbuild, so it will avoid potential conflicts. Michal
diff -puN Makefile~kbuild-move-fno-dwarf2-cfi-asm-to-powerpc-only Makefile --- a/Makefile~kbuild-move-fno-dwarf2-cfi-asm-to-powerpc-only +++ a/Makefile @@ -579,9 +579,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) diff -puN arch/powerpc/Makefile~kbuild-move-fno-dwarf2-cfi-asm-to-powerpc-only arch/powerpc/Makefile --- a/arch/powerpc/Makefile~kbuild-move-fno-dwarf2-cfi-asm-to-powerpc-only +++ a/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