Hi all, This is now a conflict between the net and net-next trees. On Mon, 14 Oct 2019 10:32:32 +1100 Stephen Rothwell wrote: > > Today's linux-next merge of the bpf-next tree got a conflict in: > > tools/lib/bpf/Makefile > > between commit: > > 1bd63524593b ("libbpf: handle symbol versioning properly for libbpf.a") > > from the net tree and commits: > > 5c26f9a78358 ("libbpf: Don't use cxx to test_libpf target") > 793a349cd819 ("libbpf: Add C/LDFLAGS to libbpf.so and test_libpf targets") > > from the bpf-next tree. > > I fixed it up (see below) and can carry the fix as necessary. This > is now fixed as far as linux-next is concerned, but any non trivial > conflicts should be mentioned to your upstream maintainer when your tree > is submitted for merging. You may also want to consider cooperating > with the maintainer of the conflicting tree to minimise any particularly > complex conflicts. > > -- > Cheers, > Stephen Rothwell > > diff --cc tools/lib/bpf/Makefile > index 56ce6292071b,75b538577c17..000000000000 > --- a/tools/lib/bpf/Makefile > +++ b/tools/lib/bpf/Makefile > @@@ -143,7 -133,9 +143,9 @@@ LIB_TARGET := $(addprefix $(OUTPUT),$(L > LIB_FILE := $(addprefix $(OUTPUT),$(LIB_FILE)) > PC_FILE := $(addprefix $(OUTPUT),$(PC_FILE)) > > + TAGS_PROG := $(if $(shell which etags 2>/dev/null),etags,ctags) > + > -GLOBAL_SYM_COUNT = $(shell readelf -s --wide $(BPF_IN) | \ > +GLOBAL_SYM_COUNT = $(shell readelf -s --wide $(BPF_IN_SHARED) | \ > cut -d "@" -f1 | sed 's/_v[0-9]_[0-9]_[0-9].*//' | \ > awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$8}' | \ > sort -u | wc -l) > @@@ -165,7 -149,7 +159,7 @@@ all: fixde > > all_cmd: $(CMD_TARGETS) check > > - $(BPF_IN_SHARED): force elfdep bpfdep > -$(BPF_IN): force elfdep bpfdep bpf_helper_defs.h > ++$(BPF_IN_SHARED): force elfdep bpfdep bpf_helper_defs.h > @(test -f ../../include/uapi/linux/bpf.h -a -f ../../../include/uapi/linux/bpf.h && ( \ > (diff -B ../../include/uapi/linux/bpf.h ../../../include/uapi/linux/bpf.h >/dev/null) || \ > echo "Warning: Kernel ABI header at 'tools/include/uapi/linux/bpf.h' differs from latest version at 'include/uapi/linux/bpf.h'" >&2 )) || true > @@@ -181,24 -165,26 +175,29 @@@ > @(test -f ../../include/uapi/linux/if_xdp.h -a -f ../../../include/uapi/linux/if_xdp.h && ( \ > (diff -B ../../include/uapi/linux/if_xdp.h ../../../include/uapi/linux/if_xdp.h >/dev/null) || \ > echo "Warning: Kernel ABI header at 'tools/include/uapi/linux/if_xdp.h' differs from latest version at 'include/uapi/linux/if_xdp.h'" >&2 )) || true > - $(Q)$(MAKE) $(build)=libbpf > + $(Q)$(MAKE) $(build)=libbpf OUTPUT=$(SHARED_OBJDIR) CFLAGS="$(CFLAGS) $(SHLIB_FLAGS)" > + > +$(BPF_IN_STATIC): force elfdep bpfdep > + $(Q)$(MAKE) $(build)=libbpf OUTPUT=$(STATIC_OBJDIR) > > + bpf_helper_defs.h: $(srctree)/include/uapi/linux/bpf.h > + $(Q)$(srctree)/scripts/bpf_helpers_doc.py --header \ > + --file $(srctree)/include/uapi/linux/bpf.h > bpf_helper_defs.h > + > $(OUTPUT)libbpf.so: $(OUTPUT)libbpf.so.$(LIBBPF_VERSION) > > -$(OUTPUT)libbpf.so.$(LIBBPF_VERSION): $(BPF_IN) > +$(OUTPUT)libbpf.so.$(LIBBPF_VERSION): $(BPF_IN_SHARED) > - $(QUIET_LINK)$(CC) --shared -Wl,-soname,libbpf.so.$(LIBBPF_MAJOR_VERSION) \ > - -Wl,--version-script=$(VERSION_SCRIPT) $^ -lelf -o $@ > + $(QUIET_LINK)$(CC) $(LDFLAGS) \ > + --shared -Wl,-soname,libbpf.so.$(LIBBPF_MAJOR_VERSION) \ > + -Wl,--version-script=$(VERSION_SCRIPT) $^ -lelf -o $@ > @ln -sf $(@F) $(OUTPUT)libbpf.so > @ln -sf $(@F) $(OUTPUT)libbpf.so.$(LIBBPF_MAJOR_VERSION) > > -$(OUTPUT)libbpf.a: $(BPF_IN) > +$(OUTPUT)libbpf.a: $(BPF_IN_STATIC) > $(QUIET_LINK)$(RM) $@; $(AR) rcs $@ $^ > > - $(OUTPUT)test_libbpf: test_libbpf.cpp $(OUTPUT)libbpf.a > - $(QUIET_LINK)$(CXX) $(INCLUDES) $^ -lelf -o $@ > + $(OUTPUT)test_libbpf: test_libbpf.c $(OUTPUT)libbpf.a > + $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $(INCLUDES) $^ -lelf -o $@ > > $(OUTPUT)libbpf.pc: > $(QUIET_GEN)sed -e "s|@PREFIX@|$(prefix)|" \ > @@@ -268,9 -259,9 +272,10 @@@ config-clean > $(Q)$(MAKE) -C $(srctree)/tools/build/feature/ clean >/dev/null > > clean: > - $(call QUIET_CLEAN, libbpf) $(RM) -rf $(TARGETS) $(CXX_TEST_TARGET) \ > - $(call QUIET_CLEAN, libbpf) $(RM) $(CMD_TARGETS) \ > ++ $(call QUIET_CLEAN, libbpf) $(RM) -rf $(CMD_TARGETS) \ > *.o *~ *.a *.so *.so.$(LIBBPF_MAJOR_VERSION) .*.d .*.cmd \ > - *.pc LIBBPF-CFLAGS $(SHARED_OBJDIR) $(STATIC_OBJDIR) > - *.pc LIBBPF-CFLAGS bpf_helper_defs.h > ++ *.pc LIBBPF-CFLAGS $(SHARED_OBJDIR) $(STATIC_OBJDIR) \ > ++ bpf_helper_defs.h > $(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf > > -- Cheers, Stephen Rothwell