perf tools: Fix parsing of pmu events with empty list of modifiers

In 1d55e8ef ("perf tools: Introduce opt_event_config nonterminal") I
removed the unconditional "'/' '/'" for pmu events such as
"intel_pt//" but forgot to use opt_event_config where it expected some
event_config, oops. Fix it.

Noticed when trying to use:

  # perf record -e intel_pt// -a sleep 1
  event syntax error: 'intel_pt//'
                               \___ parser error
  Run 'perf list' for a list of valid events

   Usage: perf record [<options>] [<command>]
      or: perf record [<options>] -- <command> [<options>]

      -e, --event <event>   event selector. use 'perf list' to list available events
  #

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Fixes: 1d55e8ef ("perf tools: Introduce opt_event_config nonterminal")
Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
上级 7e9551bc
......@@ -217,14 +217,14 @@ event_def: event_pmu |
event_bpf_file
event_pmu:
PE_NAME '/' event_config '/'
PE_NAME opt_event_config
{
struct parse_events_evlist *data = _data;
struct list_head *list;
ALLOC_LIST(list);
ABORT_ON(parse_events_add_pmu(data, list, $1, $3));
parse_events_terms__delete($3);
ABORT_ON(parse_events_add_pmu(data, list, $1, $2));
parse_events_terms__delete($2);
$$ = list;
}
|
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册