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

From: John Garry
Date: Fri Oct 22 2021 - 05:42:19 EST


On 21/10/2021 13:48, Jiri Olsa wrote:
+HOSTCFLAGS += -Wall
+HOSTCFLAGS += -Wextra
+
# Enforce a non-executable stack, as we may regress (again) in the future by
# adding assembler files missing the .GNU-stack linker note.
LDFLAGS += -Wl,-z,noexecstack
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)
so the the host cflags are made of:

host_c_flags = -Wp,-MD,$(depfile) -Wp,-MT,$@ $(KBUILD_HOSTCFLAGS) -D"BUILD_STR(s)=\#s" $(HOSTCFLAGS_$(basetarget).o) $(HOSTCFLAGS_$(obj))


ok, so IIRC, then the rule for building .o from .c in tools/build/Makefile.build will pick up HOSTCFLAGS through this variable, so we then don't need to explicitly mention it in the per-target rule, so can have this as before in pmu-events/Build

HOSTCFLAGS_jevents.o = -I$(srctree)/tools/include

right?

(Indeed I guess that we can get rid of -I$(srctree)/tools/include as well)

Thanks,
John


can't you use KBUILD_HOSTCFLAGS?

also perhaps we could rename KBUILD_HOSTCFLAGS to HOSTCFLAGS?
the name seems like leftover from kbuild move

jirka

pmu-events-y += pmu-events.o
JDIR = pmu-events/arch/$(SRCARCH)
JSON = $(shell [ -d $(JDIR) ] &&