Em Fri, Mar 01, 2019 at 02:29:02PM +0200, Adrian Hunter escreveu: > The message does not indicate the possibility that the symbol is not > found because the file does not exist. > > Before: > > $ perf record -e intel_pt//u --filter 'filter strcmp / strcpy @ foo ' ls > Symbol 'strcmp' not found. > Note that symbols must be functions. > Failed to parse address filter: 'filter strcmp / strcpy @ foo ' > Filter format is: filter|start|stop|tracestop <start symbol or address> [/ > <end symbol or size>] [@<file name>] > Where multiple filters are separated by space or comma. > > After: > > $ perf record -e intel_pt//u --filter 'filter strcmp / strcpy @ foo ' ls > File 'foo' not found or has no symbols. > Symbol 'strcmp' not found. > Note that symbols must be functions. > Failed to parse address filter: 'filter strcmp / strcpy @ foo ' > Filter format is: filter|start|stop|tracestop <start symbol or address> [/ > <end symbol or size>] [@<file name>] > Where multiple filters are separated by space or comma.
Thanks, applied. - Arnaldo > Reported-by: Alexander Shishkin <[email protected]> > Signed-off-by: Adrian Hunter <[email protected]> > --- > tools/perf/util/auxtrace.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c > index 267e54df511b..fb76b6b232d4 100644 > --- a/tools/perf/util/auxtrace.c > +++ b/tools/perf/util/auxtrace.c > @@ -1918,7 +1918,8 @@ static struct dso *load_dso(const char *name) > if (!map) > return NULL; > > - map__load(map); > + if (map__load(map) < 0) > + pr_err("File '%s' not found or has no symbols.\n", name); > > dso = dso__get(map->dso); > > -- > 2.17.1 -- - Arnaldo

