linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH perf/core 0/4] perf-probe fixes for C++
@ 2016-09-23 15:34 Masami Hiramatsu
  2016-09-23 15:34 ` [PATCH perf/core 1/4] perf-probe: Ignore the error of finding inline instance Masami Hiramatsu
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Masami Hiramatsu @ 2016-09-23 15:34 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Masami Hiramatsu, linux-kernel, Thomas Gleixner, Jiri Olsa,
	Peter Zijlstra, Ingo Molnar, Namhyung Kim, David Ahern

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

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-09-29 18:21 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-23 15:34 [PATCH perf/core 0/4] perf-probe fixes for C++ Masami Hiramatsu
2016-09-23 15:34 ` [PATCH perf/core 1/4] perf-probe: Ignore the error of finding inline instance Masami Hiramatsu
2016-09-29 18:19   ` [tip:perf/core] perf probe: " tip-bot for Masami Hiramatsu
2016-09-23 15:35 ` [PATCH perf/core 2/4] perf-probe: Skip if the function address is 0 Masami Hiramatsu
2016-09-29 18:19   ` [tip:perf/core] perf probe: " tip-bot for Masami Hiramatsu
2016-09-23 15:35 ` [PATCH perf/core 3/4] perf-probe: Fix to cut off incompatible chars from group name Masami Hiramatsu
2016-09-29 18:20   ` [tip:perf/core] perf probe: " tip-bot for Masami Hiramatsu
2016-09-23 15:35 ` [PATCH perf/core 4/4] perf-probe: Match linkage name with mangled name Masami Hiramatsu
2016-09-29 18:20   ` [tip:perf/core] perf probe: " tip-bot for Masami Hiramatsu
2016-09-25 11:14 ` [PATCH perf/core 0/4] perf-probe fixes for C++ Jiri Olsa
2016-09-27 18:11   ` Masami Hiramatsu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).