Since commit 6db6127c4dad ("perf report: Treat an argument as a symbol
filter"), the only one unrecognized argument for perf-report is treated
as a symbol filter. This is not described in man page nor help info,
and the result is really confusing, especially when it's misspecified by
the user (e.g. missing -i for perf.data).

As we can use "--symbol-filter=" if we really want to filter a symbol,
it may be better to revert this misfeature.

Signed-off-by: Wei Li <liwei...@huawei.com>
---
 tools/perf/builtin-report.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 3c74c9c0f3c3..f57ebc1bcd20 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -1317,13 +1317,9 @@ int cmd_report(int argc, const char **argv)
        argc = parse_options(argc, argv, options, report_usage, 0);
        if (argc) {
                /*
-                * Special case: if there's an argument left then assume that
-                * it's a symbol filter:
+                * Any (unrecognized) arguments left?
                 */
-               if (argc > 1)
-                       usage_with_options(report_usage, options);
-
-               report.symbol_filter_str = argv[0];
+               usage_with_options(report_usage, options);
        }
 
        if (annotate_check_args(&report.annotation_opts) < 0)
-- 
2.17.1

Reply via email to