mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 08:44:21 +08:00
perf annotate: Add disassembly warnings for annotate --stdio
Currently 'perf annotate --stdio' (and --stdio2) will exit without printing anything if there are disassembly errors. Apply the same error handler that's used for TUI and GTK modes. This makes comparing disassembly across the different modes more consistent. Signed-off-by: James Clark <james.clark@arm.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: John Garry <john.garry@huawei.com> Cc: Leo Yan <leo.yan@linaro.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Mathieu Poirier <mathieu.poirier@linaro.org> Cc: Mike Leach <mike.leach@linaro.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Suzuki Poulouse <suzuki.poulose@arm.com> Cc: Will Deacon <will@kernel.org> Cc: coresight@lists.linaro.org Cc: linux-arm-kernel@lists.infradead.org Link: http://lore.kernel.org/lkml/20210729155805.2830-4-james.clark@arm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
3d8b92472a
commit
243c3a3eb4
@ -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;
|
||||
|
||||
if (symbol__annotate2(ms, evsel, opts, NULL) < 0)
|
||||
err = symbol__annotate2(ms, evsel, opts, NULL);
|
||||
if (err) {
|
||||
char msg[BUFSIZ];
|
||||
|
||||
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;
|
||||
|
||||
if (symbol__annotate(ms, evsel, opts, NULL) < 0)
|
||||
err = symbol__annotate(ms, evsel, opts, NULL);
|
||||
if (err) {
|
||||
char msg[BUFSIZ];
|
||||
|
||||
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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user