Re: [PATCH 2/2] perf jevents: Enable warnings through HOSTCFLAGS

From: James Clark
Date: Mon Oct 18 2021 - 06:42:05 EST




On 15/10/2021 17:48, John Garry wrote:
> Currently no compiler warnings at all are enabled for building jevents,
> so help catch bugs at compile time by enabling through HOSTCFLAGS.

Is there any reason to not enable -Wall and -Werror so that it builds like
the main project? Or if HOSTCFLAGS ends up being the same as CORE_CFLAGS
then why not use CORE_CFLAGS instead?

I added them like this and only one unused function needs to be removed to
make it build successfully:


diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index 65934984f032..b2edcedf01db 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -18,6 +18,8 @@ detected_var = $(shell echo "$(1)=$($(1))" >> $(OUTPUT).config-detected)

CFLAGS := $(EXTRA_CFLAGS) $(filter-out -Wnested-externs,$(EXTRA_WARNINGS))
HOSTCFLAGS := $(filter-out -Wnested-externs,$(EXTRA_WARNINGS))
+HOSTCFLAGS += -Wall
+HOSTCFLAGS += -Wextra

include $(srctree)/tools/scripts/Makefile.arch

@@ -212,6 +214,7 @@ endif
ifneq ($(WERROR),0)
CORE_CFLAGS += -Werror
CXXFLAGS += -Werror
+ HOSTCFLAGS += -Werror
endif

ifndef DEBUG




>
> Signed-off-by: John Garry <john.garry@xxxxxxxxxx>
> ---
> tools/perf/Makefile.config | 1 +
> tools/perf/Makefile.perf | 2 +-
> tools/perf/pmu-events/Build | 2 +-
> 3 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
> index 0ae2e3d8b832..65934984f032 100644
> --- a/tools/perf/Makefile.config
> +++ b/tools/perf/Makefile.config
> @@ -17,6 +17,7 @@ detected = $(shell echo "$(1)=y" >> $(OUTPUT).config-detected)
> detected_var = $(shell echo "$(1)=$($(1))" >> $(OUTPUT).config-detected)
>
> CFLAGS := $(EXTRA_CFLAGS) $(filter-out -Wnested-externs,$(EXTRA_WARNINGS))
> +HOSTCFLAGS := $(filter-out -Wnested-externs,$(EXTRA_WARNINGS))
>
> include $(srctree)/tools/scripts/Makefile.arch
>
> diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
> index 7df13e74450c..118bcdc70bb4 100644
> --- a/tools/perf/Makefile.perf
> +++ b/tools/perf/Makefile.perf
> @@ -226,7 +226,7 @@ else
> endif
>
> export srctree OUTPUT RM CC CXX LD AR CFLAGS CXXFLAGS V BISON FLEX AWK
> -export HOSTCC HOSTLD HOSTAR
> +export HOSTCC HOSTLD HOSTAR HOSTCFLAGS
>
> include $(srctree)/tools/build/Makefile.include
>
> diff --git a/tools/perf/pmu-events/Build b/tools/perf/pmu-events/Build
> index a055dee6a46a..d5c287f069a2 100644
> --- a/tools/perf/pmu-events/Build
> +++ b/tools/perf/pmu-events/Build
> @@ -1,7 +1,7 @@
> hostprogs := jevents
>
> jevents-y += json.o jsmn.o jevents.o
> -HOSTCFLAGS_jevents.o = -I$(srctree)/tools/include
> +HOSTCFLAGS_jevents.o = -I$(srctree)/tools/include $(HOSTCFLAGS)
> pmu-events-y += pmu-events.o
> JDIR = pmu-events/arch/$(SRCARCH)
> JSON = $(shell [ -d $(JDIR) ] && \
>