linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings
@ 2020-06-19  4:33 Ian Rogers
  2020-06-19  4:33 ` [PATCH v2 01/10] perf parse-events: Use automatic variable for flex input Ian Rogers
                   ` (11 more replies)
  0 siblings, 12 replies; 15+ messages in thread
From: Ian Rogers @ 2020-06-19  4:33 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Andi Kleen, Jin Yao, John Garry, Adrian Hunter, linux-kernel
  Cc: Stephane Eranian, Ian Rogers

All C compiler warnings are disabled are disabled by -w. This change
removes the -w from flex and bison targets. To avoid implicit
declarations header files are declared as targets and included.

Tested with GCC 9.3.0 and clang 9.0.1.

v2. predicates disabling the warnings on more recent bison and flex
    versions (3.5.3 and 2.6.4 respectively). An alternative would be
    to disabled a large number of warnings to cover the warnings
    generated in older distributions:
  flex_flags := -Wno-switch-enum -Wno-switch-default -Wno-unused-function \
    -Wno-redundant-decls -Wno-sign-compare -Wno-unused-parameter \
    -Wno-missing-prototypes -Wno-misleading-indentation
  bison_flags := -DYYENABLE_NLS=0 -Wno-unused-parameter -Wno-nested-externs \
    -Wno-implicit-function-declaration -Wno-switch-enum

Previously posted as a single change:
https://lore.kernel.org/lkml/20200609234344.3795-2-irogers@google.com/

Ian Rogers (10):
  perf parse-events: Use automatic variable for flex input
  perf parse-events: Use automatic variable for yacc input
  perf pmu: Add bison debug build flag
  perf pmu: Add flex debug build flag
  perf parse-events: Declare flex header file output
  perf parse-events: Declare bison header file output
  perf parse-events: Disable a subset of flex warnings
  perf expr: Avoid implicit lex function declaration
  perf parse-events: Avoid implicit lex function declaration
  perf parse-events: Disable a subset of bison warnings

 tools/perf/util/Build          | 62 +++++++++++++++++++++++-----------
 tools/perf/util/expr.y         |  2 ++
 tools/perf/util/parse-events.y |  1 +
 3 files changed, 46 insertions(+), 19 deletions(-)

-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH v2 01/10] perf parse-events: Use automatic variable for flex input
  2020-06-19  4:33 [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Ian Rogers
@ 2020-06-19  4:33 ` Ian Rogers
  2020-06-19  4:33 ` [PATCH v2 02/10] perf parse-events: Use automatic variable for yacc input Ian Rogers
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Ian Rogers @ 2020-06-19  4:33 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Andi Kleen, Jin Yao, John Garry, Adrian Hunter, linux-kernel
  Cc: Stephane Eranian, Ian Rogers

This reduces the command line size slightly.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/util/Build | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index 8d18380ecd10..66cf009f78d8 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -193,7 +193,7 @@ CFLAGS_genelf_debug.o  += -Wno-packed
 
 $(OUTPUT)util/parse-events-flex.c: util/parse-events.l $(OUTPUT)util/parse-events-bison.c
 	$(call rule_mkdir)
-	$(Q)$(call echo-cmd,flex)$(FLEX) -o $@ --header-file=$(OUTPUT)util/parse-events-flex.h $(PARSER_DEBUG_FLEX) util/parse-events.l
+	$(Q)$(call echo-cmd,flex)$(FLEX) -o $@ --header-file=$(OUTPUT)util/parse-events-flex.h $(PARSER_DEBUG_FLEX) $<
 
 $(OUTPUT)util/parse-events-bison.c: util/parse-events.y
 	$(call rule_mkdir)
@@ -201,7 +201,7 @@ $(OUTPUT)util/parse-events-bison.c: util/parse-events.y
 
 $(OUTPUT)util/expr-flex.c: util/expr.l $(OUTPUT)util/expr-bison.c
 	$(call rule_mkdir)
-	$(Q)$(call echo-cmd,flex)$(FLEX) -o $@ --header-file=$(OUTPUT)util/expr-flex.h $(PARSER_DEBUG_FLEX) util/expr.l
+	$(Q)$(call echo-cmd,flex)$(FLEX) -o $@ --header-file=$(OUTPUT)util/expr-flex.h $(PARSER_DEBUG_FLEX) $<
 
 $(OUTPUT)util/expr-bison.c: util/expr.y
 	$(call rule_mkdir)
@@ -209,7 +209,7 @@ $(OUTPUT)util/expr-bison.c: util/expr.y
 
 $(OUTPUT)util/pmu-flex.c: util/pmu.l $(OUTPUT)util/pmu-bison.c
 	$(call rule_mkdir)
-	$(Q)$(call echo-cmd,flex)$(FLEX) -o $@ --header-file=$(OUTPUT)util/pmu-flex.h util/pmu.l
+	$(Q)$(call echo-cmd,flex)$(FLEX) -o $@ --header-file=$(OUTPUT)util/pmu-flex.h $<
 
 $(OUTPUT)util/pmu-bison.c: util/pmu.y
 	$(call rule_mkdir)
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 02/10] perf parse-events: Use automatic variable for yacc input
  2020-06-19  4:33 [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Ian Rogers
  2020-06-19  4:33 ` [PATCH v2 01/10] perf parse-events: Use automatic variable for flex input Ian Rogers
@ 2020-06-19  4:33 ` Ian Rogers
  2020-06-19  4:33 ` [PATCH v2 03/10] perf pmu: Add bison debug build flag Ian Rogers
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Ian Rogers @ 2020-06-19  4:33 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Andi Kleen, Jin Yao, John Garry, Adrian Hunter, linux-kernel
  Cc: Stephane Eranian, Ian Rogers

This reduces the command line size slightly.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/util/Build | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index 66cf009f78d8..4e1aa52d75a8 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -197,7 +197,7 @@ $(OUTPUT)util/parse-events-flex.c: util/parse-events.l $(OUTPUT)util/parse-event
 
 $(OUTPUT)util/parse-events-bison.c: util/parse-events.y
 	$(call rule_mkdir)
-	$(Q)$(call echo-cmd,bison)$(BISON) -v util/parse-events.y -d $(PARSER_DEBUG_BISON) -o $@ -p parse_events_
+	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) -o $@ -p parse_events_
 
 $(OUTPUT)util/expr-flex.c: util/expr.l $(OUTPUT)util/expr-bison.c
 	$(call rule_mkdir)
@@ -205,7 +205,7 @@ $(OUTPUT)util/expr-flex.c: util/expr.l $(OUTPUT)util/expr-bison.c
 
 $(OUTPUT)util/expr-bison.c: util/expr.y
 	$(call rule_mkdir)
-	$(Q)$(call echo-cmd,bison)$(BISON) -v util/expr.y -d $(PARSER_DEBUG_BISON) -o $@ -p expr_
+	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) -o $@ -p expr_
 
 $(OUTPUT)util/pmu-flex.c: util/pmu.l $(OUTPUT)util/pmu-bison.c
 	$(call rule_mkdir)
@@ -213,7 +213,7 @@ $(OUTPUT)util/pmu-flex.c: util/pmu.l $(OUTPUT)util/pmu-bison.c
 
 $(OUTPUT)util/pmu-bison.c: util/pmu.y
 	$(call rule_mkdir)
-	$(Q)$(call echo-cmd,bison)$(BISON) -v util/pmu.y -d -o $@ -p perf_pmu_
+	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d -o $@ -p perf_pmu_
 
 CFLAGS_parse-events-flex.o  += -w
 CFLAGS_pmu-flex.o           += -w
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 03/10] perf pmu: Add bison debug build flag
  2020-06-19  4:33 [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Ian Rogers
  2020-06-19  4:33 ` [PATCH v2 01/10] perf parse-events: Use automatic variable for flex input Ian Rogers
  2020-06-19  4:33 ` [PATCH v2 02/10] perf parse-events: Use automatic variable for yacc input Ian Rogers
@ 2020-06-19  4:33 ` Ian Rogers
  2020-06-19  4:33 ` [PATCH v2 04/10] perf pmu: Add flex " Ian Rogers
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Ian Rogers @ 2020-06-19  4:33 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Andi Kleen, Jin Yao, John Garry, Adrian Hunter, linux-kernel
  Cc: Stephane Eranian, Ian Rogers

Allow pmu parser to be debugged as the parse-events and expr currently are.
Enabling this requires the C code to set perf_pmu_debug.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/util/Build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index 4e1aa52d75a8..3ae4adc8e966 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -213,7 +213,7 @@ $(OUTPUT)util/pmu-flex.c: util/pmu.l $(OUTPUT)util/pmu-bison.c
 
 $(OUTPUT)util/pmu-bison.c: util/pmu.y
 	$(call rule_mkdir)
-	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d -o $@ -p perf_pmu_
+	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) -o $@ -p perf_pmu_
 
 CFLAGS_parse-events-flex.o  += -w
 CFLAGS_pmu-flex.o           += -w
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 04/10] perf pmu: Add flex debug build flag
  2020-06-19  4:33 [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Ian Rogers
                   ` (2 preceding siblings ...)
  2020-06-19  4:33 ` [PATCH v2 03/10] perf pmu: Add bison debug build flag Ian Rogers
@ 2020-06-19  4:33 ` Ian Rogers
  2020-06-19  4:33 ` [PATCH v2 05/10] perf parse-events: Declare flex header file output Ian Rogers
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Ian Rogers @ 2020-06-19  4:33 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Andi Kleen, Jin Yao, John Garry, Adrian Hunter, linux-kernel
  Cc: Stephane Eranian, Ian Rogers

Allow pmu parser's flex to be debugged as the parse-events and
expr currently are. Enabling this requires the C code to call
perf_pmu__flex_debug.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/util/Build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index 3ae4adc8e966..e63bfc46d50f 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -209,7 +209,7 @@ $(OUTPUT)util/expr-bison.c: util/expr.y
 
 $(OUTPUT)util/pmu-flex.c: util/pmu.l $(OUTPUT)util/pmu-bison.c
 	$(call rule_mkdir)
-	$(Q)$(call echo-cmd,flex)$(FLEX) -o $@ --header-file=$(OUTPUT)util/pmu-flex.h $<
+	$(Q)$(call echo-cmd,flex)$(FLEX) -o $@ --header-file=$(OUTPUT)util/pmu-flex.h $(PARSER_DEBUG_FLEX) $<
 
 $(OUTPUT)util/pmu-bison.c: util/pmu.y
 	$(call rule_mkdir)
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 05/10] perf parse-events: Declare flex header file output
  2020-06-19  4:33 [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Ian Rogers
                   ` (3 preceding siblings ...)
  2020-06-19  4:33 ` [PATCH v2 04/10] perf pmu: Add flex " Ian Rogers
@ 2020-06-19  4:33 ` Ian Rogers
  2020-06-19  4:33 ` [PATCH v2 06/10] perf parse-events: Declare bison " Ian Rogers
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Ian Rogers @ 2020-06-19  4:33 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Andi Kleen, Jin Yao, John Garry, Adrian Hunter, linux-kernel
  Cc: Stephane Eranian, Ian Rogers

Declare flex header file output so that bison C files can depend upon
them. As there are multiple output targets $@ is replaced by the target
name.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/util/Build | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index e63bfc46d50f..55c78ac53f04 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -191,25 +191,28 @@ CFLAGS_llvm-utils.o += -DPERF_INCLUDE_DIR="BUILD_STR($(perf_include_dir_SQ))"
 # avoid compiler warnings in 32-bit mode
 CFLAGS_genelf_debug.o  += -Wno-packed
 
-$(OUTPUT)util/parse-events-flex.c: util/parse-events.l $(OUTPUT)util/parse-events-bison.c
+$(OUTPUT)util/parse-events-flex.c $(OUTPUT)util/parse-events-flex.h: util/parse-events.l $(OUTPUT)util/parse-events-bison.c
 	$(call rule_mkdir)
-	$(Q)$(call echo-cmd,flex)$(FLEX) -o $@ --header-file=$(OUTPUT)util/parse-events-flex.h $(PARSER_DEBUG_FLEX) $<
+	$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/parse-events-flex.c \
+		--header-file=$(OUTPUT)util/parse-events-flex.h $(PARSER_DEBUG_FLEX) $<
 
 $(OUTPUT)util/parse-events-bison.c: util/parse-events.y
 	$(call rule_mkdir)
 	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) -o $@ -p parse_events_
 
-$(OUTPUT)util/expr-flex.c: util/expr.l $(OUTPUT)util/expr-bison.c
+$(OUTPUT)util/expr-flex.c $(OUTPUT)util/expr-flex.h: util/expr.l $(OUTPUT)util/expr-bison.c
 	$(call rule_mkdir)
-	$(Q)$(call echo-cmd,flex)$(FLEX) -o $@ --header-file=$(OUTPUT)util/expr-flex.h $(PARSER_DEBUG_FLEX) $<
+	$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/expr-flex.c \
+		--header-file=$(OUTPUT)util/expr-flex.h $(PARSER_DEBUG_FLEX) $<
 
 $(OUTPUT)util/expr-bison.c: util/expr.y
 	$(call rule_mkdir)
 	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) -o $@ -p expr_
 
-$(OUTPUT)util/pmu-flex.c: util/pmu.l $(OUTPUT)util/pmu-bison.c
+$(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-flex.h: util/pmu.l $(OUTPUT)util/pmu-bison.c
 	$(call rule_mkdir)
-	$(Q)$(call echo-cmd,flex)$(FLEX) -o $@ --header-file=$(OUTPUT)util/pmu-flex.h $(PARSER_DEBUG_FLEX) $<
+	$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/pmu-flex.c \
+		--header-file=$(OUTPUT)util/pmu-flex.h $(PARSER_DEBUG_FLEX) $<
 
 $(OUTPUT)util/pmu-bison.c: util/pmu.y
 	$(call rule_mkdir)
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 06/10] perf parse-events: Declare bison header file output
  2020-06-19  4:33 [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Ian Rogers
                   ` (4 preceding siblings ...)
  2020-06-19  4:33 ` [PATCH v2 05/10] perf parse-events: Declare flex header file output Ian Rogers
@ 2020-06-19  4:33 ` Ian Rogers
  2020-06-19  4:33 ` [PATCH v2 07/10] perf parse-events: Disable a subset of flex warnings Ian Rogers
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Ian Rogers @ 2020-06-19  4:33 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Andi Kleen, Jin Yao, John Garry, Adrian Hunter, linux-kernel
  Cc: Stephane Eranian, Ian Rogers

Declare bison header file output so that C files can depend upon
them. As there are multiple output targets $@ is replaced by the
target name.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/util/Build | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index 55c78ac53f04..504a6bb991ba 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -196,27 +196,30 @@ $(OUTPUT)util/parse-events-flex.c $(OUTPUT)util/parse-events-flex.h: util/parse-
 	$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/parse-events-flex.c \
 		--header-file=$(OUTPUT)util/parse-events-flex.h $(PARSER_DEBUG_FLEX) $<
 
-$(OUTPUT)util/parse-events-bison.c: util/parse-events.y
+$(OUTPUT)util/parse-events-bison.c $(OUTPUT)util/parse-events-bison.h: util/parse-events.y
 	$(call rule_mkdir)
-	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) -o $@ -p parse_events_
+	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) \
+		-o $(OUTPUT)util/parse-events-bison.c -p parse_events_
 
 $(OUTPUT)util/expr-flex.c $(OUTPUT)util/expr-flex.h: util/expr.l $(OUTPUT)util/expr-bison.c
 	$(call rule_mkdir)
 	$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/expr-flex.c \
 		--header-file=$(OUTPUT)util/expr-flex.h $(PARSER_DEBUG_FLEX) $<
 
-$(OUTPUT)util/expr-bison.c: util/expr.y
+$(OUTPUT)util/expr-bison.c $(OUTPUT)util/expr-bison.h: util/expr.y
 	$(call rule_mkdir)
-	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) -o $@ -p expr_
+	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) \
+		-o $(OUTPUT)util/expr-bison.c -p expr_
 
 $(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-flex.h: util/pmu.l $(OUTPUT)util/pmu-bison.c
 	$(call rule_mkdir)
 	$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/pmu-flex.c \
 		--header-file=$(OUTPUT)util/pmu-flex.h $(PARSER_DEBUG_FLEX) $<
 
-$(OUTPUT)util/pmu-bison.c: util/pmu.y
+$(OUTPUT)util/pmu-bison.c $(OUTPUT)util/pmu-bison.h: util/pmu.y
 	$(call rule_mkdir)
-	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) -o $@ -p perf_pmu_
+	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) \
+		-o $(OUTPUT)util/pmu-bison.c -p perf_pmu_
 
 CFLAGS_parse-events-flex.o  += -w
 CFLAGS_pmu-flex.o           += -w
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 07/10] perf parse-events: Disable a subset of flex warnings
  2020-06-19  4:33 [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Ian Rogers
                   ` (5 preceding siblings ...)
  2020-06-19  4:33 ` [PATCH v2 06/10] perf parse-events: Declare bison " Ian Rogers
@ 2020-06-19  4:33 ` Ian Rogers
  2020-06-19  4:33 ` [PATCH v2 08/10] perf expr: Avoid implicit lex function declaration Ian Rogers
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Ian Rogers @ 2020-06-19  4:33 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Andi Kleen, Jin Yao, John Garry, Adrian Hunter, linux-kernel
  Cc: Stephane Eranian, Ian Rogers

Rather than disable all warnings with -w, disable specific warnings.
Predicate enabling the warnings on more recent flex versions.
Tested with GCC 9.3.0 and clang 9.0.1.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/util/Build | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index 504a6bb991ba..53383bd6f4e2 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -221,9 +221,15 @@ $(OUTPUT)util/pmu-bison.c $(OUTPUT)util/pmu-bison.h: util/pmu.y
 	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) \
 		-o $(OUTPUT)util/pmu-bison.c -p perf_pmu_
 
-CFLAGS_parse-events-flex.o  += -w
-CFLAGS_pmu-flex.o           += -w
-CFLAGS_expr-flex.o          += -w
+FLEX_GE_264 := $(shell expr $(shell $(FLEX) --version | sed -e  's/flex \([0-9]\+\).\([0-9]\+\).\([0-9]\+\)/\1\2\3/g') \>\= 264)
+ifeq ($(FLEX_GE_264),1)
+  flex_flags := -Wno-switch-enum -Wno-switch-default -Wno-unused-function -Wno-redundant-decls
+else
+  flex_flags := -w
+endif
+CFLAGS_parse-events-flex.o  += $(flex_flags)
+CFLAGS_pmu-flex.o           += $(flex_flags)
+CFLAGS_expr-flex.o          += $(flex_flags)
 CFLAGS_parse-events-bison.o += -DYYENABLE_NLS=0 -w
 CFLAGS_pmu-bison.o          += -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -w
 CFLAGS_expr-bison.o         += -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -w
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 08/10] perf expr: Avoid implicit lex function declaration
  2020-06-19  4:33 [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Ian Rogers
                   ` (6 preceding siblings ...)
  2020-06-19  4:33 ` [PATCH v2 07/10] perf parse-events: Disable a subset of flex warnings Ian Rogers
@ 2020-06-19  4:33 ` Ian Rogers
  2020-06-19  4:33 ` [PATCH v2 09/10] perf parse-events: " Ian Rogers
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Ian Rogers @ 2020-06-19  4:33 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Andi Kleen, Jin Yao, John Garry, Adrian Hunter, linux-kernel
  Cc: Stephane Eranian, Ian Rogers

Add include and a dependency.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/util/Build  | 2 ++
 tools/perf/util/expr.y | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index 53383bd6f4e2..43a9ae712544 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -211,6 +211,8 @@ $(OUTPUT)util/expr-bison.c $(OUTPUT)util/expr-bison.h: util/expr.y
 	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) \
 		-o $(OUTPUT)util/expr-bison.c -p expr_
 
+$(OUTPUT)util/expr-bison.o: $(OUTPUT)util/expr-flex.h
+
 $(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-flex.h: util/pmu.l $(OUTPUT)util/pmu-bison.c
 	$(call rule_mkdir)
 	$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/pmu-flex.c \
diff --git a/tools/perf/util/expr.y b/tools/perf/util/expr.y
index bf3e898e3055..f34a5e544a41 100644
--- a/tools/perf/util/expr.y
+++ b/tools/perf/util/expr.y
@@ -39,6 +39,8 @@
 %type <num> expr if_expr
 
 %{
+#include "expr-flex.h"
+
 static void expr_error(double *final_val __maybe_unused,
 		       struct expr_parse_ctx *ctx __maybe_unused,
 		       void *scanner,
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 09/10] perf parse-events: Avoid implicit lex function declaration
  2020-06-19  4:33 [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Ian Rogers
                   ` (7 preceding siblings ...)
  2020-06-19  4:33 ` [PATCH v2 08/10] perf expr: Avoid implicit lex function declaration Ian Rogers
@ 2020-06-19  4:33 ` Ian Rogers
  2020-06-19  4:33 ` [PATCH v2 10/10] perf parse-events: Disable a subset of bison warnings Ian Rogers
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Ian Rogers @ 2020-06-19  4:33 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Andi Kleen, Jin Yao, John Garry, Adrian Hunter, linux-kernel
  Cc: Stephane Eranian, Ian Rogers

Add include and a dependency.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/util/Build          | 2 ++
 tools/perf/util/parse-events.y | 1 +
 2 files changed, 3 insertions(+)

diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index 43a9ae712544..935ba132614c 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -201,6 +201,8 @@ $(OUTPUT)util/parse-events-bison.c $(OUTPUT)util/parse-events-bison.h: util/pars
 	$(Q)$(call echo-cmd,bison)$(BISON) -v $< -d $(PARSER_DEBUG_BISON) \
 		-o $(OUTPUT)util/parse-events-bison.c -p parse_events_
 
+$(OUTPUT)util/parse-events-bison.o: $(OUTPUT)util/parse-events-flex.h
+
 $(OUTPUT)util/expr-flex.c $(OUTPUT)util/expr-flex.h: util/expr.l $(OUTPUT)util/expr-bison.c
 	$(call rule_mkdir)
 	$(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/expr-flex.c \
diff --git a/tools/perf/util/parse-events.y b/tools/perf/util/parse-events.y
index acef87d9af58..ae0aa47dbafb 100644
--- a/tools/perf/util/parse-events.y
+++ b/tools/perf/util/parse-events.y
@@ -17,6 +17,7 @@
 #include "evsel.h"
 #include "parse-events.h"
 #include "parse-events-bison.h"
+#include "parse-events-flex.h"
 
 void parse_events_error(YYLTYPE *loc, void *parse_state, void *scanner, char const *msg);
 
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 10/10] perf parse-events: Disable a subset of bison warnings
  2020-06-19  4:33 [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Ian Rogers
                   ` (8 preceding siblings ...)
  2020-06-19  4:33 ` [PATCH v2 09/10] perf parse-events: " Ian Rogers
@ 2020-06-19  4:33 ` Ian Rogers
  2020-06-19 11:50 ` [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Arnaldo Carvalho de Melo
  2020-06-19 12:15 ` Arnaldo Carvalho de Melo
  11 siblings, 0 replies; 15+ messages in thread
From: Ian Rogers @ 2020-06-19  4:33 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
	Andi Kleen, Jin Yao, John Garry, Adrian Hunter, linux-kernel
  Cc: Stephane Eranian, Ian Rogers

Rather than disable all warnings with -w, disable specific warnings.
Predicate enabling the warnings on a recent version of bison.
Tested with GCC 9.3.0 and clang 9.0.1.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/util/Build | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index 935ba132614c..c1692076469c 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -234,9 +234,17 @@ endif
 CFLAGS_parse-events-flex.o  += $(flex_flags)
 CFLAGS_pmu-flex.o           += $(flex_flags)
 CFLAGS_expr-flex.o          += $(flex_flags)
-CFLAGS_parse-events-bison.o += -DYYENABLE_NLS=0 -w
-CFLAGS_pmu-bison.o          += -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -w
-CFLAGS_expr-bison.o         += -DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=0 -w
+
+bison_flags := -DYYENABLE_NLS=0
+BISON_GE_353 := $(shell expr $(shell $(BISON) --version | grep bison | sed -e 's/.\+ \([0-9]\+\).\([0-9]\+\).\([0-9]\+\)/\1\2\3/g') \>\= 353)
+ifeq ($(BISON_GE_353),1)
+  bison_flags += -Wno-unused-parameter -Wno-nested-externs -Wno-error=implicit-function-declaration
+else
+  bison_flags += -w
+endif
+CFLAGS_parse-events-bison.o += $(bison_flags)
+CFLAGS_pmu-bison.o          += -DYYLTYPE_IS_TRIVIAL=0 $(bison_flags)
+CFLAGS_expr-bison.o         += -DYYLTYPE_IS_TRIVIAL=0 $(bison_flags)
 
 $(OUTPUT)util/parse-events.o: $(OUTPUT)util/parse-events-flex.c $(OUTPUT)util/parse-events-bison.c
 $(OUTPUT)util/pmu.o: $(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-bison.c
-- 
2.27.0.111.gc72c7da667-goog


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings
  2020-06-19  4:33 [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Ian Rogers
                   ` (9 preceding siblings ...)
  2020-06-19  4:33 ` [PATCH v2 10/10] perf parse-events: Disable a subset of bison warnings Ian Rogers
@ 2020-06-19 11:50 ` Arnaldo Carvalho de Melo
  2020-06-19 12:15 ` Arnaldo Carvalho de Melo
  11 siblings, 0 replies; 15+ messages in thread
From: Arnaldo Carvalho de Melo @ 2020-06-19 11:50 UTC (permalink / raw)
  To: Ian Rogers
  Cc: Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin,
	Jiri Olsa, Namhyung Kim, Andi Kleen, Jin Yao, John Garry,
	Adrian Hunter, linux-kernel, Stephane Eranian

Em Thu, Jun 18, 2020 at 09:33:46PM -0700, Ian Rogers escreveu:
> All C compiler warnings are disabled are disabled by -w. This change
> removes the -w from flex and bison targets. To avoid implicit
> declarations header files are declared as targets and included.
> 
> Tested with GCC 9.3.0 and clang 9.0.1.
> 
> v2. predicates disabling the warnings on more recent bison and flex
>     versions (3.5.3 and 2.6.4 respectively). An alternative would be
>     to disabled a large number of warnings to cover the warnings
>     generated in older distributions:
>   flex_flags := -Wno-switch-enum -Wno-switch-default -Wno-unused-function \
>     -Wno-redundant-decls -Wno-sign-compare -Wno-unused-parameter \
>     -Wno-missing-prototypes -Wno-misleading-indentation
>   bison_flags := -DYYENABLE_NLS=0 -Wno-unused-parameter -Wno-nested-externs \
>     -Wno-implicit-function-declaration -Wno-switch-enum
> 
> Previously posted as a single change:
> https://lore.kernel.org/lkml/20200609234344.3795-2-irogers@google.com/

So for the parts that you kept unchanged since Jiri acked it, please
next time collect that Acked-by, ok?

Going thru this now.

- Arnaldo
 
> Ian Rogers (10):
>   perf parse-events: Use automatic variable for flex input
>   perf parse-events: Use automatic variable for yacc input
>   perf pmu: Add bison debug build flag
>   perf pmu: Add flex debug build flag
>   perf parse-events: Declare flex header file output
>   perf parse-events: Declare bison header file output
>   perf parse-events: Disable a subset of flex warnings
>   perf expr: Avoid implicit lex function declaration
>   perf parse-events: Avoid implicit lex function declaration
>   perf parse-events: Disable a subset of bison warnings
> 
>  tools/perf/util/Build          | 62 +++++++++++++++++++++++-----------
>  tools/perf/util/expr.y         |  2 ++
>  tools/perf/util/parse-events.y |  1 +
>  3 files changed, 46 insertions(+), 19 deletions(-)
> 
> -- 
> 2.27.0.111.gc72c7da667-goog
> 

-- 

- Arnaldo

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings
  2020-06-19  4:33 [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Ian Rogers
                   ` (10 preceding siblings ...)
  2020-06-19 11:50 ` [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Arnaldo Carvalho de Melo
@ 2020-06-19 12:15 ` Arnaldo Carvalho de Melo
  2020-06-19 12:20   ` Arnaldo Carvalho de Melo
  11 siblings, 1 reply; 15+ messages in thread
From: Arnaldo Carvalho de Melo @ 2020-06-19 12:15 UTC (permalink / raw)
  To: Ian Rogers
  Cc: Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin,
	Jiri Olsa, Namhyung Kim, Andi Kleen, Jin Yao, John Garry,
	Adrian Hunter, linux-kernel, Stephane Eranian

Em Thu, Jun 18, 2020 at 09:33:46PM -0700, Ian Rogers escreveu:
> All C compiler warnings are disabled are disabled by -w. This change
> removes the -w from flex and bison targets. To avoid implicit
> declarations header files are declared as targets and included.
> 
> Tested with GCC 9.3.0 and clang 9.0.1.
> 
> v2. predicates disabling the warnings on more recent bison and flex
>     versions (3.5.3 and 2.6.4 respectively). An alternative would be
>     to disabled a large number of warnings to cover the warnings
>     generated in older distributions:
>   flex_flags := -Wno-switch-enum -Wno-switch-default -Wno-unused-function \
>     -Wno-redundant-decls -Wno-sign-compare -Wno-unused-parameter \
>     -Wno-missing-prototypes -Wno-misleading-indentation
>   bison_flags := -DYYENABLE_NLS=0 -Wno-unused-parameter -Wno-nested-externs \
>     -Wno-implicit-function-declaration -Wno-switch-enum

So, it is failing with older versions of alpine Linux, but then at
alpine 3.8 I noticed that the problem is happening only when building
with this following set of options, and when building with gcc, building
with clang, i.e. adding CC=clang to the following make command line
works.

+ make 'ARCH=' 'CROSS_COMPILE=' 'EXTRA_CFLAGS=' 'LIBCLANGLLVM=1' -C /git/linux/tools/perf 'O=/tmp/build/perf'
make: Entering directory '/git/linux/tools/perf'
  BUILD:   Doing 'make -j8' parallel build
  HOSTCC   /tmp/build/perf/fixdep.o
  HOSTLD   /tmp/build/perf/fixdep-in.o
  LINK     /tmp/build/perf/fixdep

Auto-detecting system features:
...                         dwarf: [ OFF ]
...            dwarf_getlocations: [ OFF ]
...                         glibc: [ OFF ]
...                          gtk2: [ on  ]
...                        libbfd: [ on  ]
...                        libcap: [ on  ]
...                        libelf: [ on  ]
...                       libnuma: [ OFF ]
...        numa_num_possible_cpus: [ OFF ]
...                       libperl: [ on  ]
...                     libpython: [ on  ]
...                     libcrypto: [ on  ]
...                     libunwind: [ on  ]
...            libdw-dwarf-unwind: [ OFF ]
...                          zlib: [ on  ]
...                          lzma: [ on  ]
...                     get_cpuid: [ on  ]
...                           bpf: [ on  ]
...                        libaio: [ on  ]
...                       libzstd: [ on  ]
...        disassembler-four-args: [ on  ]

Makefile.config:409: No libdw DWARF unwind found, Please install elfutils-devel/libdw-dev >= 0.158 and/or set LIBDW_DIR
Makefile.config:414: No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev
Makefile.config:485: gelf_getnote() not found on libelf, SDT support disabled
Makefile.config:528: DWARF support is off, BPF prologue is disabled
Makefile.config:536: No sys/sdt.h found, no SDT events are defined, please install systemtap-sdt-devel or systemtap-sdt-dev
Makefile.config:890: No numa.h found, disables 'perf bench numa mem' benchmark, please install numactl-devel/libnuma-devel/libnuma-dev
Makefile.config:945: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev
Makefile.config:971: No alternatives command found, you need to set JDIR= to point to the root of your Java directory
Makefile.config:1008: No suitable libclang found, disabling builtin clang and LLVM support. Please install libclang-dev(el) (>= 3.9.0)
  GEN      /tmp/build/perf/common-cmds.h
sort: unrecognized option: V
BusyBox v1.28.4 (2018-12-31 18:05:13 UTC) multi-call binary.
  PERF_VERSION = 5.7.g6f01af8176af

Usage: sort [-nrugMcszbdfiokt] [-o FILE] [-k start[.offset][opts][,end[.offset][opts]] [-t CHAR] [FILE]...

Sort lines of text

	-o FILE	Output to FILE
	-c	Check whether input is sorted
	-b	Ignore leading blanks
	-f	Ignore case
	-i	Ignore unprintable characters
	-d	Dictionary order (blank or alphanumeric only)
	-g	General numerical sort
	-M	Sort month
	-n	Sort numbers
	-t CHAR	Field separator
	-k N[,M] Sort by Nth field
	-r	Reverse sort order
	-s	Stable (don't sort ties alphabetically)
	-u	Suppress duplicate lines
	-z	Lines are terminated by NUL, not newline
  CC       /tmp/build/perf/exec-cmd.o
  CC       /tmp/build/perf/event-parse.o
  MKDIR    /tmp/build/perf/fd/
  CC       /tmp/build/perf/fd/array.o
  GEN      /tmp/build/perf/bpf_helper_defs.h
  CC       /tmp/build/perf/event-plugin.o
  CC       /tmp/build/perf/core.o
  LD       /tmp/build/perf/fd/libapi-in.o
  MKDIR    /tmp/build/perf/fs/
  CC       /tmp/build/perf/fs/fs.o
  CC       /tmp/build/perf/cpumap.o
  CC       /tmp/build/perf/trace-seq.o
  CC       /tmp/build/perf/threadmap.o
  CC       /tmp/build/perf/help.o
  MKDIR    /tmp/build/perf/staticobjs/
  CC       /tmp/build/perf/staticobjs/libbpf.o
  MKDIR    /tmp/build/perf/staticobjs/
  CC       /tmp/build/perf/staticobjs/bpf.o
  CC       /tmp/build/perf/cpu.o
  CC       /tmp/build/perf/parse-filter.o
  CC       /tmp/build/perf/evsel.o
  CC       /tmp/build/perf/evlist.o
  CC       /tmp/build/perf/pager.o
  CC       /tmp/build/perf/parse-options.o
  CC       /tmp/build/perf/parse-utils.o
  CC       /tmp/build/perf/mmap.o
  CC       /tmp/build/perf/kbuffer-parse.o
  CC       /tmp/build/perf/zalloc.o
  CC       /tmp/build/perf/tep_strerror.o
  CC       /tmp/build/perf/xyarray.o
  CC       /tmp/build/perf/event-parse-api.o
  CC       /tmp/build/perf/run-command.o
  CC       /tmp/build/perf/sigchain.o
  LD       /tmp/build/perf/libtraceevent-in.o
  LINK     /tmp/build/perf/libtraceevent.a
  MKDIR    /tmp/build/perf/fs/
  CC       /tmp/build/perf/fs/tracing_path.o
  CC       /tmp/build/perf/debug.o
  CC       /tmp/build/perf/str_error_r.o
  CC       /tmp/build/perf/fs/cgroup.o
  CC       /tmp/build/perf/subcmd-config.o
  CC       /tmp/build/perf/lib.o
  CC       /tmp/build/perf/staticobjs/nlattr.o
  CC       /tmp/build/perf/staticobjs/btf.o
  CC       /tmp/build/perf/staticobjs/libbpf_errno.o
  LD       /tmp/build/perf/fs/libapi-in.o
  CC       /tmp/build/perf/staticobjs/str_error.o
  CC       /tmp/build/perf/staticobjs/netlink.o
  LD       /tmp/build/perf/libapi-in.o
  AR       /tmp/build/perf/libapi.a
  CC       /tmp/build/perf/staticobjs/bpf_prog_linfo.o
  LD       /tmp/build/perf/libperf-in.o
  AR       /tmp/build/perf/libperf.a
  CC       /tmp/build/perf/staticobjs/libbpf_probes.o
  CC       /tmp/build/perf/staticobjs/xsk.o
  LD       /tmp/build/perf/libsubcmd-in.o
  CC       /tmp/build/perf/staticobjs/hashmap.o
  AR       /tmp/build/perf/libsubcmd.a
  CC       /tmp/build/perf/staticobjs/btf_dump.o
  CC       /tmp/build/perf/staticobjs/ringbuf.o
  MKDIR    /tmp/build/perf/pmu-events/
  GEN      perf-archive
  HOSTCC   /tmp/build/perf/pmu-events/json.o
  GEN      perf-with-kcore
  MKDIR    /tmp/build/perf/ui/gtk/
  MKDIR    /tmp/build/perf/pmu-events/
  CC       /tmp/build/perf/ui/gtk/browser.o
  HOSTCC   /tmp/build/perf/pmu-events/jsmn.o
  HOSTCC   /tmp/build/perf/pmu-events/jevents.o
  CC       /tmp/build/perf/plugin_jbd2.o
  CC       /tmp/build/perf/plugin_hrtimer.o
  CC       /tmp/build/perf/plugin_kmem.o
  CC       /tmp/build/perf/plugin_kvm.o
  LD       /tmp/build/perf/plugin_hrtimer-in.o
  LD       /tmp/build/perf/plugin_jbd2-in.o
  LD       /tmp/build/perf/plugin_kmem-in.o
  CC       /tmp/build/perf/plugin_mac80211.o
  CC       /tmp/build/perf/plugin_sched_switch.o
  CC       /tmp/build/perf/plugin_function.o
  LD       /tmp/build/perf/plugin_kvm-in.o
  LD       /tmp/build/perf/plugin_mac80211-in.o
  MKDIR    /tmp/build/perf/ui/gtk/
  CC       /tmp/build/perf/plugin_xen.o
  CC       /tmp/build/perf/ui/gtk/hists.o
  LD       /tmp/build/perf/plugin_sched_switch-in.o
  LD       /tmp/build/perf/staticobjs/libbpf-in.o
  LD       /tmp/build/perf/plugin_xen-in.o
  LINK     /tmp/build/perf/libbpf.a
  CC       /tmp/build/perf/plugin_scsi.o
  LD       /tmp/build/perf/plugin_function-in.o
  CC       /tmp/build/perf/plugin_cfg80211.o
  HOSTLD   /tmp/build/perf/pmu-events/jevents-in.o
  CC       /tmp/build/perf/ui/gtk/setup.o
  LINK     /tmp/build/perf/plugin_jbd2.so
  LINK     /tmp/build/perf/pmu-events/jevents
  GEN      /tmp/build/perf/pmu-events/pmu-events.c
  LINK     /tmp/build/perf/plugin_hrtimer.so
  LD       /tmp/build/perf/plugin_cfg80211-in.o
  LD       /tmp/build/perf/plugin_scsi-in.o
  LINK     /tmp/build/perf/plugin_kmem.so
  LINK     /tmp/build/perf/plugin_kvm.so
  CC       /tmp/build/perf/ui/gtk/util.o
  LINK     /tmp/build/perf/plugin_mac80211.so
  LINK     /tmp/build/perf/plugin_sched_switch.so
  LINK     /tmp/build/perf/plugin_function.so
  LINK     /tmp/build/perf/plugin_xen.so
  LINK     /tmp/build/perf/plugin_scsi.so
  LINK     /tmp/build/perf/plugin_cfg80211.so
  CC       /tmp/build/perf/ui/gtk/helpline.o
  GEN      /tmp/build/perf/libtraceevent-dynamic-list
  GEN      /tmp/build/perf/python/perf.so
  CC       /tmp/build/perf/ui/gtk/progress.o
  CC       /tmp/build/perf/pmu-events/pmu-events.o
  CC       /tmp/build/perf/ui/gtk/annotate.o
  CC       /tmp/build/perf/builtin-bench.o
  CC       /tmp/build/perf/ui/gtk/zalloc.o
  CC       /tmp/build/perf/builtin-annotate.o
  CC       /tmp/build/perf/builtin-config.o
  CC       /tmp/build/perf/builtin-diff.o
  CC       /tmp/build/perf/builtin-evlist.o
  CC       /tmp/build/perf/builtin-ftrace.o
  CC       /tmp/build/perf/builtin-help.o
  CC       /tmp/build/perf/builtin-sched.o
  CC       /tmp/build/perf/builtin-buildid-list.o
  LD       /tmp/build/perf/pmu-events/pmu-events-in.o
  LD       /tmp/build/perf/ui/gtk/gtk-in.o
  CC       /tmp/build/perf/builtin-buildid-cache.o
  CC       /tmp/build/perf/builtin-kallsyms.o
  CC       /tmp/build/perf/builtin-list.o
  CC       /tmp/build/perf/builtin-record.o
  CC       /tmp/build/perf/builtin-report.o
  LD       /tmp/build/perf/gtk-in.o
  LINK     /tmp/build/perf/libperf-gtk.so
  CC       /tmp/build/perf/builtin-stat.o
  CC       /tmp/build/perf/builtin-timechart.o
  CC       /tmp/build/perf/builtin-top.o
  CC       /tmp/build/perf/builtin-script.o
  CC       /tmp/build/perf/builtin-kmem.o
  CC       /tmp/build/perf/builtin-lock.o
  CC       /tmp/build/perf/builtin-kvm.o
  CC       /tmp/build/perf/builtin-inject.o
  CC       /tmp/build/perf/builtin-mem.o
  CC       /tmp/build/perf/builtin-data.o
  CC       /tmp/build/perf/builtin-version.o
  CC       /tmp/build/perf/builtin-c2c.o
  CC       /tmp/build/perf/builtin-trace.o
  CC       /tmp/build/perf/builtin-probe.o
  MKDIR    /tmp/build/perf/bench/
  CC       /tmp/build/perf/bench/sched-messaging.o
  MKDIR    /tmp/build/perf/tests/
  CC       /tmp/build/perf/tests/builtin-test.o
  MKDIR    /tmp/build/perf/bench/
  CC       /tmp/build/perf/bench/sched-pipe.o
  MKDIR    /tmp/build/perf/util/
  CC       /tmp/build/perf/util/annotate.o
  CC       /tmp/build/perf/bench/mem-functions.o
  CC       /tmp/build/perf/arch/common.o
  MKDIR    /tmp/build/perf/tests/
  MKDIR    /tmp/build/perf/arch/x86/util/
  CC       /tmp/build/perf/arch/x86/util/header.o
  CC       /tmp/build/perf/bench/futex-hash.o
  CC       /tmp/build/perf/tests/parse-events.o
  CC       /tmp/build/perf/bench/futex-wake.o
  MKDIR    /tmp/build/perf/arch/x86/util/
  CC       /tmp/build/perf/arch/x86/util/tsc.o
  CC       /tmp/build/perf/arch/x86/util/pmu.o
  CC       /tmp/build/perf/arch/x86/util/kvm-stat.o
  CC       /tmp/build/perf/bench/futex-wake-parallel.o
  CC       /tmp/build/perf/arch/x86/util/perf_regs.o
  CC       /tmp/build/perf/bench/futex-requeue.o
  CC       /tmp/build/perf/bench/futex-lock-pi.o
  CC       /tmp/build/perf/arch/x86/util/group.o
  CC       /tmp/build/perf/arch/x86/util/machine.o
  CC       /tmp/build/perf/arch/x86/util/event.o
  CC       /tmp/build/perf/arch/x86/util/unwind-libunwind.o
  CC       /tmp/build/perf/arch/x86/util/auxtrace.o
  CC       /tmp/build/perf/bench/epoll-wait.o
  MKDIR    /tmp/build/perf/arch/x86/tests/
  CC       /tmp/build/perf/arch/x86/tests/regs_load.o
  MKDIR    /tmp/build/perf/util/
  CC       /tmp/build/perf/util/block-info.o
  MKDIR    /tmp/build/perf/arch/x86/tests/
  CC       /tmp/build/perf/arch/x86/tests/dwarf-unwind.o
  CC       /tmp/build/perf/arch/x86/util/archinsn.o
  CC       /tmp/build/perf/arch/x86/tests/arch-tests.o
  CC       /tmp/build/perf/bench/epoll-ctl.o
  CC       /tmp/build/perf/arch/x86/tests/rdpmc.o
  CC       /tmp/build/perf/tests/dso-data.o
  CC       /tmp/build/perf/arch/x86/util/intel-pt.o
  CC       /tmp/build/perf/arch/x86/tests/perf-time-to-tsc.o
  CC       /tmp/build/perf/bench/synthesize.o
  CC       /tmp/build/perf/util/block-range.o
  CC       /tmp/build/perf/bench/kallsyms-parse.o
  CC       /tmp/build/perf/arch/x86/tests/insn-x86.o
  CC       /tmp/build/perf/util/build-id.o
  CC       /tmp/build/perf/util/cacheline.o
  CC       /tmp/build/perf/bench/mem-memcpy-x86-64-lib.o
  CC       /tmp/build/perf/tests/attr.o
  CC       /tmp/build/perf/bench/mem-memcpy-x86-64-asm.o
  CC       /tmp/build/perf/bench/mem-memset-x86-64-asm.o
  CC       /tmp/build/perf/util/config.o
  CC       /tmp/build/perf/arch/x86/util/intel-bts.o
  LD       /tmp/build/perf/bench/perf-in.o
  CC       /tmp/build/perf/arch/x86/tests/intel-pt-pkt-decoder-test.o
  CC       /tmp/build/perf/ui/setup.o
  CC       /tmp/build/perf/tests/vmlinux-kallsyms.o
  CC       /tmp/build/perf/arch/x86/tests/bp-modify.o
  CC       /tmp/build/perf/ui/helpline.o
  LD       /tmp/build/perf/arch/x86/util/perf-in.o
  CC       /tmp/build/perf/ui/progress.o
  CC       /tmp/build/perf/tests/openat-syscall.o
  LD       /tmp/build/perf/arch/x86/tests/perf-in.o
  CC       /tmp/build/perf/tests/openat-syscall-all-cpus.o
  LD       /tmp/build/perf/arch/x86/perf-in.o
  LD       /tmp/build/perf/arch/perf-in.o
  CC       /tmp/build/perf/tests/openat-syscall-tp-fields.o
  CC       /tmp/build/perf/ui/util.o
  CC       /tmp/build/perf/ui/hist.o
  CC       /tmp/build/perf/util/copyfile.o
  CC       /tmp/build/perf/tests/mmap-basic.o
  MKDIR    /tmp/build/perf/ui/stdio/
  CC       /tmp/build/perf/ui/stdio/hist.o
  CC       /tmp/build/perf/tests/perf-record.o
  CC       /tmp/build/perf/util/ctype.o
  CC       /tmp/build/perf/util/db-export.o
  CC       /tmp/build/perf/tests/evsel-roundtrip-name.o
  CC       /tmp/build/perf/tests/evsel-tp-sched.o
  MKDIR    /tmp/build/perf/scripts/perl/Perf-Trace-Util/
  CC       /tmp/build/perf/scripts/perl/Perf-Trace-Util/Context.o
  CC       /tmp/build/perf/tests/fdarray.o
  CC       /tmp/build/perf/tests/pmu.o
  CC       /tmp/build/perf/tests/pmu-events.o
  CC       /tmp/build/perf/tests/hists_common.o
  CC       /tmp/build/perf/tests/hists_link.o
  LD       /tmp/build/perf/scripts/perl/Perf-Trace-Util/perf-in.o
  MKDIR    /tmp/build/perf/scripts/python/Perf-Trace-Util/
  CC       /tmp/build/perf/ui/browser.o
  CC       /tmp/build/perf/scripts/python/Perf-Trace-Util/Context.o
  CC       /tmp/build/perf/tests/hists_filter.o
  CC       /tmp/build/perf/util/env.o
  CC       /tmp/build/perf/tests/hists_output.o
  CC       /tmp/build/perf/tests/hists_cumulate.o
  LD       /tmp/build/perf/scripts/python/Perf-Trace-Util/perf-in.o
  LD       /tmp/build/perf/scripts/perf-in.o
  CC       /tmp/build/perf/trace/beauty/clone.o
  CC       /tmp/build/perf/perf.o
  CC       /tmp/build/perf/trace/beauty/fcntl.o
  MKDIR    /tmp/build/perf/ui/browsers/
  CC       /tmp/build/perf/ui/browsers/annotate.o
  CC       /tmp/build/perf/util/event.o
  CC       /tmp/build/perf/tests/python-use.o
  CC       /tmp/build/perf/trace/beauty/flock.o
  CC       /tmp/build/perf/trace/beauty/fsmount.o
  CC       /tmp/build/perf/trace/beauty/fspick.o
  CC       /tmp/build/perf/trace/beauty/ioctl.o
  CC       /tmp/build/perf/trace/beauty/kcmp.o
  CC       /tmp/build/perf/tests/bp_signal.o
  CC       /tmp/build/perf/tests/bp_signal_overflow.o
  CC       /tmp/build/perf/trace/beauty/mount_flags.o
  CC       /tmp/build/perf/trace/beauty/move_mount.o
  CC       /tmp/build/perf/trace/beauty/pkey_alloc.o
  CC       /tmp/build/perf/trace/beauty/arch_prctl.o
  CC       /tmp/build/perf/trace/beauty/prctl.o
  CC       /tmp/build/perf/tests/bp_account.o
  CC       /tmp/build/perf/trace/beauty/renameat.o
  CC       /tmp/build/perf/tests/wp.o
  CC       /tmp/build/perf/tests/task-exit.o
  CC       /tmp/build/perf/util/evlist.o
  CC       /tmp/build/perf/trace/beauty/sockaddr.o
  CC       /tmp/build/perf/trace/beauty/socket.o
  CC       /tmp/build/perf/trace/beauty/statx.o
  CC       /tmp/build/perf/trace/beauty/sync_file_range.o
  CC       /tmp/build/perf/util/sideband_evlist.o
  MKDIR    /tmp/build/perf/ui/browsers/
  CC       /tmp/build/perf/ui/browsers/hists.o
  CC       /tmp/build/perf/ui/browsers/map.o
  MKDIR    /tmp/build/perf/trace/beauty/tracepoints/
  CC       /tmp/build/perf/trace/beauty/tracepoints/x86_irq_vectors.o
  MKDIR    /tmp/build/perf/trace/beauty/tracepoints/
  CC       /tmp/build/perf/trace/beauty/tracepoints/x86_msr.o
  CC       /tmp/build/perf/util/evsel.o
  LD       /tmp/build/perf/trace/beauty/tracepoints/perf-in.o
  LD       /tmp/build/perf/trace/beauty/perf-in.o
  CC       /tmp/build/perf/tests/sw-clock.o
  CC       /tmp/build/perf/util/evsel_fprintf.o
  CC       /tmp/build/perf/util/perf_event_attr_fprintf.o
  CC       /tmp/build/perf/tests/mmap-thread-lookup.o
  CC       /tmp/build/perf/util/evswitch.o
  CC       /tmp/build/perf/tests/thread-maps-share.o
  CC       /tmp/build/perf/tests/switch-tracking.o
  CC       /tmp/build/perf/util/find_bit.o
  CC       /tmp/build/perf/util/get_current_dir_name.o
  CC       /tmp/build/perf/util/kallsyms.o
  MKDIR    /tmp/build/perf/ui/tui/
  CC       /tmp/build/perf/tests/keep-tracking.o
  CC       /tmp/build/perf/ui/tui/setup.o
  CC       /tmp/build/perf/util/levenshtein.o
  CC       /tmp/build/perf/util/llvm-utils.o
  CC       /tmp/build/perf/util/mmap.o
  CC       /tmp/build/perf/util/memswap.o
  MKDIR    /tmp/build/perf/ui/tui/
  CC       /tmp/build/perf/ui/tui/util.o
  CC       /tmp/build/perf/tests/code-reading.o
  CC       /tmp/build/perf/tests/sample-parsing.o
  CC       /tmp/build/perf/ui/tui/helpline.o
  CC       /tmp/build/perf/tests/parse-no-sample-id-all.o
  CC       /tmp/build/perf/ui/tui/progress.o
  CC       /tmp/build/perf/tests/kmod-path.o
  CC       /tmp/build/perf/tests/thread-map.o
  LD       /tmp/build/perf/ui/tui/perf-in.o
  CC       /tmp/build/perf/tests/llvm.o
  CC       /tmp/build/perf/tests/bpf.o
  CC       /tmp/build/perf/tests/topology.o
  CC       /tmp/build/perf/tests/mem.o
  CC       /tmp/build/perf/tests/cpumap.o
  CC       /tmp/build/perf/tests/stat.o
  CC       /tmp/build/perf/tests/event_update.o
  CC       /tmp/build/perf/ui/browsers/scripts.o
  CC       /tmp/build/perf/ui/browsers/header.o
  CC       /tmp/build/perf/tests/event-times.o
  CC       /tmp/build/perf/ui/browsers/res_sample.o
  CC       /tmp/build/perf/tests/expr.o
  CC       /tmp/build/perf/tests/backward-ring-buffer.o
  CC       /tmp/build/perf/tests/sdt.o
  CC       /tmp/build/perf/tests/is_printable_array.o
  CC       /tmp/build/perf/tests/bitmap.o
  BISON    /tmp/build/perf/util/parse-events-bison.c
  CC       /tmp/build/perf/tests/perf-hooks.o
  CC       /tmp/build/perf/tests/clang.o
  CC       /tmp/build/perf/util/perf_regs.o
  CC       /tmp/build/perf/tests/unit_number__scnprintf.o
  CC       /tmp/build/perf/tests/mem2node.o
  CC       /tmp/build/perf/tests/maps.o
  CC       /tmp/build/perf/tests/time-utils-test.o
  CC       /tmp/build/perf/tests/genelf.o
  CC       /tmp/build/perf/tests/api-io.o
  CC       /tmp/build/perf/tests/demangle-java-test.o
  CC       /tmp/build/perf/util/path.o
  CC       /tmp/build/perf/util/print_binary.o
  CC       /tmp/build/perf/tests/pfm.o
  CC       /tmp/build/perf/tests/parse-metric.o
  CC       /tmp/build/perf/util/rlimit.o
  CC       /tmp/build/perf/tests/dwarf-unwind.o
  CC       /tmp/build/perf/util/argv_split.o
  CC       /tmp/build/perf/util/rbtree.o
  CC       /tmp/build/perf/util/libstring.o
  CC       /tmp/build/perf/util/bitmap.o
  CC       /tmp/build/perf/tests/llvm-src-base.o
  CC       /tmp/build/perf/tests/llvm-src-kbuild.o
  CC       /tmp/build/perf/tests/llvm-src-prologue.o
  CC       /tmp/build/perf/tests/llvm-src-relocation.o
  CC       /tmp/build/perf/util/hweight.o
  CC       /tmp/build/perf/util/smt.o
  CC       /tmp/build/perf/util/strbuf.o
  CC       /tmp/build/perf/util/string.o
  LD       /tmp/build/perf/tests/perf-in.o
  CC       /tmp/build/perf/util/strlist.o
  CC       /tmp/build/perf/util/strfilter.o
  CC       /tmp/build/perf/util/top.o
  CC       /tmp/build/perf/util/usage.o
  CC       /tmp/build/perf/util/dso.o
  CC       /tmp/build/perf/util/dsos.o
  CC       /tmp/build/perf/util/symbol.o
  CC       /tmp/build/perf/util/symbol_fprintf.o
  CC       /tmp/build/perf/util/color.o
  CC       /tmp/build/perf/util/color_config.o
  CC       /tmp/build/perf/util/metricgroup.o
  CC       /tmp/build/perf/util/header.o
  LD       /tmp/build/perf/ui/browsers/perf-in.o
  CC       /tmp/build/perf/util/callchain.o
  LD       /tmp/build/perf/ui/perf-in.o
  CC       /tmp/build/perf/util/values.o
  CC       /tmp/build/perf/util/debug.o
  CC       /tmp/build/perf/util/fncache.o
  CC       /tmp/build/perf/util/machine.o
  CC       /tmp/build/perf/util/map.o
  CC       /tmp/build/perf/util/pstack.o
  CC       /tmp/build/perf/util/session.o
  CC       /tmp/build/perf/util/sample-raw.o
  CC       /tmp/build/perf/util/s390-sample-raw.o
  CC       /tmp/build/perf/util/syscalltbl.o
  CC       /tmp/build/perf/util/ordered-events.o
  CC       /tmp/build/perf/util/namespaces.o
  CC       /tmp/build/perf/util/comm.o
  CC       /tmp/build/perf/util/thread.o
  CC       /tmp/build/perf/util/thread_map.o
  CC       /tmp/build/perf/util/trace-event-parse.o
  FLEX     /tmp/build/perf/util/parse-events-flex.h
  BISON    /tmp/build/perf/util/pmu-bison.c
  CC       /tmp/build/perf/util/trace-event-read.o
  CC       /tmp/build/perf/util/trace-event-info.o
  CC       /tmp/build/perf/util/trace-event-scripting.o
  CC       /tmp/build/perf/util/trace-event.o
  CC       /tmp/build/perf/util/svghelper.o
  CC       /tmp/build/perf/util/sort.o
  CC       /tmp/build/perf/util/hist.o
  CC       /tmp/build/perf/util/util.o
  CC       /tmp/build/perf/util/cpumap.o
  CC       /tmp/build/perf/util/affinity.o
  CC       /tmp/build/perf/util/cputopo.o
  CC       /tmp/build/perf/util/cgroup.o
  CC       /tmp/build/perf/util/target.o
  CC       /tmp/build/perf/util/rblist.o
  CC       /tmp/build/perf/util/intlist.o
  CC       /tmp/build/perf/util/vdso.o
  CC       /tmp/build/perf/util/counts.o
  CC       /tmp/build/perf/util/stat.o
  CC       /tmp/build/perf/util/stat-shadow.o
  CC       /tmp/build/perf/util/stat-display.o
  CC       /tmp/build/perf/util/perf_api_probe.o
  CC       /tmp/build/perf/util/record.o
  CC       /tmp/build/perf/util/srcline.o
  CC       /tmp/build/perf/util/srccode.o
  CC       /tmp/build/perf/util/synthetic-events.o
  CC       /tmp/build/perf/util/data.o
  CC       /tmp/build/perf/util/tsc.o
  CC       /tmp/build/perf/util/cloexec.o
  CC       /tmp/build/perf/util/call-path.o
  CC       /tmp/build/perf/util/rwsem.o
  CC       /tmp/build/perf/util/thread-stack.o
  CC       /tmp/build/perf/util/spark.o
  CC       /tmp/build/perf/util/auxtrace.o
  MKDIR    /tmp/build/perf/util/intel-pt-decoder/
  CC       /tmp/build/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.o
  MKDIR    /tmp/build/perf/util/intel-pt-decoder/
  GEN      /tmp/build/perf/util/intel-pt-decoder/inat-tables.c
  MKDIR    /tmp/build/perf/util/arm-spe-decoder/
  CC       /tmp/build/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.o
  MKDIR    /tmp/build/perf/util/scripting-engines/
  CC       /tmp/build/perf/util/scripting-engines/trace-event-perl.o
  CC       /tmp/build/perf/util/intel-pt-decoder/intel-pt-log.o
  CC       /tmp/build/perf/util/intel-pt-decoder/intel-pt-decoder.o
  MKDIR    /tmp/build/perf/util/arm-spe-decoder/
  MKDIR    /tmp/build/perf/util/scripting-engines/
  CC       /tmp/build/perf/util/arm-spe-decoder/arm-spe-decoder.o
  CC       /tmp/build/perf/util/scripting-engines/trace-event-python.o
  LD       /tmp/build/perf/util/arm-spe-decoder/perf-in.o
  CC       /tmp/build/perf/util/intel-pt.o
  CC       /tmp/build/perf/util/intel-bts.o
  CC       /tmp/build/perf/util/intel-pt-decoder/intel-pt-insn-decoder.o
  CC       /tmp/build/perf/util/arm-spe.o
  CC       /tmp/build/perf/util/s390-cpumsf.o
  CC       /tmp/build/perf/util/parse-branch-options.o
  CC       /tmp/build/perf/util/dump-insn.o
  CC       /tmp/build/perf/util/parse-regs-options.o
  CC       /tmp/build/perf/util/term.o
  CC       /tmp/build/perf/util/help-unknown-cmd.o
  CC       /tmp/build/perf/util/mem-events.o
  CC       /tmp/build/perf/util/vsprintf.o
  CC       /tmp/build/perf/util/units.o
  CC       /tmp/build/perf/util/time-utils.o
  BISON    /tmp/build/perf/util/expr-bison.c
  CC       /tmp/build/perf/util/branch.o
  CC       /tmp/build/perf/util/mem2node.o
  CC       /tmp/build/perf/util/bpf-loader.o
  CC       /tmp/build/perf/util/bpf_map.o
  LD       /tmp/build/perf/util/intel-pt-decoder/perf-in.o
  LD       /tmp/build/perf/util/scripting-engines/perf-in.o
  CC       /tmp/build/perf/util/symbol-elf.o
  CC       /tmp/build/perf/util/probe-file.o
  CC       /tmp/build/perf/util/probe-event.o
  CC       /tmp/build/perf/util/unwind-libunwind-local.o
  CC       /tmp/build/perf/util/unwind-libunwind.o
  CC       /tmp/build/perf/util/zlib.o
  CC       /tmp/build/perf/util/lzma.o
  CC       /tmp/build/perf/util/zstd.o
  CC       /tmp/build/perf/util/cap.o
  CC       /tmp/build/perf/util/demangle-java.o
  CC       /tmp/build/perf/util/demangle-rust.o
  CC       /tmp/build/perf/util/jitdump.o
  CC       /tmp/build/perf/util/genelf.o
  CC       /tmp/build/perf/util/perf-hooks.o
  CC       /tmp/build/perf/util/bpf-event.o
  FLEX     /tmp/build/perf/util/parse-events-flex.c
  CC       /tmp/build/perf/util/parse-events-bison.o
  FLEX     /tmp/build/perf/util/pmu-flex.c
  CC       /tmp/build/perf/util/pmu-bison.o
  FLEX     /tmp/build/perf/util/expr-flex.c
In file included from util/parse-events.y:20:0:
/tmp/build/perf/util/parse-events-flex.h:546:0: error: unterminated #else
 #ifndef YY_READ_BUF_SIZE

/tmp/build/perf/util/parse-events-flex.h:545:0: error: unterminated #ifndef
 /* Amount of stuff to slurp up with each read. */

In file included from util/parse-events.y:20:0:
/tmp/build/perf/util/parse-events-flex.h:1:0: error: unterminated #ifndef
 #ifndef parse_events_HEADER_H

mv: can't rename '/tmp/build/perf/util/.parse-events-bison.o.tmp': No such file or directory
make[4]: *** [/git/linux/tools/build/Makefile.build:96: /tmp/build/perf/util/parse-events-bison.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [/git/linux/tools/build/Makefile.build:139: util] Error 2
make[2]: *** [Makefile.perf:625: /tmp/build/perf/perf-in.o] Error 2
make[1]: *** [Makefile.perf:231: sub-make] Error 2
make: *** [Makefile:70: all] Error 2
make: Leaving directory '/git/linux/tools/perf'


   1 alpine:3.4       : FAIL gcc (Alpine 5.3.0) 5.3.0, clang version 3.8.0 (tags/RELEASE_380/final)
   2 alpine:3.5       : FAIL gcc (Alpine 6.2.1) 6.2.1 20160822, clang version 3.8.1 (tags/RELEASE_381/final)

  CC       /tmp/build/perf/util/parse-events-bison.o
In file included from util/parse-events.y:20:0:
/tmp/build/perf/util/parse-events-flex.h:323:0: error: unterminated #ifndef
 #ifndef YY_DECL
 ^
In file included from util/parse-events.y:20:0:
/tmp/build/perf/util/parse-events-flex.h:1:0: error: unterminated #ifndef
 #ifndef parse_events_HEADER_H
 ^
mv: can't rename '/tmp/build/perf/util/.parse-events-bison.o.tmp': No such file or directory
/git/linux/tools/build/Makefile.build:96: recipe for target '/tmp/build/perf/util/parse-events-bison.o' failed
make[4]: *** [/tmp/build/perf/util/parse-events-bison.o] Error 1
make[4]: *** Waiting for unfinished jobs....
  LD       /tmp/build/perf/util/intel-pt-decoder/perf-in.o
/git/linux/tools/build/Makefile.build:139: recipe for target 'util' failed

Slightly different:

     3 alpine:3.6     : FAIL gcc (Alpine 6.3.0) 6.3.0, clang version 4.0.0 (tags/RELEASE_400/final)

  CC       /tmp/build/perf/util/perf-hooks.o
  FLEX     /tmp/build/perf/util/parse-events-flex.c
  CC       /tmp/build/perf/util/parse-events-bison.o
  FLEX     /tmp/build/perf/util/pmu-flex.c
In file included from util/parse-events.y:20:0:
/tmp/build/perf/util/parse-events-flex.h:1:0: error: unterminated #ifndef
 #ifndef parse_events_HEADER_H
 
mv: can't rename '/tmp/build/perf/util/.parse-events-bison.o.tmp': No such file or directory
make[4]: *** [/git/linux/tools/build/Makefile.build:97: /tmp/build/perf/util/parse-events-bison.o] Error 1
make[4]: *** Waiting for unfinished jobs....


   4 alpine:3.7       : FAIL gcc (Alpine 6.4.0) 6.4.0, Alpine clang version 5.0.0 (tags/RELEASE_500/final) (based on LLVM 5.0.0)

  CC       /tmp/build/perf/util/pmu-bison.o
In file included from util/parse-events.y:20:0:
/tmp/build/perf/util/parse-events-flex.h:546:0: error: unterminated #else
 #ifndef YY_READ_BUF_SIZE

/tmp/build/perf/util/parse-events-flex.h:545:0: error: unterminated #ifndef
 /* Amount of stuff to slurp up with each read. */

In file included from util/parse-events.y:20:0:
/tmp/build/perf/util/parse-events-flex.h:1:0: error: unterminated #ifndef
 #ifndef parse_events_HEADER_H

  FLEX     /tmp/build/perf/util/expr-flex.c
mv: can't rename '/tmp/build/perf/util/.parse-events-bison.o.tmp': No such file or directory
make[4]: *** [/git/linux/tools/build/Makefile.build:96: /tmp/build/perf/util/parse-events-bison.o] Error 1



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings
  2020-06-19 12:15 ` Arnaldo Carvalho de Melo
@ 2020-06-19 12:20   ` Arnaldo Carvalho de Melo
  2020-06-19 15:15     ` Ian Rogers
  0 siblings, 1 reply; 15+ messages in thread
From: Arnaldo Carvalho de Melo @ 2020-06-19 12:20 UTC (permalink / raw)
  To: Ian Rogers
  Cc: Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin,
	Jiri Olsa, Namhyung Kim, Andi Kleen, Jin Yao, John Garry,
	Adrian Hunter, linux-kernel, Stephane Eranian

Em Fri, Jun 19, 2020 at 09:15:57AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Thu, Jun 18, 2020 at 09:33:46PM -0700, Ian Rogers escreveu:
> > All C compiler warnings are disabled are disabled by -w. This change
> > removes the -w from flex and bison targets. To avoid implicit
> > declarations header files are declared as targets and included.
> > 
> > Tested with GCC 9.3.0 and clang 9.0.1.
> > 
> > v2. predicates disabling the warnings on more recent bison and flex
> >     versions (3.5.3 and 2.6.4 respectively). An alternative would be
> >     to disabled a large number of warnings to cover the warnings
> >     generated in older distributions:
> >   flex_flags := -Wno-switch-enum -Wno-switch-default -Wno-unused-function \
> >     -Wno-redundant-decls -Wno-sign-compare -Wno-unused-parameter \
> >     -Wno-missing-prototypes -Wno-misleading-indentation
> >   bison_flags := -DYYENABLE_NLS=0 -Wno-unused-parameter -Wno-nested-externs \
> >     -Wno-implicit-function-declaration -Wno-switch-enum
> 
> So, it is failing with older versions of alpine Linux, but then at
> alpine 3.8 I noticed that the problem is happening only when building
> with this following set of options, and when building with gcc, building
> with clang, i.e. adding CC=clang to the following make command line
> works.

I'll also check if this isn't because these container tests do multiple
make calls, with different sets of options (NO_LIBBPF=1, another with
NO_LIBELF=1, the one with LIBCLANGLLVM=1, etc) and perhaps the stuff
from previous builds pollute a subsequent build, i.e. will try adding a
rm -rf to the O= directory if missing.
 
> + make 'ARCH=' 'CROSS_COMPILE=' 'EXTRA_CFLAGS=' 'LIBCLANGLLVM=1' -C /git/linux/tools/perf 'O=/tmp/build/perf'
> make: Entering directory '/git/linux/tools/perf'
>   BUILD:   Doing 'make -j8' parallel build
>   HOSTCC   /tmp/build/perf/fixdep.o
>   HOSTLD   /tmp/build/perf/fixdep-in.o
>   LINK     /tmp/build/perf/fixdep
> 
> Auto-detecting system features:
> ...                         dwarf: [ OFF ]
> ...            dwarf_getlocations: [ OFF ]
> ...                         glibc: [ OFF ]
> ...                          gtk2: [ on  ]
> ...                        libbfd: [ on  ]
> ...                        libcap: [ on  ]
> ...                        libelf: [ on  ]
> ...                       libnuma: [ OFF ]
> ...        numa_num_possible_cpus: [ OFF ]
> ...                       libperl: [ on  ]
> ...                     libpython: [ on  ]
> ...                     libcrypto: [ on  ]
> ...                     libunwind: [ on  ]
> ...            libdw-dwarf-unwind: [ OFF ]
> ...                          zlib: [ on  ]
> ...                          lzma: [ on  ]
> ...                     get_cpuid: [ on  ]
> ...                           bpf: [ on  ]
> ...                        libaio: [ on  ]
> ...                       libzstd: [ on  ]
> ...        disassembler-four-args: [ on  ]
> 
> Makefile.config:409: No libdw DWARF unwind found, Please install elfutils-devel/libdw-dev >= 0.158 and/or set LIBDW_DIR
> Makefile.config:414: No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev
> Makefile.config:485: gelf_getnote() not found on libelf, SDT support disabled
> Makefile.config:528: DWARF support is off, BPF prologue is disabled
> Makefile.config:536: No sys/sdt.h found, no SDT events are defined, please install systemtap-sdt-devel or systemtap-sdt-dev
> Makefile.config:890: No numa.h found, disables 'perf bench numa mem' benchmark, please install numactl-devel/libnuma-devel/libnuma-dev
> Makefile.config:945: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev
> Makefile.config:971: No alternatives command found, you need to set JDIR= to point to the root of your Java directory
> Makefile.config:1008: No suitable libclang found, disabling builtin clang and LLVM support. Please install libclang-dev(el) (>= 3.9.0)
>   GEN      /tmp/build/perf/common-cmds.h
> sort: unrecognized option: V
> BusyBox v1.28.4 (2018-12-31 18:05:13 UTC) multi-call binary.
>   PERF_VERSION = 5.7.g6f01af8176af
> 
> Usage: sort [-nrugMcszbdfiokt] [-o FILE] [-k start[.offset][opts][,end[.offset][opts]] [-t CHAR] [FILE]...
> 
> Sort lines of text
> 
> 	-o FILE	Output to FILE
> 	-c	Check whether input is sorted
> 	-b	Ignore leading blanks
> 	-f	Ignore case
> 	-i	Ignore unprintable characters
> 	-d	Dictionary order (blank or alphanumeric only)
> 	-g	General numerical sort
> 	-M	Sort month
> 	-n	Sort numbers
> 	-t CHAR	Field separator
> 	-k N[,M] Sort by Nth field
> 	-r	Reverse sort order
> 	-s	Stable (don't sort ties alphabetically)
> 	-u	Suppress duplicate lines
> 	-z	Lines are terminated by NUL, not newline
>   CC       /tmp/build/perf/exec-cmd.o
>   CC       /tmp/build/perf/event-parse.o
>   MKDIR    /tmp/build/perf/fd/
>   CC       /tmp/build/perf/fd/array.o
>   GEN      /tmp/build/perf/bpf_helper_defs.h
>   CC       /tmp/build/perf/event-plugin.o
>   CC       /tmp/build/perf/core.o
>   LD       /tmp/build/perf/fd/libapi-in.o
>   MKDIR    /tmp/build/perf/fs/
>   CC       /tmp/build/perf/fs/fs.o
>   CC       /tmp/build/perf/cpumap.o
>   CC       /tmp/build/perf/trace-seq.o
>   CC       /tmp/build/perf/threadmap.o
>   CC       /tmp/build/perf/help.o
>   MKDIR    /tmp/build/perf/staticobjs/
>   CC       /tmp/build/perf/staticobjs/libbpf.o
>   MKDIR    /tmp/build/perf/staticobjs/
>   CC       /tmp/build/perf/staticobjs/bpf.o
>   CC       /tmp/build/perf/cpu.o
>   CC       /tmp/build/perf/parse-filter.o
>   CC       /tmp/build/perf/evsel.o
>   CC       /tmp/build/perf/evlist.o
>   CC       /tmp/build/perf/pager.o
>   CC       /tmp/build/perf/parse-options.o
>   CC       /tmp/build/perf/parse-utils.o
>   CC       /tmp/build/perf/mmap.o
>   CC       /tmp/build/perf/kbuffer-parse.o
>   CC       /tmp/build/perf/zalloc.o
>   CC       /tmp/build/perf/tep_strerror.o
>   CC       /tmp/build/perf/xyarray.o
>   CC       /tmp/build/perf/event-parse-api.o
>   CC       /tmp/build/perf/run-command.o
>   CC       /tmp/build/perf/sigchain.o
>   LD       /tmp/build/perf/libtraceevent-in.o
>   LINK     /tmp/build/perf/libtraceevent.a
>   MKDIR    /tmp/build/perf/fs/
>   CC       /tmp/build/perf/fs/tracing_path.o
>   CC       /tmp/build/perf/debug.o
>   CC       /tmp/build/perf/str_error_r.o
>   CC       /tmp/build/perf/fs/cgroup.o
>   CC       /tmp/build/perf/subcmd-config.o
>   CC       /tmp/build/perf/lib.o
>   CC       /tmp/build/perf/staticobjs/nlattr.o
>   CC       /tmp/build/perf/staticobjs/btf.o
>   CC       /tmp/build/perf/staticobjs/libbpf_errno.o
>   LD       /tmp/build/perf/fs/libapi-in.o
>   CC       /tmp/build/perf/staticobjs/str_error.o
>   CC       /tmp/build/perf/staticobjs/netlink.o
>   LD       /tmp/build/perf/libapi-in.o
>   AR       /tmp/build/perf/libapi.a
>   CC       /tmp/build/perf/staticobjs/bpf_prog_linfo.o
>   LD       /tmp/build/perf/libperf-in.o
>   AR       /tmp/build/perf/libperf.a
>   CC       /tmp/build/perf/staticobjs/libbpf_probes.o
>   CC       /tmp/build/perf/staticobjs/xsk.o
>   LD       /tmp/build/perf/libsubcmd-in.o
>   CC       /tmp/build/perf/staticobjs/hashmap.o
>   AR       /tmp/build/perf/libsubcmd.a
>   CC       /tmp/build/perf/staticobjs/btf_dump.o
>   CC       /tmp/build/perf/staticobjs/ringbuf.o
>   MKDIR    /tmp/build/perf/pmu-events/
>   GEN      perf-archive
>   HOSTCC   /tmp/build/perf/pmu-events/json.o
>   GEN      perf-with-kcore
>   MKDIR    /tmp/build/perf/ui/gtk/
>   MKDIR    /tmp/build/perf/pmu-events/
>   CC       /tmp/build/perf/ui/gtk/browser.o
>   HOSTCC   /tmp/build/perf/pmu-events/jsmn.o
>   HOSTCC   /tmp/build/perf/pmu-events/jevents.o
>   CC       /tmp/build/perf/plugin_jbd2.o
>   CC       /tmp/build/perf/plugin_hrtimer.o
>   CC       /tmp/build/perf/plugin_kmem.o
>   CC       /tmp/build/perf/plugin_kvm.o
>   LD       /tmp/build/perf/plugin_hrtimer-in.o
>   LD       /tmp/build/perf/plugin_jbd2-in.o
>   LD       /tmp/build/perf/plugin_kmem-in.o
>   CC       /tmp/build/perf/plugin_mac80211.o
>   CC       /tmp/build/perf/plugin_sched_switch.o
>   CC       /tmp/build/perf/plugin_function.o
>   LD       /tmp/build/perf/plugin_kvm-in.o
>   LD       /tmp/build/perf/plugin_mac80211-in.o
>   MKDIR    /tmp/build/perf/ui/gtk/
>   CC       /tmp/build/perf/plugin_xen.o
>   CC       /tmp/build/perf/ui/gtk/hists.o
>   LD       /tmp/build/perf/plugin_sched_switch-in.o
>   LD       /tmp/build/perf/staticobjs/libbpf-in.o
>   LD       /tmp/build/perf/plugin_xen-in.o
>   LINK     /tmp/build/perf/libbpf.a
>   CC       /tmp/build/perf/plugin_scsi.o
>   LD       /tmp/build/perf/plugin_function-in.o
>   CC       /tmp/build/perf/plugin_cfg80211.o
>   HOSTLD   /tmp/build/perf/pmu-events/jevents-in.o
>   CC       /tmp/build/perf/ui/gtk/setup.o
>   LINK     /tmp/build/perf/plugin_jbd2.so
>   LINK     /tmp/build/perf/pmu-events/jevents
>   GEN      /tmp/build/perf/pmu-events/pmu-events.c
>   LINK     /tmp/build/perf/plugin_hrtimer.so
>   LD       /tmp/build/perf/plugin_cfg80211-in.o
>   LD       /tmp/build/perf/plugin_scsi-in.o
>   LINK     /tmp/build/perf/plugin_kmem.so
>   LINK     /tmp/build/perf/plugin_kvm.so
>   CC       /tmp/build/perf/ui/gtk/util.o
>   LINK     /tmp/build/perf/plugin_mac80211.so
>   LINK     /tmp/build/perf/plugin_sched_switch.so
>   LINK     /tmp/build/perf/plugin_function.so
>   LINK     /tmp/build/perf/plugin_xen.so
>   LINK     /tmp/build/perf/plugin_scsi.so
>   LINK     /tmp/build/perf/plugin_cfg80211.so
>   CC       /tmp/build/perf/ui/gtk/helpline.o
>   GEN      /tmp/build/perf/libtraceevent-dynamic-list
>   GEN      /tmp/build/perf/python/perf.so
>   CC       /tmp/build/perf/ui/gtk/progress.o
>   CC       /tmp/build/perf/pmu-events/pmu-events.o
>   CC       /tmp/build/perf/ui/gtk/annotate.o
>   CC       /tmp/build/perf/builtin-bench.o
>   CC       /tmp/build/perf/ui/gtk/zalloc.o
>   CC       /tmp/build/perf/builtin-annotate.o
>   CC       /tmp/build/perf/builtin-config.o
>   CC       /tmp/build/perf/builtin-diff.o
>   CC       /tmp/build/perf/builtin-evlist.o
>   CC       /tmp/build/perf/builtin-ftrace.o
>   CC       /tmp/build/perf/builtin-help.o
>   CC       /tmp/build/perf/builtin-sched.o
>   CC       /tmp/build/perf/builtin-buildid-list.o
>   LD       /tmp/build/perf/pmu-events/pmu-events-in.o
>   LD       /tmp/build/perf/ui/gtk/gtk-in.o
>   CC       /tmp/build/perf/builtin-buildid-cache.o
>   CC       /tmp/build/perf/builtin-kallsyms.o
>   CC       /tmp/build/perf/builtin-list.o
>   CC       /tmp/build/perf/builtin-record.o
>   CC       /tmp/build/perf/builtin-report.o
>   LD       /tmp/build/perf/gtk-in.o
>   LINK     /tmp/build/perf/libperf-gtk.so
>   CC       /tmp/build/perf/builtin-stat.o
>   CC       /tmp/build/perf/builtin-timechart.o
>   CC       /tmp/build/perf/builtin-top.o
>   CC       /tmp/build/perf/builtin-script.o
>   CC       /tmp/build/perf/builtin-kmem.o
>   CC       /tmp/build/perf/builtin-lock.o
>   CC       /tmp/build/perf/builtin-kvm.o
>   CC       /tmp/build/perf/builtin-inject.o
>   CC       /tmp/build/perf/builtin-mem.o
>   CC       /tmp/build/perf/builtin-data.o
>   CC       /tmp/build/perf/builtin-version.o
>   CC       /tmp/build/perf/builtin-c2c.o
>   CC       /tmp/build/perf/builtin-trace.o
>   CC       /tmp/build/perf/builtin-probe.o
>   MKDIR    /tmp/build/perf/bench/
>   CC       /tmp/build/perf/bench/sched-messaging.o
>   MKDIR    /tmp/build/perf/tests/
>   CC       /tmp/build/perf/tests/builtin-test.o
>   MKDIR    /tmp/build/perf/bench/
>   CC       /tmp/build/perf/bench/sched-pipe.o
>   MKDIR    /tmp/build/perf/util/
>   CC       /tmp/build/perf/util/annotate.o
>   CC       /tmp/build/perf/bench/mem-functions.o
>   CC       /tmp/build/perf/arch/common.o
>   MKDIR    /tmp/build/perf/tests/
>   MKDIR    /tmp/build/perf/arch/x86/util/
>   CC       /tmp/build/perf/arch/x86/util/header.o
>   CC       /tmp/build/perf/bench/futex-hash.o
>   CC       /tmp/build/perf/tests/parse-events.o
>   CC       /tmp/build/perf/bench/futex-wake.o
>   MKDIR    /tmp/build/perf/arch/x86/util/
>   CC       /tmp/build/perf/arch/x86/util/tsc.o
>   CC       /tmp/build/perf/arch/x86/util/pmu.o
>   CC       /tmp/build/perf/arch/x86/util/kvm-stat.o
>   CC       /tmp/build/perf/bench/futex-wake-parallel.o
>   CC       /tmp/build/perf/arch/x86/util/perf_regs.o
>   CC       /tmp/build/perf/bench/futex-requeue.o
>   CC       /tmp/build/perf/bench/futex-lock-pi.o
>   CC       /tmp/build/perf/arch/x86/util/group.o
>   CC       /tmp/build/perf/arch/x86/util/machine.o
>   CC       /tmp/build/perf/arch/x86/util/event.o
>   CC       /tmp/build/perf/arch/x86/util/unwind-libunwind.o
>   CC       /tmp/build/perf/arch/x86/util/auxtrace.o
>   CC       /tmp/build/perf/bench/epoll-wait.o
>   MKDIR    /tmp/build/perf/arch/x86/tests/
>   CC       /tmp/build/perf/arch/x86/tests/regs_load.o
>   MKDIR    /tmp/build/perf/util/
>   CC       /tmp/build/perf/util/block-info.o
>   MKDIR    /tmp/build/perf/arch/x86/tests/
>   CC       /tmp/build/perf/arch/x86/tests/dwarf-unwind.o
>   CC       /tmp/build/perf/arch/x86/util/archinsn.o
>   CC       /tmp/build/perf/arch/x86/tests/arch-tests.o
>   CC       /tmp/build/perf/bench/epoll-ctl.o
>   CC       /tmp/build/perf/arch/x86/tests/rdpmc.o
>   CC       /tmp/build/perf/tests/dso-data.o
>   CC       /tmp/build/perf/arch/x86/util/intel-pt.o
>   CC       /tmp/build/perf/arch/x86/tests/perf-time-to-tsc.o
>   CC       /tmp/build/perf/bench/synthesize.o
>   CC       /tmp/build/perf/util/block-range.o
>   CC       /tmp/build/perf/bench/kallsyms-parse.o
>   CC       /tmp/build/perf/arch/x86/tests/insn-x86.o
>   CC       /tmp/build/perf/util/build-id.o
>   CC       /tmp/build/perf/util/cacheline.o
>   CC       /tmp/build/perf/bench/mem-memcpy-x86-64-lib.o
>   CC       /tmp/build/perf/tests/attr.o
>   CC       /tmp/build/perf/bench/mem-memcpy-x86-64-asm.o
>   CC       /tmp/build/perf/bench/mem-memset-x86-64-asm.o
>   CC       /tmp/build/perf/util/config.o
>   CC       /tmp/build/perf/arch/x86/util/intel-bts.o
>   LD       /tmp/build/perf/bench/perf-in.o
>   CC       /tmp/build/perf/arch/x86/tests/intel-pt-pkt-decoder-test.o
>   CC       /tmp/build/perf/ui/setup.o
>   CC       /tmp/build/perf/tests/vmlinux-kallsyms.o
>   CC       /tmp/build/perf/arch/x86/tests/bp-modify.o
>   CC       /tmp/build/perf/ui/helpline.o
>   LD       /tmp/build/perf/arch/x86/util/perf-in.o
>   CC       /tmp/build/perf/ui/progress.o
>   CC       /tmp/build/perf/tests/openat-syscall.o
>   LD       /tmp/build/perf/arch/x86/tests/perf-in.o
>   CC       /tmp/build/perf/tests/openat-syscall-all-cpus.o
>   LD       /tmp/build/perf/arch/x86/perf-in.o
>   LD       /tmp/build/perf/arch/perf-in.o
>   CC       /tmp/build/perf/tests/openat-syscall-tp-fields.o
>   CC       /tmp/build/perf/ui/util.o
>   CC       /tmp/build/perf/ui/hist.o
>   CC       /tmp/build/perf/util/copyfile.o
>   CC       /tmp/build/perf/tests/mmap-basic.o
>   MKDIR    /tmp/build/perf/ui/stdio/
>   CC       /tmp/build/perf/ui/stdio/hist.o
>   CC       /tmp/build/perf/tests/perf-record.o
>   CC       /tmp/build/perf/util/ctype.o
>   CC       /tmp/build/perf/util/db-export.o
>   CC       /tmp/build/perf/tests/evsel-roundtrip-name.o
>   CC       /tmp/build/perf/tests/evsel-tp-sched.o
>   MKDIR    /tmp/build/perf/scripts/perl/Perf-Trace-Util/
>   CC       /tmp/build/perf/scripts/perl/Perf-Trace-Util/Context.o
>   CC       /tmp/build/perf/tests/fdarray.o
>   CC       /tmp/build/perf/tests/pmu.o
>   CC       /tmp/build/perf/tests/pmu-events.o
>   CC       /tmp/build/perf/tests/hists_common.o
>   CC       /tmp/build/perf/tests/hists_link.o
>   LD       /tmp/build/perf/scripts/perl/Perf-Trace-Util/perf-in.o
>   MKDIR    /tmp/build/perf/scripts/python/Perf-Trace-Util/
>   CC       /tmp/build/perf/ui/browser.o
>   CC       /tmp/build/perf/scripts/python/Perf-Trace-Util/Context.o
>   CC       /tmp/build/perf/tests/hists_filter.o
>   CC       /tmp/build/perf/util/env.o
>   CC       /tmp/build/perf/tests/hists_output.o
>   CC       /tmp/build/perf/tests/hists_cumulate.o
>   LD       /tmp/build/perf/scripts/python/Perf-Trace-Util/perf-in.o
>   LD       /tmp/build/perf/scripts/perf-in.o
>   CC       /tmp/build/perf/trace/beauty/clone.o
>   CC       /tmp/build/perf/perf.o
>   CC       /tmp/build/perf/trace/beauty/fcntl.o
>   MKDIR    /tmp/build/perf/ui/browsers/
>   CC       /tmp/build/perf/ui/browsers/annotate.o
>   CC       /tmp/build/perf/util/event.o
>   CC       /tmp/build/perf/tests/python-use.o
>   CC       /tmp/build/perf/trace/beauty/flock.o
>   CC       /tmp/build/perf/trace/beauty/fsmount.o
>   CC       /tmp/build/perf/trace/beauty/fspick.o
>   CC       /tmp/build/perf/trace/beauty/ioctl.o
>   CC       /tmp/build/perf/trace/beauty/kcmp.o
>   CC       /tmp/build/perf/tests/bp_signal.o
>   CC       /tmp/build/perf/tests/bp_signal_overflow.o
>   CC       /tmp/build/perf/trace/beauty/mount_flags.o
>   CC       /tmp/build/perf/trace/beauty/move_mount.o
>   CC       /tmp/build/perf/trace/beauty/pkey_alloc.o
>   CC       /tmp/build/perf/trace/beauty/arch_prctl.o
>   CC       /tmp/build/perf/trace/beauty/prctl.o
>   CC       /tmp/build/perf/tests/bp_account.o
>   CC       /tmp/build/perf/trace/beauty/renameat.o
>   CC       /tmp/build/perf/tests/wp.o
>   CC       /tmp/build/perf/tests/task-exit.o
>   CC       /tmp/build/perf/util/evlist.o
>   CC       /tmp/build/perf/trace/beauty/sockaddr.o
>   CC       /tmp/build/perf/trace/beauty/socket.o
>   CC       /tmp/build/perf/trace/beauty/statx.o
>   CC       /tmp/build/perf/trace/beauty/sync_file_range.o
>   CC       /tmp/build/perf/util/sideband_evlist.o
>   MKDIR    /tmp/build/perf/ui/browsers/
>   CC       /tmp/build/perf/ui/browsers/hists.o
>   CC       /tmp/build/perf/ui/browsers/map.o
>   MKDIR    /tmp/build/perf/trace/beauty/tracepoints/
>   CC       /tmp/build/perf/trace/beauty/tracepoints/x86_irq_vectors.o
>   MKDIR    /tmp/build/perf/trace/beauty/tracepoints/
>   CC       /tmp/build/perf/trace/beauty/tracepoints/x86_msr.o
>   CC       /tmp/build/perf/util/evsel.o
>   LD       /tmp/build/perf/trace/beauty/tracepoints/perf-in.o
>   LD       /tmp/build/perf/trace/beauty/perf-in.o
>   CC       /tmp/build/perf/tests/sw-clock.o
>   CC       /tmp/build/perf/util/evsel_fprintf.o
>   CC       /tmp/build/perf/util/perf_event_attr_fprintf.o
>   CC       /tmp/build/perf/tests/mmap-thread-lookup.o
>   CC       /tmp/build/perf/util/evswitch.o
>   CC       /tmp/build/perf/tests/thread-maps-share.o
>   CC       /tmp/build/perf/tests/switch-tracking.o
>   CC       /tmp/build/perf/util/find_bit.o
>   CC       /tmp/build/perf/util/get_current_dir_name.o
>   CC       /tmp/build/perf/util/kallsyms.o
>   MKDIR    /tmp/build/perf/ui/tui/
>   CC       /tmp/build/perf/tests/keep-tracking.o
>   CC       /tmp/build/perf/ui/tui/setup.o
>   CC       /tmp/build/perf/util/levenshtein.o
>   CC       /tmp/build/perf/util/llvm-utils.o
>   CC       /tmp/build/perf/util/mmap.o
>   CC       /tmp/build/perf/util/memswap.o
>   MKDIR    /tmp/build/perf/ui/tui/
>   CC       /tmp/build/perf/ui/tui/util.o
>   CC       /tmp/build/perf/tests/code-reading.o
>   CC       /tmp/build/perf/tests/sample-parsing.o
>   CC       /tmp/build/perf/ui/tui/helpline.o
>   CC       /tmp/build/perf/tests/parse-no-sample-id-all.o
>   CC       /tmp/build/perf/ui/tui/progress.o
>   CC       /tmp/build/perf/tests/kmod-path.o
>   CC       /tmp/build/perf/tests/thread-map.o
>   LD       /tmp/build/perf/ui/tui/perf-in.o
>   CC       /tmp/build/perf/tests/llvm.o
>   CC       /tmp/build/perf/tests/bpf.o
>   CC       /tmp/build/perf/tests/topology.o
>   CC       /tmp/build/perf/tests/mem.o
>   CC       /tmp/build/perf/tests/cpumap.o
>   CC       /tmp/build/perf/tests/stat.o
>   CC       /tmp/build/perf/tests/event_update.o
>   CC       /tmp/build/perf/ui/browsers/scripts.o
>   CC       /tmp/build/perf/ui/browsers/header.o
>   CC       /tmp/build/perf/tests/event-times.o
>   CC       /tmp/build/perf/ui/browsers/res_sample.o
>   CC       /tmp/build/perf/tests/expr.o
>   CC       /tmp/build/perf/tests/backward-ring-buffer.o
>   CC       /tmp/build/perf/tests/sdt.o
>   CC       /tmp/build/perf/tests/is_printable_array.o
>   CC       /tmp/build/perf/tests/bitmap.o
>   BISON    /tmp/build/perf/util/parse-events-bison.c
>   CC       /tmp/build/perf/tests/perf-hooks.o
>   CC       /tmp/build/perf/tests/clang.o
>   CC       /tmp/build/perf/util/perf_regs.o
>   CC       /tmp/build/perf/tests/unit_number__scnprintf.o
>   CC       /tmp/build/perf/tests/mem2node.o
>   CC       /tmp/build/perf/tests/maps.o
>   CC       /tmp/build/perf/tests/time-utils-test.o
>   CC       /tmp/build/perf/tests/genelf.o
>   CC       /tmp/build/perf/tests/api-io.o
>   CC       /tmp/build/perf/tests/demangle-java-test.o
>   CC       /tmp/build/perf/util/path.o
>   CC       /tmp/build/perf/util/print_binary.o
>   CC       /tmp/build/perf/tests/pfm.o
>   CC       /tmp/build/perf/tests/parse-metric.o
>   CC       /tmp/build/perf/util/rlimit.o
>   CC       /tmp/build/perf/tests/dwarf-unwind.o
>   CC       /tmp/build/perf/util/argv_split.o
>   CC       /tmp/build/perf/util/rbtree.o
>   CC       /tmp/build/perf/util/libstring.o
>   CC       /tmp/build/perf/util/bitmap.o
>   CC       /tmp/build/perf/tests/llvm-src-base.o
>   CC       /tmp/build/perf/tests/llvm-src-kbuild.o
>   CC       /tmp/build/perf/tests/llvm-src-prologue.o
>   CC       /tmp/build/perf/tests/llvm-src-relocation.o
>   CC       /tmp/build/perf/util/hweight.o
>   CC       /tmp/build/perf/util/smt.o
>   CC       /tmp/build/perf/util/strbuf.o
>   CC       /tmp/build/perf/util/string.o
>   LD       /tmp/build/perf/tests/perf-in.o
>   CC       /tmp/build/perf/util/strlist.o
>   CC       /tmp/build/perf/util/strfilter.o
>   CC       /tmp/build/perf/util/top.o
>   CC       /tmp/build/perf/util/usage.o
>   CC       /tmp/build/perf/util/dso.o
>   CC       /tmp/build/perf/util/dsos.o
>   CC       /tmp/build/perf/util/symbol.o
>   CC       /tmp/build/perf/util/symbol_fprintf.o
>   CC       /tmp/build/perf/util/color.o
>   CC       /tmp/build/perf/util/color_config.o
>   CC       /tmp/build/perf/util/metricgroup.o
>   CC       /tmp/build/perf/util/header.o
>   LD       /tmp/build/perf/ui/browsers/perf-in.o
>   CC       /tmp/build/perf/util/callchain.o
>   LD       /tmp/build/perf/ui/perf-in.o
>   CC       /tmp/build/perf/util/values.o
>   CC       /tmp/build/perf/util/debug.o
>   CC       /tmp/build/perf/util/fncache.o
>   CC       /tmp/build/perf/util/machine.o
>   CC       /tmp/build/perf/util/map.o
>   CC       /tmp/build/perf/util/pstack.o
>   CC       /tmp/build/perf/util/session.o
>   CC       /tmp/build/perf/util/sample-raw.o
>   CC       /tmp/build/perf/util/s390-sample-raw.o
>   CC       /tmp/build/perf/util/syscalltbl.o
>   CC       /tmp/build/perf/util/ordered-events.o
>   CC       /tmp/build/perf/util/namespaces.o
>   CC       /tmp/build/perf/util/comm.o
>   CC       /tmp/build/perf/util/thread.o
>   CC       /tmp/build/perf/util/thread_map.o
>   CC       /tmp/build/perf/util/trace-event-parse.o
>   FLEX     /tmp/build/perf/util/parse-events-flex.h
>   BISON    /tmp/build/perf/util/pmu-bison.c
>   CC       /tmp/build/perf/util/trace-event-read.o
>   CC       /tmp/build/perf/util/trace-event-info.o
>   CC       /tmp/build/perf/util/trace-event-scripting.o
>   CC       /tmp/build/perf/util/trace-event.o
>   CC       /tmp/build/perf/util/svghelper.o
>   CC       /tmp/build/perf/util/sort.o
>   CC       /tmp/build/perf/util/hist.o
>   CC       /tmp/build/perf/util/util.o
>   CC       /tmp/build/perf/util/cpumap.o
>   CC       /tmp/build/perf/util/affinity.o
>   CC       /tmp/build/perf/util/cputopo.o
>   CC       /tmp/build/perf/util/cgroup.o
>   CC       /tmp/build/perf/util/target.o
>   CC       /tmp/build/perf/util/rblist.o
>   CC       /tmp/build/perf/util/intlist.o
>   CC       /tmp/build/perf/util/vdso.o
>   CC       /tmp/build/perf/util/counts.o
>   CC       /tmp/build/perf/util/stat.o
>   CC       /tmp/build/perf/util/stat-shadow.o
>   CC       /tmp/build/perf/util/stat-display.o
>   CC       /tmp/build/perf/util/perf_api_probe.o
>   CC       /tmp/build/perf/util/record.o
>   CC       /tmp/build/perf/util/srcline.o
>   CC       /tmp/build/perf/util/srccode.o
>   CC       /tmp/build/perf/util/synthetic-events.o
>   CC       /tmp/build/perf/util/data.o
>   CC       /tmp/build/perf/util/tsc.o
>   CC       /tmp/build/perf/util/cloexec.o
>   CC       /tmp/build/perf/util/call-path.o
>   CC       /tmp/build/perf/util/rwsem.o
>   CC       /tmp/build/perf/util/thread-stack.o
>   CC       /tmp/build/perf/util/spark.o
>   CC       /tmp/build/perf/util/auxtrace.o
>   MKDIR    /tmp/build/perf/util/intel-pt-decoder/
>   CC       /tmp/build/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.o
>   MKDIR    /tmp/build/perf/util/intel-pt-decoder/
>   GEN      /tmp/build/perf/util/intel-pt-decoder/inat-tables.c
>   MKDIR    /tmp/build/perf/util/arm-spe-decoder/
>   CC       /tmp/build/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.o
>   MKDIR    /tmp/build/perf/util/scripting-engines/
>   CC       /tmp/build/perf/util/scripting-engines/trace-event-perl.o
>   CC       /tmp/build/perf/util/intel-pt-decoder/intel-pt-log.o
>   CC       /tmp/build/perf/util/intel-pt-decoder/intel-pt-decoder.o
>   MKDIR    /tmp/build/perf/util/arm-spe-decoder/
>   MKDIR    /tmp/build/perf/util/scripting-engines/
>   CC       /tmp/build/perf/util/arm-spe-decoder/arm-spe-decoder.o
>   CC       /tmp/build/perf/util/scripting-engines/trace-event-python.o
>   LD       /tmp/build/perf/util/arm-spe-decoder/perf-in.o
>   CC       /tmp/build/perf/util/intel-pt.o
>   CC       /tmp/build/perf/util/intel-bts.o
>   CC       /tmp/build/perf/util/intel-pt-decoder/intel-pt-insn-decoder.o
>   CC       /tmp/build/perf/util/arm-spe.o
>   CC       /tmp/build/perf/util/s390-cpumsf.o
>   CC       /tmp/build/perf/util/parse-branch-options.o
>   CC       /tmp/build/perf/util/dump-insn.o
>   CC       /tmp/build/perf/util/parse-regs-options.o
>   CC       /tmp/build/perf/util/term.o
>   CC       /tmp/build/perf/util/help-unknown-cmd.o
>   CC       /tmp/build/perf/util/mem-events.o
>   CC       /tmp/build/perf/util/vsprintf.o
>   CC       /tmp/build/perf/util/units.o
>   CC       /tmp/build/perf/util/time-utils.o
>   BISON    /tmp/build/perf/util/expr-bison.c
>   CC       /tmp/build/perf/util/branch.o
>   CC       /tmp/build/perf/util/mem2node.o
>   CC       /tmp/build/perf/util/bpf-loader.o
>   CC       /tmp/build/perf/util/bpf_map.o
>   LD       /tmp/build/perf/util/intel-pt-decoder/perf-in.o
>   LD       /tmp/build/perf/util/scripting-engines/perf-in.o
>   CC       /tmp/build/perf/util/symbol-elf.o
>   CC       /tmp/build/perf/util/probe-file.o
>   CC       /tmp/build/perf/util/probe-event.o
>   CC       /tmp/build/perf/util/unwind-libunwind-local.o
>   CC       /tmp/build/perf/util/unwind-libunwind.o
>   CC       /tmp/build/perf/util/zlib.o
>   CC       /tmp/build/perf/util/lzma.o
>   CC       /tmp/build/perf/util/zstd.o
>   CC       /tmp/build/perf/util/cap.o
>   CC       /tmp/build/perf/util/demangle-java.o
>   CC       /tmp/build/perf/util/demangle-rust.o
>   CC       /tmp/build/perf/util/jitdump.o
>   CC       /tmp/build/perf/util/genelf.o
>   CC       /tmp/build/perf/util/perf-hooks.o
>   CC       /tmp/build/perf/util/bpf-event.o
>   FLEX     /tmp/build/perf/util/parse-events-flex.c
>   CC       /tmp/build/perf/util/parse-events-bison.o
>   FLEX     /tmp/build/perf/util/pmu-flex.c
>   CC       /tmp/build/perf/util/pmu-bison.o
>   FLEX     /tmp/build/perf/util/expr-flex.c
> In file included from util/parse-events.y:20:0:
> /tmp/build/perf/util/parse-events-flex.h:546:0: error: unterminated #else
>  #ifndef YY_READ_BUF_SIZE
> 
> /tmp/build/perf/util/parse-events-flex.h:545:0: error: unterminated #ifndef
>  /* Amount of stuff to slurp up with each read. */
> 
> In file included from util/parse-events.y:20:0:
> /tmp/build/perf/util/parse-events-flex.h:1:0: error: unterminated #ifndef
>  #ifndef parse_events_HEADER_H
> 
> mv: can't rename '/tmp/build/perf/util/.parse-events-bison.o.tmp': No such file or directory
> make[4]: *** [/git/linux/tools/build/Makefile.build:96: /tmp/build/perf/util/parse-events-bison.o] Error 1
> make[4]: *** Waiting for unfinished jobs....
> make[3]: *** [/git/linux/tools/build/Makefile.build:139: util] Error 2
> make[2]: *** [Makefile.perf:625: /tmp/build/perf/perf-in.o] Error 2
> make[1]: *** [Makefile.perf:231: sub-make] Error 2
> make: *** [Makefile:70: all] Error 2
> make: Leaving directory '/git/linux/tools/perf'
> 
> 
>    1 alpine:3.4       : FAIL gcc (Alpine 5.3.0) 5.3.0, clang version 3.8.0 (tags/RELEASE_380/final)
>    2 alpine:3.5       : FAIL gcc (Alpine 6.2.1) 6.2.1 20160822, clang version 3.8.1 (tags/RELEASE_381/final)
> 
>   CC       /tmp/build/perf/util/parse-events-bison.o
> In file included from util/parse-events.y:20:0:
> /tmp/build/perf/util/parse-events-flex.h:323:0: error: unterminated #ifndef
>  #ifndef YY_DECL
>  ^
> In file included from util/parse-events.y:20:0:
> /tmp/build/perf/util/parse-events-flex.h:1:0: error: unterminated #ifndef
>  #ifndef parse_events_HEADER_H
>  ^
> mv: can't rename '/tmp/build/perf/util/.parse-events-bison.o.tmp': No such file or directory
> /git/linux/tools/build/Makefile.build:96: recipe for target '/tmp/build/perf/util/parse-events-bison.o' failed
> make[4]: *** [/tmp/build/perf/util/parse-events-bison.o] Error 1
> make[4]: *** Waiting for unfinished jobs....
>   LD       /tmp/build/perf/util/intel-pt-decoder/perf-in.o
> /git/linux/tools/build/Makefile.build:139: recipe for target 'util' failed
> 
> Slightly different:
> 
>      3 alpine:3.6     : FAIL gcc (Alpine 6.3.0) 6.3.0, clang version 4.0.0 (tags/RELEASE_400/final)
> 
>   CC       /tmp/build/perf/util/perf-hooks.o
>   FLEX     /tmp/build/perf/util/parse-events-flex.c
>   CC       /tmp/build/perf/util/parse-events-bison.o
>   FLEX     /tmp/build/perf/util/pmu-flex.c
> In file included from util/parse-events.y:20:0:
> /tmp/build/perf/util/parse-events-flex.h:1:0: error: unterminated #ifndef
>  #ifndef parse_events_HEADER_H
>  
> mv: can't rename '/tmp/build/perf/util/.parse-events-bison.o.tmp': No such file or directory
> make[4]: *** [/git/linux/tools/build/Makefile.build:97: /tmp/build/perf/util/parse-events-bison.o] Error 1
> make[4]: *** Waiting for unfinished jobs....
> 
> 
>    4 alpine:3.7       : FAIL gcc (Alpine 6.4.0) 6.4.0, Alpine clang version 5.0.0 (tags/RELEASE_500/final) (based on LLVM 5.0.0)
> 
>   CC       /tmp/build/perf/util/pmu-bison.o
> In file included from util/parse-events.y:20:0:
> /tmp/build/perf/util/parse-events-flex.h:546:0: error: unterminated #else
>  #ifndef YY_READ_BUF_SIZE
> 
> /tmp/build/perf/util/parse-events-flex.h:545:0: error: unterminated #ifndef
>  /* Amount of stuff to slurp up with each read. */
> 
> In file included from util/parse-events.y:20:0:
> /tmp/build/perf/util/parse-events-flex.h:1:0: error: unterminated #ifndef
>  #ifndef parse_events_HEADER_H
> 
>   FLEX     /tmp/build/perf/util/expr-flex.c
> mv: can't rename '/tmp/build/perf/util/.parse-events-bison.o.tmp': No such file or directory
> make[4]: *** [/git/linux/tools/build/Makefile.build:96: /tmp/build/perf/util/parse-events-bison.o] Error 1
> 
> 

-- 

- Arnaldo

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings
  2020-06-19 12:20   ` Arnaldo Carvalho de Melo
@ 2020-06-19 15:15     ` Ian Rogers
  0 siblings, 0 replies; 15+ messages in thread
From: Ian Rogers @ 2020-06-19 15:15 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Peter Zijlstra, Ingo Molnar, Mark Rutland, Alexander Shishkin,
	Jiri Olsa, Namhyung Kim, Andi Kleen, Jin Yao, John Garry,
	Adrian Hunter, LKML, Stephane Eranian

On Fri, Jun 19, 2020 at 5:20 AM Arnaldo Carvalho de Melo
<acme@kernel.org> wrote:
>
> Em Fri, Jun 19, 2020 at 09:15:57AM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Thu, Jun 18, 2020 at 09:33:46PM -0700, Ian Rogers escreveu:
> > > All C compiler warnings are disabled are disabled by -w. This change
> > > removes the -w from flex and bison targets. To avoid implicit
> > > declarations header files are declared as targets and included.
> > >
> > > Tested with GCC 9.3.0 and clang 9.0.1.
> > >
> > > v2. predicates disabling the warnings on more recent bison and flex
> > >     versions (3.5.3 and 2.6.4 respectively). An alternative would be
> > >     to disabled a large number of warnings to cover the warnings
> > >     generated in older distributions:
> > >   flex_flags := -Wno-switch-enum -Wno-switch-default -Wno-unused-function \
> > >     -Wno-redundant-decls -Wno-sign-compare -Wno-unused-parameter \
> > >     -Wno-missing-prototypes -Wno-misleading-indentation
> > >   bison_flags := -DYYENABLE_NLS=0 -Wno-unused-parameter -Wno-nested-externs \
> > >     -Wno-implicit-function-declaration -Wno-switch-enum
> >
> > So, it is failing with older versions of alpine Linux, but then at
> > alpine 3.8 I noticed that the problem is happening only when building
> > with this following set of options, and when building with gcc, building
> > with clang, i.e. adding CC=clang to the following make command line
> > works.
>
> I'll also check if this isn't because these container tests do multiple
> make calls, with different sets of options (NO_LIBBPF=1, another with
> NO_LIBELF=1, the one with LIBCLANGLLVM=1, etc) and perhaps the stuff
> from previous builds pollute a subsequent build, i.e. will try adding a
> rm -rf to the O= directory if missing.

Thanks! I don't have a good explanation as to why this would fail.
Sorry about the Acked-by. Let me know if I should do anything more.

Ian

> > + make 'ARCH=' 'CROSS_COMPILE=' 'EXTRA_CFLAGS=' 'LIBCLANGLLVM=1' -C /git/linux/tools/perf 'O=/tmp/build/perf'
> > make: Entering directory '/git/linux/tools/perf'
> >   BUILD:   Doing 'make -j8' parallel build
> >   HOSTCC   /tmp/build/perf/fixdep.o
> >   HOSTLD   /tmp/build/perf/fixdep-in.o
> >   LINK     /tmp/build/perf/fixdep
> >
> > Auto-detecting system features:
> > ...                         dwarf: [ OFF ]
> > ...            dwarf_getlocations: [ OFF ]
> > ...                         glibc: [ OFF ]
> > ...                          gtk2: [ on  ]
> > ...                        libbfd: [ on  ]
> > ...                        libcap: [ on  ]
> > ...                        libelf: [ on  ]
> > ...                       libnuma: [ OFF ]
> > ...        numa_num_possible_cpus: [ OFF ]
> > ...                       libperl: [ on  ]
> > ...                     libpython: [ on  ]
> > ...                     libcrypto: [ on  ]
> > ...                     libunwind: [ on  ]
> > ...            libdw-dwarf-unwind: [ OFF ]
> > ...                          zlib: [ on  ]
> > ...                          lzma: [ on  ]
> > ...                     get_cpuid: [ on  ]
> > ...                           bpf: [ on  ]
> > ...                        libaio: [ on  ]
> > ...                       libzstd: [ on  ]
> > ...        disassembler-four-args: [ on  ]
> >
> > Makefile.config:409: No libdw DWARF unwind found, Please install elfutils-devel/libdw-dev >= 0.158 and/or set LIBDW_DIR
> > Makefile.config:414: No libdw.h found or old libdw.h found or elfutils is older than 0.138, disables dwarf support. Please install new elfutils-devel/libdw-dev
> > Makefile.config:485: gelf_getnote() not found on libelf, SDT support disabled
> > Makefile.config:528: DWARF support is off, BPF prologue is disabled
> > Makefile.config:536: No sys/sdt.h found, no SDT events are defined, please install systemtap-sdt-devel or systemtap-sdt-dev
> > Makefile.config:890: No numa.h found, disables 'perf bench numa mem' benchmark, please install numactl-devel/libnuma-devel/libnuma-dev
> > Makefile.config:945: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev
> > Makefile.config:971: No alternatives command found, you need to set JDIR= to point to the root of your Java directory
> > Makefile.config:1008: No suitable libclang found, disabling builtin clang and LLVM support. Please install libclang-dev(el) (>= 3.9.0)
> >   GEN      /tmp/build/perf/common-cmds.h
> > sort: unrecognized option: V
> > BusyBox v1.28.4 (2018-12-31 18:05:13 UTC) multi-call binary.
> >   PERF_VERSION = 5.7.g6f01af8176af
> >
> > Usage: sort [-nrugMcszbdfiokt] [-o FILE] [-k start[.offset][opts][,end[.offset][opts]] [-t CHAR] [FILE]...
> >
> > Sort lines of text
> >
> >       -o FILE Output to FILE
> >       -c      Check whether input is sorted
> >       -b      Ignore leading blanks
> >       -f      Ignore case
> >       -i      Ignore unprintable characters
> >       -d      Dictionary order (blank or alphanumeric only)
> >       -g      General numerical sort
> >       -M      Sort month
> >       -n      Sort numbers
> >       -t CHAR Field separator
> >       -k N[,M] Sort by Nth field
> >       -r      Reverse sort order
> >       -s      Stable (don't sort ties alphabetically)
> >       -u      Suppress duplicate lines
> >       -z      Lines are terminated by NUL, not newline
> >   CC       /tmp/build/perf/exec-cmd.o
> >   CC       /tmp/build/perf/event-parse.o
> >   MKDIR    /tmp/build/perf/fd/
> >   CC       /tmp/build/perf/fd/array.o
> >   GEN      /tmp/build/perf/bpf_helper_defs.h
> >   CC       /tmp/build/perf/event-plugin.o
> >   CC       /tmp/build/perf/core.o
> >   LD       /tmp/build/perf/fd/libapi-in.o
> >   MKDIR    /tmp/build/perf/fs/
> >   CC       /tmp/build/perf/fs/fs.o
> >   CC       /tmp/build/perf/cpumap.o
> >   CC       /tmp/build/perf/trace-seq.o
> >   CC       /tmp/build/perf/threadmap.o
> >   CC       /tmp/build/perf/help.o
> >   MKDIR    /tmp/build/perf/staticobjs/
> >   CC       /tmp/build/perf/staticobjs/libbpf.o
> >   MKDIR    /tmp/build/perf/staticobjs/
> >   CC       /tmp/build/perf/staticobjs/bpf.o
> >   CC       /tmp/build/perf/cpu.o
> >   CC       /tmp/build/perf/parse-filter.o
> >   CC       /tmp/build/perf/evsel.o
> >   CC       /tmp/build/perf/evlist.o
> >   CC       /tmp/build/perf/pager.o
> >   CC       /tmp/build/perf/parse-options.o
> >   CC       /tmp/build/perf/parse-utils.o
> >   CC       /tmp/build/perf/mmap.o
> >   CC       /tmp/build/perf/kbuffer-parse.o
> >   CC       /tmp/build/perf/zalloc.o
> >   CC       /tmp/build/perf/tep_strerror.o
> >   CC       /tmp/build/perf/xyarray.o
> >   CC       /tmp/build/perf/event-parse-api.o
> >   CC       /tmp/build/perf/run-command.o
> >   CC       /tmp/build/perf/sigchain.o
> >   LD       /tmp/build/perf/libtraceevent-in.o
> >   LINK     /tmp/build/perf/libtraceevent.a
> >   MKDIR    /tmp/build/perf/fs/
> >   CC       /tmp/build/perf/fs/tracing_path.o
> >   CC       /tmp/build/perf/debug.o
> >   CC       /tmp/build/perf/str_error_r.o
> >   CC       /tmp/build/perf/fs/cgroup.o
> >   CC       /tmp/build/perf/subcmd-config.o
> >   CC       /tmp/build/perf/lib.o
> >   CC       /tmp/build/perf/staticobjs/nlattr.o
> >   CC       /tmp/build/perf/staticobjs/btf.o
> >   CC       /tmp/build/perf/staticobjs/libbpf_errno.o
> >   LD       /tmp/build/perf/fs/libapi-in.o
> >   CC       /tmp/build/perf/staticobjs/str_error.o
> >   CC       /tmp/build/perf/staticobjs/netlink.o
> >   LD       /tmp/build/perf/libapi-in.o
> >   AR       /tmp/build/perf/libapi.a
> >   CC       /tmp/build/perf/staticobjs/bpf_prog_linfo.o
> >   LD       /tmp/build/perf/libperf-in.o
> >   AR       /tmp/build/perf/libperf.a
> >   CC       /tmp/build/perf/staticobjs/libbpf_probes.o
> >   CC       /tmp/build/perf/staticobjs/xsk.o
> >   LD       /tmp/build/perf/libsubcmd-in.o
> >   CC       /tmp/build/perf/staticobjs/hashmap.o
> >   AR       /tmp/build/perf/libsubcmd.a
> >   CC       /tmp/build/perf/staticobjs/btf_dump.o
> >   CC       /tmp/build/perf/staticobjs/ringbuf.o
> >   MKDIR    /tmp/build/perf/pmu-events/
> >   GEN      perf-archive
> >   HOSTCC   /tmp/build/perf/pmu-events/json.o
> >   GEN      perf-with-kcore
> >   MKDIR    /tmp/build/perf/ui/gtk/
> >   MKDIR    /tmp/build/perf/pmu-events/
> >   CC       /tmp/build/perf/ui/gtk/browser.o
> >   HOSTCC   /tmp/build/perf/pmu-events/jsmn.o
> >   HOSTCC   /tmp/build/perf/pmu-events/jevents.o
> >   CC       /tmp/build/perf/plugin_jbd2.o
> >   CC       /tmp/build/perf/plugin_hrtimer.o
> >   CC       /tmp/build/perf/plugin_kmem.o
> >   CC       /tmp/build/perf/plugin_kvm.o
> >   LD       /tmp/build/perf/plugin_hrtimer-in.o
> >   LD       /tmp/build/perf/plugin_jbd2-in.o
> >   LD       /tmp/build/perf/plugin_kmem-in.o
> >   CC       /tmp/build/perf/plugin_mac80211.o
> >   CC       /tmp/build/perf/plugin_sched_switch.o
> >   CC       /tmp/build/perf/plugin_function.o
> >   LD       /tmp/build/perf/plugin_kvm-in.o
> >   LD       /tmp/build/perf/plugin_mac80211-in.o
> >   MKDIR    /tmp/build/perf/ui/gtk/
> >   CC       /tmp/build/perf/plugin_xen.o
> >   CC       /tmp/build/perf/ui/gtk/hists.o
> >   LD       /tmp/build/perf/plugin_sched_switch-in.o
> >   LD       /tmp/build/perf/staticobjs/libbpf-in.o
> >   LD       /tmp/build/perf/plugin_xen-in.o
> >   LINK     /tmp/build/perf/libbpf.a
> >   CC       /tmp/build/perf/plugin_scsi.o
> >   LD       /tmp/build/perf/plugin_function-in.o
> >   CC       /tmp/build/perf/plugin_cfg80211.o
> >   HOSTLD   /tmp/build/perf/pmu-events/jevents-in.o
> >   CC       /tmp/build/perf/ui/gtk/setup.o
> >   LINK     /tmp/build/perf/plugin_jbd2.so
> >   LINK     /tmp/build/perf/pmu-events/jevents
> >   GEN      /tmp/build/perf/pmu-events/pmu-events.c
> >   LINK     /tmp/build/perf/plugin_hrtimer.so
> >   LD       /tmp/build/perf/plugin_cfg80211-in.o
> >   LD       /tmp/build/perf/plugin_scsi-in.o
> >   LINK     /tmp/build/perf/plugin_kmem.so
> >   LINK     /tmp/build/perf/plugin_kvm.so
> >   CC       /tmp/build/perf/ui/gtk/util.o
> >   LINK     /tmp/build/perf/plugin_mac80211.so
> >   LINK     /tmp/build/perf/plugin_sched_switch.so
> >   LINK     /tmp/build/perf/plugin_function.so
> >   LINK     /tmp/build/perf/plugin_xen.so
> >   LINK     /tmp/build/perf/plugin_scsi.so
> >   LINK     /tmp/build/perf/plugin_cfg80211.so
> >   CC       /tmp/build/perf/ui/gtk/helpline.o
> >   GEN      /tmp/build/perf/libtraceevent-dynamic-list
> >   GEN      /tmp/build/perf/python/perf.so
> >   CC       /tmp/build/perf/ui/gtk/progress.o
> >   CC       /tmp/build/perf/pmu-events/pmu-events.o
> >   CC       /tmp/build/perf/ui/gtk/annotate.o
> >   CC       /tmp/build/perf/builtin-bench.o
> >   CC       /tmp/build/perf/ui/gtk/zalloc.o
> >   CC       /tmp/build/perf/builtin-annotate.o
> >   CC       /tmp/build/perf/builtin-config.o
> >   CC       /tmp/build/perf/builtin-diff.o
> >   CC       /tmp/build/perf/builtin-evlist.o
> >   CC       /tmp/build/perf/builtin-ftrace.o
> >   CC       /tmp/build/perf/builtin-help.o
> >   CC       /tmp/build/perf/builtin-sched.o
> >   CC       /tmp/build/perf/builtin-buildid-list.o
> >   LD       /tmp/build/perf/pmu-events/pmu-events-in.o
> >   LD       /tmp/build/perf/ui/gtk/gtk-in.o
> >   CC       /tmp/build/perf/builtin-buildid-cache.o
> >   CC       /tmp/build/perf/builtin-kallsyms.o
> >   CC       /tmp/build/perf/builtin-list.o
> >   CC       /tmp/build/perf/builtin-record.o
> >   CC       /tmp/build/perf/builtin-report.o
> >   LD       /tmp/build/perf/gtk-in.o
> >   LINK     /tmp/build/perf/libperf-gtk.so
> >   CC       /tmp/build/perf/builtin-stat.o
> >   CC       /tmp/build/perf/builtin-timechart.o
> >   CC       /tmp/build/perf/builtin-top.o
> >   CC       /tmp/build/perf/builtin-script.o
> >   CC       /tmp/build/perf/builtin-kmem.o
> >   CC       /tmp/build/perf/builtin-lock.o
> >   CC       /tmp/build/perf/builtin-kvm.o
> >   CC       /tmp/build/perf/builtin-inject.o
> >   CC       /tmp/build/perf/builtin-mem.o
> >   CC       /tmp/build/perf/builtin-data.o
> >   CC       /tmp/build/perf/builtin-version.o
> >   CC       /tmp/build/perf/builtin-c2c.o
> >   CC       /tmp/build/perf/builtin-trace.o
> >   CC       /tmp/build/perf/builtin-probe.o
> >   MKDIR    /tmp/build/perf/bench/
> >   CC       /tmp/build/perf/bench/sched-messaging.o
> >   MKDIR    /tmp/build/perf/tests/
> >   CC       /tmp/build/perf/tests/builtin-test.o
> >   MKDIR    /tmp/build/perf/bench/
> >   CC       /tmp/build/perf/bench/sched-pipe.o
> >   MKDIR    /tmp/build/perf/util/
> >   CC       /tmp/build/perf/util/annotate.o
> >   CC       /tmp/build/perf/bench/mem-functions.o
> >   CC       /tmp/build/perf/arch/common.o
> >   MKDIR    /tmp/build/perf/tests/
> >   MKDIR    /tmp/build/perf/arch/x86/util/
> >   CC       /tmp/build/perf/arch/x86/util/header.o
> >   CC       /tmp/build/perf/bench/futex-hash.o
> >   CC       /tmp/build/perf/tests/parse-events.o
> >   CC       /tmp/build/perf/bench/futex-wake.o
> >   MKDIR    /tmp/build/perf/arch/x86/util/
> >   CC       /tmp/build/perf/arch/x86/util/tsc.o
> >   CC       /tmp/build/perf/arch/x86/util/pmu.o
> >   CC       /tmp/build/perf/arch/x86/util/kvm-stat.o
> >   CC       /tmp/build/perf/bench/futex-wake-parallel.o
> >   CC       /tmp/build/perf/arch/x86/util/perf_regs.o
> >   CC       /tmp/build/perf/bench/futex-requeue.o
> >   CC       /tmp/build/perf/bench/futex-lock-pi.o
> >   CC       /tmp/build/perf/arch/x86/util/group.o
> >   CC       /tmp/build/perf/arch/x86/util/machine.o
> >   CC       /tmp/build/perf/arch/x86/util/event.o
> >   CC       /tmp/build/perf/arch/x86/util/unwind-libunwind.o
> >   CC       /tmp/build/perf/arch/x86/util/auxtrace.o
> >   CC       /tmp/build/perf/bench/epoll-wait.o
> >   MKDIR    /tmp/build/perf/arch/x86/tests/
> >   CC       /tmp/build/perf/arch/x86/tests/regs_load.o
> >   MKDIR    /tmp/build/perf/util/
> >   CC       /tmp/build/perf/util/block-info.o
> >   MKDIR    /tmp/build/perf/arch/x86/tests/
> >   CC       /tmp/build/perf/arch/x86/tests/dwarf-unwind.o
> >   CC       /tmp/build/perf/arch/x86/util/archinsn.o
> >   CC       /tmp/build/perf/arch/x86/tests/arch-tests.o
> >   CC       /tmp/build/perf/bench/epoll-ctl.o
> >   CC       /tmp/build/perf/arch/x86/tests/rdpmc.o
> >   CC       /tmp/build/perf/tests/dso-data.o
> >   CC       /tmp/build/perf/arch/x86/util/intel-pt.o
> >   CC       /tmp/build/perf/arch/x86/tests/perf-time-to-tsc.o
> >   CC       /tmp/build/perf/bench/synthesize.o
> >   CC       /tmp/build/perf/util/block-range.o
> >   CC       /tmp/build/perf/bench/kallsyms-parse.o
> >   CC       /tmp/build/perf/arch/x86/tests/insn-x86.o
> >   CC       /tmp/build/perf/util/build-id.o
> >   CC       /tmp/build/perf/util/cacheline.o
> >   CC       /tmp/build/perf/bench/mem-memcpy-x86-64-lib.o
> >   CC       /tmp/build/perf/tests/attr.o
> >   CC       /tmp/build/perf/bench/mem-memcpy-x86-64-asm.o
> >   CC       /tmp/build/perf/bench/mem-memset-x86-64-asm.o
> >   CC       /tmp/build/perf/util/config.o
> >   CC       /tmp/build/perf/arch/x86/util/intel-bts.o
> >   LD       /tmp/build/perf/bench/perf-in.o
> >   CC       /tmp/build/perf/arch/x86/tests/intel-pt-pkt-decoder-test.o
> >   CC       /tmp/build/perf/ui/setup.o
> >   CC       /tmp/build/perf/tests/vmlinux-kallsyms.o
> >   CC       /tmp/build/perf/arch/x86/tests/bp-modify.o
> >   CC       /tmp/build/perf/ui/helpline.o
> >   LD       /tmp/build/perf/arch/x86/util/perf-in.o
> >   CC       /tmp/build/perf/ui/progress.o
> >   CC       /tmp/build/perf/tests/openat-syscall.o
> >   LD       /tmp/build/perf/arch/x86/tests/perf-in.o
> >   CC       /tmp/build/perf/tests/openat-syscall-all-cpus.o
> >   LD       /tmp/build/perf/arch/x86/perf-in.o
> >   LD       /tmp/build/perf/arch/perf-in.o
> >   CC       /tmp/build/perf/tests/openat-syscall-tp-fields.o
> >   CC       /tmp/build/perf/ui/util.o
> >   CC       /tmp/build/perf/ui/hist.o
> >   CC       /tmp/build/perf/util/copyfile.o
> >   CC       /tmp/build/perf/tests/mmap-basic.o
> >   MKDIR    /tmp/build/perf/ui/stdio/
> >   CC       /tmp/build/perf/ui/stdio/hist.o
> >   CC       /tmp/build/perf/tests/perf-record.o
> >   CC       /tmp/build/perf/util/ctype.o
> >   CC       /tmp/build/perf/util/db-export.o
> >   CC       /tmp/build/perf/tests/evsel-roundtrip-name.o
> >   CC       /tmp/build/perf/tests/evsel-tp-sched.o
> >   MKDIR    /tmp/build/perf/scripts/perl/Perf-Trace-Util/
> >   CC       /tmp/build/perf/scripts/perl/Perf-Trace-Util/Context.o
> >   CC       /tmp/build/perf/tests/fdarray.o
> >   CC       /tmp/build/perf/tests/pmu.o
> >   CC       /tmp/build/perf/tests/pmu-events.o
> >   CC       /tmp/build/perf/tests/hists_common.o
> >   CC       /tmp/build/perf/tests/hists_link.o
> >   LD       /tmp/build/perf/scripts/perl/Perf-Trace-Util/perf-in.o
> >   MKDIR    /tmp/build/perf/scripts/python/Perf-Trace-Util/
> >   CC       /tmp/build/perf/ui/browser.o
> >   CC       /tmp/build/perf/scripts/python/Perf-Trace-Util/Context.o
> >   CC       /tmp/build/perf/tests/hists_filter.o
> >   CC       /tmp/build/perf/util/env.o
> >   CC       /tmp/build/perf/tests/hists_output.o
> >   CC       /tmp/build/perf/tests/hists_cumulate.o
> >   LD       /tmp/build/perf/scripts/python/Perf-Trace-Util/perf-in.o
> >   LD       /tmp/build/perf/scripts/perf-in.o
> >   CC       /tmp/build/perf/trace/beauty/clone.o
> >   CC       /tmp/build/perf/perf.o
> >   CC       /tmp/build/perf/trace/beauty/fcntl.o
> >   MKDIR    /tmp/build/perf/ui/browsers/
> >   CC       /tmp/build/perf/ui/browsers/annotate.o
> >   CC       /tmp/build/perf/util/event.o
> >   CC       /tmp/build/perf/tests/python-use.o
> >   CC       /tmp/build/perf/trace/beauty/flock.o
> >   CC       /tmp/build/perf/trace/beauty/fsmount.o
> >   CC       /tmp/build/perf/trace/beauty/fspick.o
> >   CC       /tmp/build/perf/trace/beauty/ioctl.o
> >   CC       /tmp/build/perf/trace/beauty/kcmp.o
> >   CC       /tmp/build/perf/tests/bp_signal.o
> >   CC       /tmp/build/perf/tests/bp_signal_overflow.o
> >   CC       /tmp/build/perf/trace/beauty/mount_flags.o
> >   CC       /tmp/build/perf/trace/beauty/move_mount.o
> >   CC       /tmp/build/perf/trace/beauty/pkey_alloc.o
> >   CC       /tmp/build/perf/trace/beauty/arch_prctl.o
> >   CC       /tmp/build/perf/trace/beauty/prctl.o
> >   CC       /tmp/build/perf/tests/bp_account.o
> >   CC       /tmp/build/perf/trace/beauty/renameat.o
> >   CC       /tmp/build/perf/tests/wp.o
> >   CC       /tmp/build/perf/tests/task-exit.o
> >   CC       /tmp/build/perf/util/evlist.o
> >   CC       /tmp/build/perf/trace/beauty/sockaddr.o
> >   CC       /tmp/build/perf/trace/beauty/socket.o
> >   CC       /tmp/build/perf/trace/beauty/statx.o
> >   CC       /tmp/build/perf/trace/beauty/sync_file_range.o
> >   CC       /tmp/build/perf/util/sideband_evlist.o
> >   MKDIR    /tmp/build/perf/ui/browsers/
> >   CC       /tmp/build/perf/ui/browsers/hists.o
> >   CC       /tmp/build/perf/ui/browsers/map.o
> >   MKDIR    /tmp/build/perf/trace/beauty/tracepoints/
> >   CC       /tmp/build/perf/trace/beauty/tracepoints/x86_irq_vectors.o
> >   MKDIR    /tmp/build/perf/trace/beauty/tracepoints/
> >   CC       /tmp/build/perf/trace/beauty/tracepoints/x86_msr.o
> >   CC       /tmp/build/perf/util/evsel.o
> >   LD       /tmp/build/perf/trace/beauty/tracepoints/perf-in.o
> >   LD       /tmp/build/perf/trace/beauty/perf-in.o
> >   CC       /tmp/build/perf/tests/sw-clock.o
> >   CC       /tmp/build/perf/util/evsel_fprintf.o
> >   CC       /tmp/build/perf/util/perf_event_attr_fprintf.o
> >   CC       /tmp/build/perf/tests/mmap-thread-lookup.o
> >   CC       /tmp/build/perf/util/evswitch.o
> >   CC       /tmp/build/perf/tests/thread-maps-share.o
> >   CC       /tmp/build/perf/tests/switch-tracking.o
> >   CC       /tmp/build/perf/util/find_bit.o
> >   CC       /tmp/build/perf/util/get_current_dir_name.o
> >   CC       /tmp/build/perf/util/kallsyms.o
> >   MKDIR    /tmp/build/perf/ui/tui/
> >   CC       /tmp/build/perf/tests/keep-tracking.o
> >   CC       /tmp/build/perf/ui/tui/setup.o
> >   CC       /tmp/build/perf/util/levenshtein.o
> >   CC       /tmp/build/perf/util/llvm-utils.o
> >   CC       /tmp/build/perf/util/mmap.o
> >   CC       /tmp/build/perf/util/memswap.o
> >   MKDIR    /tmp/build/perf/ui/tui/
> >   CC       /tmp/build/perf/ui/tui/util.o
> >   CC       /tmp/build/perf/tests/code-reading.o
> >   CC       /tmp/build/perf/tests/sample-parsing.o
> >   CC       /tmp/build/perf/ui/tui/helpline.o
> >   CC       /tmp/build/perf/tests/parse-no-sample-id-all.o
> >   CC       /tmp/build/perf/ui/tui/progress.o
> >   CC       /tmp/build/perf/tests/kmod-path.o
> >   CC       /tmp/build/perf/tests/thread-map.o
> >   LD       /tmp/build/perf/ui/tui/perf-in.o
> >   CC       /tmp/build/perf/tests/llvm.o
> >   CC       /tmp/build/perf/tests/bpf.o
> >   CC       /tmp/build/perf/tests/topology.o
> >   CC       /tmp/build/perf/tests/mem.o
> >   CC       /tmp/build/perf/tests/cpumap.o
> >   CC       /tmp/build/perf/tests/stat.o
> >   CC       /tmp/build/perf/tests/event_update.o
> >   CC       /tmp/build/perf/ui/browsers/scripts.o
> >   CC       /tmp/build/perf/ui/browsers/header.o
> >   CC       /tmp/build/perf/tests/event-times.o
> >   CC       /tmp/build/perf/ui/browsers/res_sample.o
> >   CC       /tmp/build/perf/tests/expr.o
> >   CC       /tmp/build/perf/tests/backward-ring-buffer.o
> >   CC       /tmp/build/perf/tests/sdt.o
> >   CC       /tmp/build/perf/tests/is_printable_array.o
> >   CC       /tmp/build/perf/tests/bitmap.o
> >   BISON    /tmp/build/perf/util/parse-events-bison.c
> >   CC       /tmp/build/perf/tests/perf-hooks.o
> >   CC       /tmp/build/perf/tests/clang.o
> >   CC       /tmp/build/perf/util/perf_regs.o
> >   CC       /tmp/build/perf/tests/unit_number__scnprintf.o
> >   CC       /tmp/build/perf/tests/mem2node.o
> >   CC       /tmp/build/perf/tests/maps.o
> >   CC       /tmp/build/perf/tests/time-utils-test.o
> >   CC       /tmp/build/perf/tests/genelf.o
> >   CC       /tmp/build/perf/tests/api-io.o
> >   CC       /tmp/build/perf/tests/demangle-java-test.o
> >   CC       /tmp/build/perf/util/path.o
> >   CC       /tmp/build/perf/util/print_binary.o
> >   CC       /tmp/build/perf/tests/pfm.o
> >   CC       /tmp/build/perf/tests/parse-metric.o
> >   CC       /tmp/build/perf/util/rlimit.o
> >   CC       /tmp/build/perf/tests/dwarf-unwind.o
> >   CC       /tmp/build/perf/util/argv_split.o
> >   CC       /tmp/build/perf/util/rbtree.o
> >   CC       /tmp/build/perf/util/libstring.o
> >   CC       /tmp/build/perf/util/bitmap.o
> >   CC       /tmp/build/perf/tests/llvm-src-base.o
> >   CC       /tmp/build/perf/tests/llvm-src-kbuild.o
> >   CC       /tmp/build/perf/tests/llvm-src-prologue.o
> >   CC       /tmp/build/perf/tests/llvm-src-relocation.o
> >   CC       /tmp/build/perf/util/hweight.o
> >   CC       /tmp/build/perf/util/smt.o
> >   CC       /tmp/build/perf/util/strbuf.o
> >   CC       /tmp/build/perf/util/string.o
> >   LD       /tmp/build/perf/tests/perf-in.o
> >   CC       /tmp/build/perf/util/strlist.o
> >   CC       /tmp/build/perf/util/strfilter.o
> >   CC       /tmp/build/perf/util/top.o
> >   CC       /tmp/build/perf/util/usage.o
> >   CC       /tmp/build/perf/util/dso.o
> >   CC       /tmp/build/perf/util/dsos.o
> >   CC       /tmp/build/perf/util/symbol.o
> >   CC       /tmp/build/perf/util/symbol_fprintf.o
> >   CC       /tmp/build/perf/util/color.o
> >   CC       /tmp/build/perf/util/color_config.o
> >   CC       /tmp/build/perf/util/metricgroup.o
> >   CC       /tmp/build/perf/util/header.o
> >   LD       /tmp/build/perf/ui/browsers/perf-in.o
> >   CC       /tmp/build/perf/util/callchain.o
> >   LD       /tmp/build/perf/ui/perf-in.o
> >   CC       /tmp/build/perf/util/values.o
> >   CC       /tmp/build/perf/util/debug.o
> >   CC       /tmp/build/perf/util/fncache.o
> >   CC       /tmp/build/perf/util/machine.o
> >   CC       /tmp/build/perf/util/map.o
> >   CC       /tmp/build/perf/util/pstack.o
> >   CC       /tmp/build/perf/util/session.o
> >   CC       /tmp/build/perf/util/sample-raw.o
> >   CC       /tmp/build/perf/util/s390-sample-raw.o
> >   CC       /tmp/build/perf/util/syscalltbl.o
> >   CC       /tmp/build/perf/util/ordered-events.o
> >   CC       /tmp/build/perf/util/namespaces.o
> >   CC       /tmp/build/perf/util/comm.o
> >   CC       /tmp/build/perf/util/thread.o
> >   CC       /tmp/build/perf/util/thread_map.o
> >   CC       /tmp/build/perf/util/trace-event-parse.o
> >   FLEX     /tmp/build/perf/util/parse-events-flex.h
> >   BISON    /tmp/build/perf/util/pmu-bison.c
> >   CC       /tmp/build/perf/util/trace-event-read.o
> >   CC       /tmp/build/perf/util/trace-event-info.o
> >   CC       /tmp/build/perf/util/trace-event-scripting.o
> >   CC       /tmp/build/perf/util/trace-event.o
> >   CC       /tmp/build/perf/util/svghelper.o
> >   CC       /tmp/build/perf/util/sort.o
> >   CC       /tmp/build/perf/util/hist.o
> >   CC       /tmp/build/perf/util/util.o
> >   CC       /tmp/build/perf/util/cpumap.o
> >   CC       /tmp/build/perf/util/affinity.o
> >   CC       /tmp/build/perf/util/cputopo.o
> >   CC       /tmp/build/perf/util/cgroup.o
> >   CC       /tmp/build/perf/util/target.o
> >   CC       /tmp/build/perf/util/rblist.o
> >   CC       /tmp/build/perf/util/intlist.o
> >   CC       /tmp/build/perf/util/vdso.o
> >   CC       /tmp/build/perf/util/counts.o
> >   CC       /tmp/build/perf/util/stat.o
> >   CC       /tmp/build/perf/util/stat-shadow.o
> >   CC       /tmp/build/perf/util/stat-display.o
> >   CC       /tmp/build/perf/util/perf_api_probe.o
> >   CC       /tmp/build/perf/util/record.o
> >   CC       /tmp/build/perf/util/srcline.o
> >   CC       /tmp/build/perf/util/srccode.o
> >   CC       /tmp/build/perf/util/synthetic-events.o
> >   CC       /tmp/build/perf/util/data.o
> >   CC       /tmp/build/perf/util/tsc.o
> >   CC       /tmp/build/perf/util/cloexec.o
> >   CC       /tmp/build/perf/util/call-path.o
> >   CC       /tmp/build/perf/util/rwsem.o
> >   CC       /tmp/build/perf/util/thread-stack.o
> >   CC       /tmp/build/perf/util/spark.o
> >   CC       /tmp/build/perf/util/auxtrace.o
> >   MKDIR    /tmp/build/perf/util/intel-pt-decoder/
> >   CC       /tmp/build/perf/util/intel-pt-decoder/intel-pt-pkt-decoder.o
> >   MKDIR    /tmp/build/perf/util/intel-pt-decoder/
> >   GEN      /tmp/build/perf/util/intel-pt-decoder/inat-tables.c
> >   MKDIR    /tmp/build/perf/util/arm-spe-decoder/
> >   CC       /tmp/build/perf/util/arm-spe-decoder/arm-spe-pkt-decoder.o
> >   MKDIR    /tmp/build/perf/util/scripting-engines/
> >   CC       /tmp/build/perf/util/scripting-engines/trace-event-perl.o
> >   CC       /tmp/build/perf/util/intel-pt-decoder/intel-pt-log.o
> >   CC       /tmp/build/perf/util/intel-pt-decoder/intel-pt-decoder.o
> >   MKDIR    /tmp/build/perf/util/arm-spe-decoder/
> >   MKDIR    /tmp/build/perf/util/scripting-engines/
> >   CC       /tmp/build/perf/util/arm-spe-decoder/arm-spe-decoder.o
> >   CC       /tmp/build/perf/util/scripting-engines/trace-event-python.o
> >   LD       /tmp/build/perf/util/arm-spe-decoder/perf-in.o
> >   CC       /tmp/build/perf/util/intel-pt.o
> >   CC       /tmp/build/perf/util/intel-bts.o
> >   CC       /tmp/build/perf/util/intel-pt-decoder/intel-pt-insn-decoder.o
> >   CC       /tmp/build/perf/util/arm-spe.o
> >   CC       /tmp/build/perf/util/s390-cpumsf.o
> >   CC       /tmp/build/perf/util/parse-branch-options.o
> >   CC       /tmp/build/perf/util/dump-insn.o
> >   CC       /tmp/build/perf/util/parse-regs-options.o
> >   CC       /tmp/build/perf/util/term.o
> >   CC       /tmp/build/perf/util/help-unknown-cmd.o
> >   CC       /tmp/build/perf/util/mem-events.o
> >   CC       /tmp/build/perf/util/vsprintf.o
> >   CC       /tmp/build/perf/util/units.o
> >   CC       /tmp/build/perf/util/time-utils.o
> >   BISON    /tmp/build/perf/util/expr-bison.c
> >   CC       /tmp/build/perf/util/branch.o
> >   CC       /tmp/build/perf/util/mem2node.o
> >   CC       /tmp/build/perf/util/bpf-loader.o
> >   CC       /tmp/build/perf/util/bpf_map.o
> >   LD       /tmp/build/perf/util/intel-pt-decoder/perf-in.o
> >   LD       /tmp/build/perf/util/scripting-engines/perf-in.o
> >   CC       /tmp/build/perf/util/symbol-elf.o
> >   CC       /tmp/build/perf/util/probe-file.o
> >   CC       /tmp/build/perf/util/probe-event.o
> >   CC       /tmp/build/perf/util/unwind-libunwind-local.o
> >   CC       /tmp/build/perf/util/unwind-libunwind.o
> >   CC       /tmp/build/perf/util/zlib.o
> >   CC       /tmp/build/perf/util/lzma.o
> >   CC       /tmp/build/perf/util/zstd.o
> >   CC       /tmp/build/perf/util/cap.o
> >   CC       /tmp/build/perf/util/demangle-java.o
> >   CC       /tmp/build/perf/util/demangle-rust.o
> >   CC       /tmp/build/perf/util/jitdump.o
> >   CC       /tmp/build/perf/util/genelf.o
> >   CC       /tmp/build/perf/util/perf-hooks.o
> >   CC       /tmp/build/perf/util/bpf-event.o
> >   FLEX     /tmp/build/perf/util/parse-events-flex.c
> >   CC       /tmp/build/perf/util/parse-events-bison.o
> >   FLEX     /tmp/build/perf/util/pmu-flex.c
> >   CC       /tmp/build/perf/util/pmu-bison.o
> >   FLEX     /tmp/build/perf/util/expr-flex.c
> > In file included from util/parse-events.y:20:0:
> > /tmp/build/perf/util/parse-events-flex.h:546:0: error: unterminated #else
> >  #ifndef YY_READ_BUF_SIZE
> >
> > /tmp/build/perf/util/parse-events-flex.h:545:0: error: unterminated #ifndef
> >  /* Amount of stuff to slurp up with each read. */
> >
> > In file included from util/parse-events.y:20:0:
> > /tmp/build/perf/util/parse-events-flex.h:1:0: error: unterminated #ifndef
> >  #ifndef parse_events_HEADER_H
> >
> > mv: can't rename '/tmp/build/perf/util/.parse-events-bison.o.tmp': No such file or directory
> > make[4]: *** [/git/linux/tools/build/Makefile.build:96: /tmp/build/perf/util/parse-events-bison.o] Error 1
> > make[4]: *** Waiting for unfinished jobs....
> > make[3]: *** [/git/linux/tools/build/Makefile.build:139: util] Error 2
> > make[2]: *** [Makefile.perf:625: /tmp/build/perf/perf-in.o] Error 2
> > make[1]: *** [Makefile.perf:231: sub-make] Error 2
> > make: *** [Makefile:70: all] Error 2
> > make: Leaving directory '/git/linux/tools/perf'
> >
> >
> >    1 alpine:3.4       : FAIL gcc (Alpine 5.3.0) 5.3.0, clang version 3.8.0 (tags/RELEASE_380/final)
> >    2 alpine:3.5       : FAIL gcc (Alpine 6.2.1) 6.2.1 20160822, clang version 3.8.1 (tags/RELEASE_381/final)
> >
> >   CC       /tmp/build/perf/util/parse-events-bison.o
> > In file included from util/parse-events.y:20:0:
> > /tmp/build/perf/util/parse-events-flex.h:323:0: error: unterminated #ifndef
> >  #ifndef YY_DECL
> >  ^
> > In file included from util/parse-events.y:20:0:
> > /tmp/build/perf/util/parse-events-flex.h:1:0: error: unterminated #ifndef
> >  #ifndef parse_events_HEADER_H
> >  ^
> > mv: can't rename '/tmp/build/perf/util/.parse-events-bison.o.tmp': No such file or directory
> > /git/linux/tools/build/Makefile.build:96: recipe for target '/tmp/build/perf/util/parse-events-bison.o' failed
> > make[4]: *** [/tmp/build/perf/util/parse-events-bison.o] Error 1
> > make[4]: *** Waiting for unfinished jobs....
> >   LD       /tmp/build/perf/util/intel-pt-decoder/perf-in.o
> > /git/linux/tools/build/Makefile.build:139: recipe for target 'util' failed
> >
> > Slightly different:
> >
> >      3 alpine:3.6     : FAIL gcc (Alpine 6.3.0) 6.3.0, clang version 4.0.0 (tags/RELEASE_400/final)
> >
> >   CC       /tmp/build/perf/util/perf-hooks.o
> >   FLEX     /tmp/build/perf/util/parse-events-flex.c
> >   CC       /tmp/build/perf/util/parse-events-bison.o
> >   FLEX     /tmp/build/perf/util/pmu-flex.c
> > In file included from util/parse-events.y:20:0:
> > /tmp/build/perf/util/parse-events-flex.h:1:0: error: unterminated #ifndef
> >  #ifndef parse_events_HEADER_H
> >
> > mv: can't rename '/tmp/build/perf/util/.parse-events-bison.o.tmp': No such file or directory
> > make[4]: *** [/git/linux/tools/build/Makefile.build:97: /tmp/build/perf/util/parse-events-bison.o] Error 1
> > make[4]: *** Waiting for unfinished jobs....
> >
> >
> >    4 alpine:3.7       : FAIL gcc (Alpine 6.4.0) 6.4.0, Alpine clang version 5.0.0 (tags/RELEASE_500/final) (based on LLVM 5.0.0)
> >
> >   CC       /tmp/build/perf/util/pmu-bison.o
> > In file included from util/parse-events.y:20:0:
> > /tmp/build/perf/util/parse-events-flex.h:546:0: error: unterminated #else
> >  #ifndef YY_READ_BUF_SIZE
> >
> > /tmp/build/perf/util/parse-events-flex.h:545:0: error: unterminated #ifndef
> >  /* Amount of stuff to slurp up with each read. */
> >
> > In file included from util/parse-events.y:20:0:
> > /tmp/build/perf/util/parse-events-flex.h:1:0: error: unterminated #ifndef
> >  #ifndef parse_events_HEADER_H
> >
> >   FLEX     /tmp/build/perf/util/expr-flex.c
> > mv: can't rename '/tmp/build/perf/util/.parse-events-bison.o.tmp': No such file or directory
> > make[4]: *** [/git/linux/tools/build/Makefile.build:96: /tmp/build/perf/util/parse-events-bison.o] Error 1
> >
> >
>
> --
>
> - Arnaldo

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2020-06-19 15:16 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-19  4:33 [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Ian Rogers
2020-06-19  4:33 ` [PATCH v2 01/10] perf parse-events: Use automatic variable for flex input Ian Rogers
2020-06-19  4:33 ` [PATCH v2 02/10] perf parse-events: Use automatic variable for yacc input Ian Rogers
2020-06-19  4:33 ` [PATCH v2 03/10] perf pmu: Add bison debug build flag Ian Rogers
2020-06-19  4:33 ` [PATCH v2 04/10] perf pmu: Add flex " Ian Rogers
2020-06-19  4:33 ` [PATCH v2 05/10] perf parse-events: Declare flex header file output Ian Rogers
2020-06-19  4:33 ` [PATCH v2 06/10] perf parse-events: Declare bison " Ian Rogers
2020-06-19  4:33 ` [PATCH v2 07/10] perf parse-events: Disable a subset of flex warnings Ian Rogers
2020-06-19  4:33 ` [PATCH v2 08/10] perf expr: Avoid implicit lex function declaration Ian Rogers
2020-06-19  4:33 ` [PATCH v2 09/10] perf parse-events: " Ian Rogers
2020-06-19  4:33 ` [PATCH v2 10/10] perf parse-events: Disable a subset of bison warnings Ian Rogers
2020-06-19 11:50 ` [PATCH v2 00/10] perf parse-events: enable more flex/bison warnings Arnaldo Carvalho de Melo
2020-06-19 12:15 ` Arnaldo Carvalho de Melo
2020-06-19 12:20   ` Arnaldo Carvalho de Melo
2020-06-19 15:15     ` Ian Rogers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).