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: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 7e9551bc
...@@ -217,14 +217,14 @@ event_def: event_pmu | ...@@ -217,14 +217,14 @@ event_def: event_pmu |
event_bpf_file event_bpf_file
event_pmu: event_pmu:
PE_NAME '/' event_config '/' PE_NAME opt_event_config
{ {
struct parse_events_evlist *data = _data; struct parse_events_evlist *data = _data;
struct list_head *list; struct list_head *list;
ALLOC_LIST(list); ALLOC_LIST(list);
ABORT_ON(parse_events_add_pmu(data, list, $1, $3)); ABORT_ON(parse_events_add_pmu(data, list, $1, $2));
parse_events_terms__delete($3); parse_events_terms__delete($2);
$$ = list; $$ = list;
} }
| |
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment