Update:. Starting with kernel 3.7.0, you can determine the parent symbol names in system libraries using perf record -gdwarf <command> .
Using -gdwarf , there is no need to compile with -fno-omit-frame-pointer .
Original answer: Yes, you probably need libc6 compiled with frame pointers ( -fno-omit-framepointer ) to x86_64 at the moment (May 24, 2012).
However, developers are currently working to enable the first tools to use DWARF disable information. This means that frame pointers are no longer needed to get information about backtrace on x86_64. However, Linus does not want to deploy DWARF in the kernel. Thus, performance tools will save registers at system startup and perform DWARF deployment in the perfension userpace tool using the libunwind library.
This method has been tested to successfully identify callers (e.g.) malloc and dynamic_cast . However, the patch set is not yet integrated into the Linux kernel and needs to be further developed until it is ready.
Benri
source share