[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240605140453.614862-1-clement.legoffic@foss.st.com>
Date: Wed, 5 Jun 2024 16:04:53 +0200
From: Clément Le Goffic <clement.legoffic@...s.st.com>
To: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Namhyung Kim
<namhyung@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander
Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>, Ian Rogers <irogers@...gle.com>,
Adrian Hunter <adrian.hunter@...el.com>,
"Liang, Kan" <kan.liang@...ux.intel.com>,
John Garry
<john.g.garry@...cle.com>,
James Clark <james.clark@....com>
CC: Clément Le Goffic <clement.legoffic@...s.st.com>,
<linux-perf-users@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: [RFC PATCH] perf: parse-events: Fix compilation error while defining DEBUG_PARSER
Compiling perf tool with 'DEBUG_PARSER=1' leads to errors:
$> make -C tools/perf PARSER_DEBUG=1 NO_LIBTRACEEVENT=1
...
CC util/expr-flex.o
CC util/expr.o
util/parse-events.c:33:12: error: redundant redeclaration of ‘parse_events_debug’ [-Werror=redundant-decls]
33 | extern int parse_events_debug;
| ^~~~~~~~~~~~~~~~~~
In file included from util/parse-events.c:18:
util/parse-events-bison.h:43:12: note: previous declaration of ‘parse_events_debug’ with type ‘int’
43 | extern int parse_events_debug;
| ^~~~~~~~~~~~~~~~~~
util/expr.c:27:12: error: redundant redeclaration of ‘expr_debug’ [-Werror=redundant-decls]
27 | extern int expr_debug;
| ^~~~~~~~~~
In file included from util/expr.c:11:
util/expr-bison.h:43:12: note: previous declaration of ‘expr_debug’ with type ‘int’
43 | extern int expr_debug;
| ^~~~~~~~~~
cc-1: all warnings being treated as errors
Remove extern declaration from the parse-envents.c file as there is a
conflict with the ones generated using bison and yacc tools from the file
parse-events.[ly].
Signed-off-by: Clément Le Goffic <clement.legoffic@...s.st.com>
---
I don't know how bison and yacc work together.
To me if those symbols are already generated (I don't know how), we
should get rid of them in the source file `parse-events.c`.
For my knowledge, if someone has the explanation of how they are
generated, I am interested as I didn't find any link to some part of
parse-events.[yl] files.
To: Peter Zijlstra <peterz@...radead.org>
To: Ingo Molnar <mingo@...hat.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Namhyung Kim <namhyung@...nel.org>
To: Mark Rutland <mark.rutland@....com>
To: Alexander Shishkin <alexander.shishkin@...ux.intel.com>
To: Jiri Olsa <jolsa@...nel.org>
To: Ian Rogers <irogers@...gle.com>
To: Adrian Hunter <adrian.hunter@...el.com>
To: "Liang, Kan" <kan.liang@...ux.intel.com>
To: John Garry <john.g.garry@...cle.com>
To: James Clark <james.clark@....com>
Cc: linux-perf-users@...r.kernel.org
Cc: linux-kernel@...r.kernel.org
---
tools/perf/util/expr.c | 4 ----
tools/perf/util/parse-events.c | 3 ---
2 files changed, 7 deletions(-)
diff --git a/tools/perf/util/expr.c b/tools/perf/util/expr.c
index b8875aac8f87..b2536a59c44e 100644
--- a/tools/perf/util/expr.c
+++ b/tools/perf/util/expr.c
@@ -25,10 +25,6 @@
#include <math.h>
#include "pmu.h"
-#ifdef PARSER_DEBUG
-extern int expr_debug;
-#endif
-
struct expr_id_data {
union {
struct {
diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
index 6ed0f9c5581d..8d5fb05f20c2 100644
--- a/tools/perf/util/parse-events.c
+++ b/tools/perf/util/parse-events.c
@@ -31,9 +31,6 @@
#define MAX_NAME_LEN 100
-#ifdef PARSER_DEBUG
-extern int parse_events_debug;
-#endif
static int get_config_terms(const struct parse_events_terms *head_config,
struct list_head *head_terms);
static int parse_events_terms__copy(const struct parse_events_terms *src,
base-commit: c3f38fa61af77b49866b006939479069cd451173
--
2.34.1
Powered by blists - more mailing lists