Re: [PATCH perf/core 0/4] perf-probe fixes for C++

From: Masami Hiramatsu
Date: Tue Sep 27 2016 - 14:12:08 EST


On Sun, 25 Sep 2016 13:14:21 +0200
Jiri Olsa <jolsa@xxxxxxxxxx> wrote:

> On Sat, Sep 24, 2016 at 12:34:47AM +0900, Masami Hiramatsu wrote:
> > 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?
>
> tried examples from changelogs and it works for me
>
> Tested-by: Jiri Olsa <jolsa@xxxxxxxxxx>

Thanks Jiri!



>
> thanks,
> jirka
>
> >
> > 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


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>