[PATCH 3/3] perf: parse the .debug_frame section in case .eh_frame is not present
Will Deacon
will.deacon at arm.com
Thu Sep 5 08:45:09 EDT 2013
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
More information about the linux-arm-kernel
mailing list