lkml.org 
[lkml]   [2016]   [Sep]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH perf/core 0/4] perf-probe fixes for C++
Date
Hi,

Here is a series of patches for fixing several issues when
probing on C++ binaries.

- Ignore inlined function definition if it has no instance [1/4]
- Skip (inlined/normal) functions which entry address is 0 [2/4]
- Cut off the filename for group name if it includes characters
which can not be used for C symbol name [3/4]
- Search mangled symbol name from debuginfo [4/4]

So, with this series, perf-probe can handle "mangled symbol" or
"method name" as below;
----
$ ./perf probe -x /usr/lib64/libstdc++.so.6 \
-D _ZNKSt15basic_fstreamXXIwSt11char_traitsIwEE7is_openEv
p:probe_libstdc/_ZNKSt15basic_fstreamXXIwSt11char_traitsIwEE7is_openEv
/usr/lib64/libstdc++.so.6.0.22:0x8ca60

$ ./perf probe -x /usr/lib64/libstdc++.so.6 -D is_open
p:probe_libstdc/is_open /usr/lib64/libstdc++.so.6.0.22:0x8ca80
p:probe_libstdc/is_open_1 /usr/lib64/libstdc++.so.6.0.22:0x8ca70
p:probe_libstdc/is_open_2 /usr/lib64/libstdc++.so.6.0.22:0x8ca60
p:probe_libstdc/is_open_3 /usr/lib64/libstdc++.so.6.0.22:0xb0ad0
p:probe_libstdc/is_open_4 /usr/lib64/libstdc++.so.6.0.22:0xecca9
----

Jiri and Thomas, could you try this if you need it?

TODO:
- Support demangled method name(in short), like std::basic_fstream::is_open.

Thank you,

---

Masami Hiramatsu (4):
perf-probe: Ignore the error of finding inline instance
perf-probe: Skip if the function address is 0
perf-probe: Fix to cut off incompatible chars from group name
perf-probe: Match linkage name with mangled name


tools/perf/util/dwarf-aux.c | 28 ++++++++++++++++++++++++++--
tools/perf/util/dwarf-aux.h | 3 +++
tools/perf/util/probe-event.c | 10 +++++++---
tools/perf/util/probe-finder.c | 17 ++++++++++++++---
4 files changed, 50 insertions(+), 8 deletions(-)

--
Masami Hiramatsu

\
 
 \ /
  Last update: 2016-09-23 17:35    [W:0.071 / U:0.444 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site