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

thommyj at gmail dot com sourceware-bugzilla@sourceware.org
Fri Feb 17 09:47:00 GMT 2017


https://sourceware.org/bugzilla/show_bug.cgi?id=21174

--- Comment #3 from Thommy Jakobsson <thommyj at gmail dot com> ---
(In reply to Mark Wielaard from comment #1)
> There is no good way to tell. It could happen if the function calls itself
> (although you would expect the pc to be different).

I did check the assembler code for one case, and couldn't find anything
special, no calling of itself (although I didn't really know what to search for
either so I might have missed something =) ). Checking the code for the
specific example I pasted here it seems to be a return address for another
call. See attached file.

> 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

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

BR,
Thommy Jakobsson

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


More information about the Elfutils-devel mailing list