Re: [PATCH 3/3] perf: parse the .debug_frame section in case.eh_frame is not present
From: Will Deacon
Date: Thu Sep 05 2013 - 08:45:56 EST
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.
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
This is the same with or without your patch.
Will
--
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/