Re: linux-next: manual merge of the bpf-next tree with the net tree

From: Stephen Rothwell
Date: Tue Oct 15 2019 - 19:30:38 EST


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 <sfr@xxxxxxxxxxxxxxxx> 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

Attachment: pgpWnPJyoiskx.pgp
Description: OpenPGP digital signature