[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160925111421.GA11277@krava>
Date: Sun, 25 Sep 2016 13:14:21 +0200
From: Jiri Olsa <jolsa@...hat.com>
To: Masami Hiramatsu <mhiramat@...nel.org>
Cc: Arnaldo Carvalho de Melo <acme@...nel.org>,
linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Namhyung Kim <namhyung@...nel.org>,
David Ahern <dsahern@...il.com>
Subject: Re: [PATCH perf/core 0/4] perf-probe fixes for C++
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@...nel.org>
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
Powered by blists - more mailing lists