]> git.karo-electronics.de Git - linux-beck.git/commitdiff
perf tools: Do backtrace post unwind only if we regs and stack were captured
authorJiri Olsa <jolsa@redhat.com>
Mon, 10 Sep 2012 16:50:16 +0000 (18:50 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 11 Sep 2012 15:01:15 +0000 (12:01 -0300)
Bail out without error if we want to do backtrace post unwind, but were
not able to capture user registers or user stack during the record
phase, which is possible and valid case.

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1347295819-23177-2-git-send-email-jolsa@redhat.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/session.c

index 3806ea49f1f7fdcb9dc3faa2f0ef6c56cc7996bf..0ecd62be209193673a35089d87fb759726885d94 100644 (file)
@@ -388,6 +388,11 @@ int machine__resolve_callchain(struct machine *machine,
              (evsel->attr.sample_type & PERF_SAMPLE_STACK_USER)))
                return 0;
 
+       /* Bail out if nothing was captured. */
+       if ((!sample->user_regs.regs) ||
+           (!sample->user_stack.size))
+               return 0;
+
        return unwind__get_entries(unwind_entry, &callchain_cursor, machine,
                                   thread, evsel->attr.sample_regs_user,
                                   sample);