Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

perf tools: Fix error index for pmu event parser

For events we provide specific error message we need to set error column
index, PMU parser is missing that, adding it.

Before:

$ perf stat -e cycles,krava/cycles/ kill
event syntax error: 'cycles,krava/cycles/'
\___ Cannot find PMU `krava'. Missing kernel support?

After:

$ perf stat -e cycles,krava/cycles/ kill
event syntax error: 'cycles,krava/cycles/'
\___ Cannot find PMU `krava'. Missing kernel support?

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <frederic@kernel.org>
Cc: Milian Wolff <milian.wolff@kdab.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/20180606221513.11302-3-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

authored by

Jiri Olsa and committed by
Arnaldo Carvalho de Melo
f7fa827f c9d36628

+5
+5
tools/perf/util/parse-events.y
··· 227 227 event_pmu: 228 228 PE_NAME opt_pmu_config 229 229 { 230 + struct parse_events_state *parse_state = _parse_state; 231 + struct parse_events_error *error = parse_state->error; 230 232 struct list_head *list, *orig_terms, *terms; 231 233 232 234 if (parse_events_copy_term_list($2, &orig_terms)) 233 235 YYABORT; 236 + 237 + if (error) 238 + error->idx = @1.first_column; 234 239 235 240 ALLOC_LIST(list); 236 241 if (parse_events_add_pmu(_parse_state, list, $1, $2, false, false)) {