perf annotate: Add disassembly warnings for annotate --stdio
[linux-2.6-microblaze.git] / tools / perf / util / annotate.c
index cb280de..d43f6b5 100644 (file)
@@ -2789,9 +2789,17 @@ int symbol__tty_annotate2(struct map_symbol *ms, struct evsel *evsel,
        struct rb_root source_line = RB_ROOT;
        struct hists *hists = evsel__hists(evsel);
        char buf[1024];
+       int err;
+
+       err = symbol__annotate2(ms, evsel, opts, NULL);
+       if (err) {
+               char msg[BUFSIZ];
 
-       if (symbol__annotate2(ms, evsel, opts, NULL) < 0)
+               dso->annotate_warned = true;
+               symbol__strerror_disassemble(ms, err, msg, sizeof(msg));
+               ui__error("Couldn't annotate %s:\n%s", sym->name, msg);
                return -1;
+       }
 
        if (opts->print_lines) {
                srcline_full_filename = opts->full_path;
@@ -2815,9 +2823,17 @@ int symbol__tty_annotate(struct map_symbol *ms, struct evsel *evsel,
        struct dso *dso = ms->map->dso;
        struct symbol *sym = ms->sym;
        struct rb_root source_line = RB_ROOT;
+       int err;
+
+       err = symbol__annotate(ms, evsel, opts, NULL);
+       if (err) {
+               char msg[BUFSIZ];
 
-       if (symbol__annotate(ms, evsel, opts, NULL) < 0)
+               dso->annotate_warned = true;
+               symbol__strerror_disassemble(ms, err, msg, sizeof(msg));
+               ui__error("Couldn't annotate %s:\n%s", sym->name, msg);
                return -1;
+       }
 
        symbol__calc_percent(sym, evsel);