aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/probe-event.c
diff options
context:
space:
mode:
authorMasami Hiramatsu <mhiramat@redhat.com>2010-04-21 15:56:24 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2010-04-26 14:32:37 -0400
commit15eca306ec95e164d05457f9f27c722f69af6d18 (patch)
tree2a5a40956d5927202fedc983a51dcee1e5028f25 /tools/perf/util/probe-event.c
parent0ab061cd523a7f2dbf1b59aab0542cb0ab2e4633 (diff)
perf probe: Fix to use symtab only if no debuginfo
Fix perf probe to use symtab only if there is no debuginfo, because debuginfo has more information than symtab. If we can't find a function in debuginfo, we never find it in symtab. Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com> Reported-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Mike Galbraith <efault@gmx.de> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> LKML-Reference: <20100421195624.24664.46214.stgit@localhost6.localdomain6> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/probe-event.c')
-rw-r--r--tools/perf/util/probe-event.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index 4fb480367c3e..5d3baec216e3 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -180,15 +180,16 @@ static int try_to_find_kprobe_trace_events(struct perf_probe_event *pev,
180 return -ENOENT; 180 return -ENOENT;
181 } 181 }
182 /* Error path : ntevs < 0 */ 182 /* Error path : ntevs < 0 */
183 if (need_dwarf) { 183 pr_debug("An error occurred in debuginfo analysis (%d).\n", ntevs);
184 if (ntevs == -EBADF) 184 if (ntevs == -EBADF) {
185 pr_warning("No dwarf info found in the vmlinux - " 185 pr_warning("Warning: No dwarf info found in the vmlinux - "
186 "please rebuild with CONFIG_DEBUG_INFO=y.\n"); 186 "please rebuild kernel with CONFIG_DEBUG_INFO=y.\n");
187 return ntevs; 187 if (!need_dwarf) {
188 pr_debug("Trying to use symbols.\nn");
189 return 0;
190 }
188 } 191 }
189 pr_debug("An error occurred in debuginfo analysis." 192 return ntevs;
190 " Try to use symbols.\n");
191 return 0;
192} 193}
193 194
194#define LINEBUF_SIZE 256 195#define LINEBUF_SIZE 256