lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 27 Sep 2016 11:11:41 -0700
From:   Masami Hiramatsu <mhiramat@...nel.org>
To:     Jiri Olsa <jolsa@...hat.com>
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 Sun, 25 Sep 2016 13:14:21 +0200
Jiri Olsa <jolsa@...hat.com> 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@...nel.org>

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@...nel.org>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ