Essa é uma pergunta antiga, mas isso agora é possível com --call-graph dwarf
. Na página man:
-g
Enables call-graph (stack chain/backtrace) recording.
--call-graph
Setup and enable call-graph (stack chain/backtrace) recording, implies -g.
Allows specifying "fp" (frame pointer) or "dwarf"
(DWARF's CFI - Call Frame Information) as the method to collect
the information used to show the call graphs.
In some systems, where binaries are build with gcc
--fomit-frame-pointer, using the "fp" method will produce bogus
call graphs, using "dwarf", if available (perf tools linked to
the libunwind library) should be used instead.
Eu acredito que isso requer um kernel Linux recente (> = 3,9? Eu não tenho certeza). Você pode verificar se o pacote perf da distro está vinculado à libdw ou libunwind com readelf -d $(which perf) | grep -e libdw -e libunwind
. No Fedora 20, o perf está ligado à libdw.