On Fri, Jan 26, 2018 at 01:39:30AM +0100, Mickaël Salaün wrote: > Do not build lib/bpf/bpf.o with this Makefile but use the one from the > library directory. This avoid making a buggy bpf.o file (e.g. missing > symbols).
could you provide an example? What symbols will be missing? I don't think there is an issue with existing Makefile. > This patch is useful if some code (e.g. Landlock tests) needs both the > bpf.o (from tools/lib/bpf) and the bpf_load.o (from samples/bpf). is that some future patches? we're trying to move everything form samples/bpf/ into selftests/bpf/ and convert to use libbpf.a instead of obsolete bpf_load.c Please use this approach for landlock as well. > Signed-off-by: Mickaël Salaün <m...@digikod.net> > Cc: Alexei Starovoitov <a...@kernel.org> > Cc: Daniel Borkmann <dan...@iogearbox.net> > --- > > This is not a complet fix because the call to multi_depend with > $(host-cmulti) from scripts/Makefile.host force the build of bpf.o > anyway. I'm not sure how to completely avoid this automatic build > though. > --- > samples/bpf/Makefile | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile > index 7f61a3d57fa7..64335bb94f9f 100644 > --- a/samples/bpf/Makefile > +++ b/samples/bpf/Makefile > @@ -201,13 +201,16 @@ CLANG_ARCH_ARGS = -target $(ARCH) > endif > > # Trick to allow make to be run from this directory > -all: > +all: $(LIBBPF) > $(MAKE) -C ../../ $(CURDIR)/ > > clean: > $(MAKE) -C ../../ M=$(CURDIR) clean > @rm -f *~ > > +$(LIBBPF): FORCE > + $(MAKE) -C $(dir $@) $(notdir $@) > + > $(obj)/syscall_nrs.s: $(src)/syscall_nrs.c > $(call if_changed_dep,cc_s_c) > > -- > 2.15.1 >