Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bb109acc authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

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
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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;
}
|