Hi Will,
On Thu, Sep 5, 2013 at 2:45 PM, Will Deacon <will.dea...@arm.com> wrote: > Hi Jean, > > [adding Michael, since I know he was interested in this] > > On Wed, Sep 04, 2013 at 07:04:14PM +0100, Jean Pihet wrote: >> On ARM the debug info is not present in the .eh_frame sections but >> instead in .debug_frame. >> Use libunwind to load and parse the debug info. > > How have you tested this? Regardless of whether or not I apply this patch, I > get the same (broken/truncated) callchains for userspace in perf report. Here are the commands I have been using: perf record -g dwarf -- <binary to profile> perf report --sort symbol --call-graph --stdio > > E.g. the following stupid program (built with -O0 -g): > > --->8 > > void bar(void) > { > int i; > for (i = 0; i < 1000000; ++i) > asm volatile("nop" ::: "memory"); > } > > void foo(void) > { > bar(); > } > > > int main(void) > { > foo(); > return 0; > } > > 8<--- > > Gives me an incomplete callchain: > > # Overhead Command Shared Object Symbol > # ........ ........ ................. ............................... > # > 0.00% unwindme unwindme [.] bar > | > --- bar I get the following with a simple stupid program with a long call chain: 0.57% stress_bt stress_bt [.] foo_115 | --- foo_115 foo_114 foo_113 ... foo_92 bar doit main __libc_start_main Things to check: - compile the binaries and libraries with -g (-dbg flavor of libs are usually ok), - use -g dwarf in perf record > This is the same with or without your patch. > > Will Thanks for testing! Jean > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-ker...@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/