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

Reply via email to