On Fri, 6 Sep 2013, Andi Kleen wrote: > Mark Hills <m...@pogo.org.uk> writes: > > > I have a pre-compiled .so library, which was given to me for profiling. > > > > gdb can see a complete call stack -- both the library and my own code, > > as expected. > > > > But in perf the callgraph for the library is not present. I'm using > > "perf record -g", and the callgraph for the other code is seen. > > > > In what cases could gdb see the stack, but perf cannot? > > No frame pointer. > > Recompile with -fno-omit-frame-pointer > > Or if you have a new enough perf, you can use -g dwarf to enable > dwarf backtracing, but it's very slow and also doesn't handle all > situations gdb handles.
Thank you, much appreciated. A newer perf appears to need a newer kernel too, and it's not practical for me to break away from the RedHat kernel at the moment (currently on 2.6.32-358.14.1.el6) Also I looked to cherry-pick the relevant patches, but it seems this is non-trivial. I'll speak to the author of the library in question but may have to re-visit the dwarf behaviour; omit-frame-pointer may have been used with performance in mind. Thanks -- Mark -- To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html