[Bug libdw/21174] libdw with perf: duplication of entries in callstack

mark at klomp dot org sourceware-bugzilla@sourceware.org
Fri Feb 17 10:16:00 GMT 2017


--- Comment #5 from Mark Wielaard <mark at klomp dot org> ---
(In reply to Thommy Jakobsson from comment #3)
> (In reply to Mark Wielaard from comment #1)
> > How does perf call the libdw getframe function?
> The actual call looks like this
> err = dwfl_getthread_frames(ui.dwfl, thread->tid, frame_callback, &ui);
> but I assume that you want some specific information? The entire wrapper
> around libdw can be found here
> http://lxr.free-electrons.com/source/tools/perf/util/unwind-libdw.c?v=4.4

Maybe you can debug by triggering the pr_debug () to show what libdwfl returned
and compare it with how perf then prints out the struct ui that should hold the
same addresses to know which part of the code the duplicated address comes

> > What does the CFI look like at that address?
> How can I find this out? dwarfdump?

eu-readelf --debug-dump=frame /usr/local/bin/Application
and look for the program covering initial_location and address range that
covers the address.

You are receiving this mail because:
You are on the CC list for the bug.

More information about the Elfutils-devel mailing list