summaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung@kernel.org>2017-10-31 11:06:54 +0900
committerArnaldo Carvalho de Melo <acme@redhat.com>2017-11-01 11:44:38 -0300
commit7285cf3325b4a1dfb336d31eebc27dfbc30fb9aa (patch)
treeece6aeb203be9207ae16eb2ffb985fddc42db46d /init
parentb7b75a60b291cc699ca9bb2a8517a1b3b08bbeb1 (diff)
downloadlinux-7285cf3325b4a1dfb336d31eebc27dfbc30fb9aa.tar.gz
linux-7285cf3325b4a1dfb336d31eebc27dfbc30fb9aa.tar.bz2
linux-7285cf3325b4a1dfb336d31eebc27dfbc30fb9aa.zip
perf srcline: Show correct function name for srcline of callchains
When libbfd is not used, it doesn't show proper function name and reuse the original symbol of the sample. That's because it passes the original sym to inline_list__append(). As `addr2line -f` returns function names as well, use that to create an inline_sym and pass it to inline_list__append(). For example, following data shows that inlined entries of main have same name (main). Before: $ perf report -g srcline -q | head 45.22% inlining libm-2.26.so [.] __hypot_finite | ---__hypot_finite ??:0 | |--44.15%--hypot ??:0 | main complex:589 | main complex:597 | main complex:654 | main complex:664 | main inlining.cpp:14 After: $ perf report -g srcline -q | head 45.22% inlining libm-2.26.so [.] __hypot_finite | ---__hypot_finite | |--44.15%--hypot | std::__complex_abs complex:589 (inlined) | std::abs<double> complex:597 (inlined) | std::_Norm_helper<true>::_S_do_it<double> complex:654 (inlined) | std::norm<double> complex:664 (inlined) | main inlining.cpp:14 Signed-off-by: Namhyung Kim <namhyung@kernel.org> Reviewed-by: Jiri Olsa <jolsa@kernel.org> Reviewed-by: Milian Wolff <milian.wolff@kdab.com> Cc: Jin Yao <yao.jin@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: kernel-team@lge.com Link: http://lkml.kernel.org/r/20171031020654.31163-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions