On Mon, 2024-12-02 at 16:23 -0800, Stanislav Fomichev wrote: [...[ > > diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile > > index bcf103a4c14f..44f7e05973de 100644 > > --- a/samples/bpf/Makefile > > +++ b/samples/bpf/Makefile > > @@ -146,13 +146,14 @@ ifeq ($(ARCH), x86) > > BPF_EXTRA_CFLAGS += -fcf-protection > > endif > > > > -TPROGS_CFLAGS += -Wall -O2 > > -TPROGS_CFLAGS += -Wmissing-prototypes > > -TPROGS_CFLAGS += -Wstrict-prototypes > > -TPROGS_CFLAGS += $(call try-run,\ > > +COMMON_CFLAGS += -Wall -O2 > > +COMMON_CFLAGS += -Wmissing-prototypes > > +COMMON_CFLAGS += -Wstrict-prototypes > > +COMMON_CFLAGS += $(call try-run,\ > > printf "int main() { return 0; }" |\ > > $(CC) -Werror -fsanitize=bounds -x c - -o "$$TMP",-fsanitize=bounds,) > > > > +TPROGS_CFLAGS += $(COMMON_CFLAGS) > > TPROGS_CFLAGS += -I$(objtree)/usr/include > > TPROGS_CFLAGS += -I$(srctree)/tools/testing/selftests/bpf/ > > TPROGS_CFLAGS += -I$(LIBBPF_INCLUDE) > > @@ -229,7 +230,7 @@ clean: > > > > $(LIBBPF): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(LIBBPF_OUTPUT) > > # Fix up variables inherited from Kbuild that tools/ build system won't like > > - $(MAKE) -C $(LIBBPF_SRC) RM='rm -rf' EXTRA_CFLAGS="$(TPROGS_CFLAGS)" \ > > + $(MAKE) -C $(LIBBPF_SRC) RM='rm -rf' EXTRA_CFLAGS="$(COMMON_CFLAGS)" \ > > LDFLAGS="$(TPROGS_LDFLAGS)" srctree=$(BPF_SAMPLES_PATH)/../../ \ > > O= OUTPUT=$(LIBBPF_OUTPUT)/ DESTDIR=$(LIBBPF_DESTDIR) prefix= \ > > $@ install_headers > > -- > > 2.47.0 > > > > Naive question: why pass EXTRA_CFLAGS to libbpf at all? Can we drop it? This was added by the commit [0]. As far as I understand, the idea is to pass the following flags: ifeq ($(ARCH), arm) # Strip all except -D__LINUX_ARM_ARCH__ option needed to handle linux # headers when arm instruction set identification is requested. ARM_ARCH_SELECTOR := $(filter -D__LINUX_ARM_ARCH__%, $(KBUILD_CFLAGS)) ... TPROGS_CFLAGS += $(ARM_ARCH_SELECTOR) endif ifeq ($(ARCH), mips) TPROGS_CFLAGS += -D__SANE_USERSPACE_TYPES__ ... endif Not sure if these are still necessary. [0] commit d8ceae91e9f0 ("samples/bpf: Provide C/LDFLAGS to libbpf")