On Wed, Aug 31, 2022 at 11:39:05PM +0200, Daniel Borkmann wrote: > On 8/30/22 7:55 PM, Daniel Müller wrote: > [...] > > diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile > > index eecad9..787631 100644 > > --- a/tools/testing/selftests/bpf/Makefile > > +++ b/tools/testing/selftests/bpf/Makefile > [...] > > -LINKED_BPF_SRCS := $(patsubst %.o,%.c,$(foreach skel,$(LINKED_SKELS),$($(skel)-deps))) > > +LINKED_BPF_SRCS := $(patsubst %.bpf.o,%.c,$(foreach skel,$(LINKED_SKELS),$($(skel)-deps))) > > # Set up extra TRUNNER_XXX "temporary" variables in the environment (relies on > > # $eval()) and pass control to DEFINE_TEST_RUNNER_RULES. > > @@ -386,7 +386,7 @@ TRUNNER_EXTRA_OBJS := $$(patsubst %.c,$$(TRUNNER_OUTPUT)/%.o, \ > > TRUNNER_EXTRA_HDRS := $$(filter %.h,$(TRUNNER_EXTRA_SOURCES)) > > TRUNNER_TESTS_HDR := $(TRUNNER_TESTS_DIR)/tests.h > > TRUNNER_BPF_SRCS := $$(notdir $$(wildcard $(TRUNNER_BPF_PROGS_DIR)/*.c)) > > -TRUNNER_BPF_OBJS := $$(patsubst %.c,$$(TRUNNER_OUTPUT)/%.o, $$(TRUNNER_BPF_SRCS)) > > +TRUNNER_BPF_OBJS := $$(patsubst %.c,$$(TRUNNER_OUTPUT)/%.bpf.o, $$(TRUNNER_BPF_SRCS)) > > TRUNNER_BPF_SKELS := $$(patsubst %.c,$$(TRUNNER_OUTPUT)/%.skel.h, \ > > $$(filter-out $(SKEL_BLACKLIST) $(LINKED_BPF_SRCS),\ > > $$(TRUNNER_BPF_SRCS))) > > @@ -416,7 +416,7 @@ endif > > # input/output directory combination > > ifeq ($($(TRUNNER_BPF_PROGS_DIR)$(if $2,-)$2-bpfobjs),) > > $(TRUNNER_BPF_PROGS_DIR)$(if $2,-)$2-bpfobjs := y > > -$(TRUNNER_BPF_OBJS): $(TRUNNER_OUTPUT)/%.o: \ > > +$(TRUNNER_BPF_OBJS): $(TRUNNER_OUTPUT)/%.bpf.o: \ > > $(TRUNNER_BPF_PROGS_DIR)/%.c \ > > $(TRUNNER_BPF_PROGS_DIR)/*.h \ > > $$(INCLUDE_DIR)/vmlinux.h \ > > @@ -426,22 +426,22 @@ $(TRUNNER_BPF_OBJS): $(TRUNNER_OUTPUT)/%.o: \ > > $$(call $(TRUNNER_BPF_BUILD_RULE),$$<,$$@, \ > > $(TRUNNER_BPF_CFLAGS)) > > -$(TRUNNER_BPF_SKELS): %.skel.h: %.o $(BPFTOOL) | $(TRUNNER_OUTPUT) > > +$(TRUNNER_BPF_SKELS): %.skel.h: %.bpf.o $(BPFTOOL) | $(TRUNNER_OUTPUT) > > $$(call msg,GEN-SKEL,$(TRUNNER_BINARY),$$@) > > $(Q)$$(BPFTOOL) gen object $$(<:.o=.linked1.o) $$< > > $(Q)$$(BPFTOOL) gen object $$(<:.o=.linked2.o) $$(<:.o=.linked1.o) > > $(Q)$$(BPFTOOL) gen object $$(<:.o=.linked3.o) $$(<:.o=.linked2.o) > > $(Q)diff $$(<:.o=.linked2.o) $$(<:.o=.linked3.o) > > - $(Q)$$(BPFTOOL) gen skeleton $$(<:.o=.linked3.o) name $$(notdir $$(<:.o=)) > $$@ > > - $(Q)$$(BPFTOOL) gen subskeleton $$(<:.o=.linked3.o) name $$(notdir $$(<:.o=)) > $$(@:.skel.h=.subskel.h) > > + $(Q)$$(BPFTOOL) gen skeleton $$(<:.o=.linked3.o) name $$(notdir $$(<:.bpf.o=)) > $$@ > > + $(Q)$$(BPFTOOL) gen subskeleton $$(<:.o=.linked3.o) name $$(notdir $$(<:.bpf.o=)) > $$(@:.skel.h=.subskel.h) > > -$(TRUNNER_BPF_LSKELS): %.lskel.h: %.o $(BPFTOOL) | $(TRUNNER_OUTPUT) > > +$(TRUNNER_BPF_LSKELS): %.lskel.h: %.bpf.o $(BPFTOOL) | $(TRUNNER_OUTPUT) > > $$(call msg,GEN-SKEL,$(TRUNNER_BINARY),$$@) > > $(Q)$$(BPFTOOL) gen object $$(<:.o=.llinked1.o) $$< > > $(Q)$$(BPFTOOL) gen object $$(<:.o=.llinked2.o) $$(<:.o=.llinked1.o) > > $(Q)$$(BPFTOOL) gen object $$(<:.o=.llinked3.o) $$(<:.o=.llinked2.o) > > $(Q)diff $$(<:.o=.llinked2.o) $$(<:.o=.llinked3.o) > > - $(Q)$$(BPFTOOL) gen skeleton -L $$(<:.o=.llinked3.o) name $$(notdir $$(<:.o=_lskel)) > $$@ > > + $(Q)$$(BPFTOOL) gen skeleton -L $$(<:.o=.llinked3.o) name $$(notdir $$(<:.bpf.o=_lskel)) > $$@ > > $(TRUNNER_BPF_SKELS_LINKED): $(TRUNNER_BPF_OBJS) $(BPFTOOL) | $(TRUNNER_OUTPUT) > > $$(call msg,LINK-BPF,$(TRUNNER_BINARY),$$(@:.skel.h=.o)) > > Should this one also be converted to .bpf.o ? Thanks for your review. I believe it should. Good catch. Will send an updated version. [...] Thanks, Daniel