[PATCH 3/3] perf: parse the .debug_frame section in case .eh_frame is not present

Ard Biesheuvel ard.biesheuvel at linaro.org
Thu Sep 5 09:10:51 EDT 2013


On 5 September 2013 14:45, Will Deacon <will.deacon at 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.

Same here: I have applied these patches against 3.11 running on a
Calxeda Highbank, and I never get more than a single entry for the
userland part of the call stack.

>
> E.g. the following stupid program (built with -O0 -g):
>
[...]
>
> Gives me an incomplete callchain:
>
> # Overhead   Command      Shared Object                           Symbol
> # ........  ........  .................  ...............................
> #
>      0.00%  unwindme  unwindme           [.] bar
>             |
>             --- bar
>

I get exactly the same results, just bar and nothing below.

-- 
Ard.



More information about the linux-arm-kernel mailing list