bpf.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stanislav Fomichev <sdf@fomichev.me>
To: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
Cc: ast@kernel.org, daniel@iogearbox.net, yhs@fb.com,
	davem@davemloft.net, jakub.kicinski@netronome.com,
	hawk@kernel.org, john.fastabend@gmail.com,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	bpf@vger.kernel.org, clang-built-linux@googlegroups.com,
	ilias.apalodimas@linaro.org, sergei.shtylyov@cogentembedded.com,
	andriin@fb.com
Subject: Re: [PATCH v5 bpf-next 11/15] libbpf: don't use cxx to test_libpf target
Date: Thu, 21 Nov 2019 13:42:25 -0800	[thread overview]
Message-ID: <20191121214225.GA3145429@mini-arch.hsd1.ca.comcast.net> (raw)
In-Reply-To: <20191011002808.28206-12-ivan.khoronzhuk@linaro.org>

On 10/11, Ivan Khoronzhuk wrote:
> No need to use C++ for test_libbpf target when libbpf is on C and it
> can be tested with C, after this change the CXXFLAGS in makefiles can
> be avoided, at least in bpf samples, when sysroot is used, passing
> same C/LDFLAGS as for lib.
> 
> Add "return 0" in test_libbpf to avoid warn, but also remove spaces at
> start of the lines to keep same style and avoid warns while apply.
Hey, just spotted this patch, not sure how it slipped through.
The c++ test was there to make sure libbpf can be included and
linked against c++ code (i.e. libbpf headers don't have some c++
keywords/etc).

Any particular reason you were not happy with it? Can we revert it
back to c++ and fix your use-case instead? Alternatively, we can just
remove this test if we don't really care about c++.

> Acked-by: Andrii Nakryiko <andriin@fb.com>
> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
> ---
>  tools/lib/bpf/Makefile                         | 18 +++++-------------
>  .../lib/bpf/{test_libbpf.cpp => test_libbpf.c} | 14 ++++++++------
>  2 files changed, 13 insertions(+), 19 deletions(-)
>  rename tools/lib/bpf/{test_libbpf.cpp => test_libbpf.c} (61%)
> 
> diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile
> index 1270955e4845..46280b5ad48d 100644
> --- a/tools/lib/bpf/Makefile
> +++ b/tools/lib/bpf/Makefile
> @@ -52,7 +52,7 @@ ifndef VERBOSE
>  endif
>  
>  FEATURE_USER = .libbpf
> -FEATURE_TESTS = libelf libelf-mmap bpf reallocarray cxx
> +FEATURE_TESTS = libelf libelf-mmap bpf reallocarray
>  FEATURE_DISPLAY = libelf bpf
>  
>  INCLUDES = -I. -I$(srctree)/tools/include -I$(srctree)/tools/arch/$(ARCH)/include/uapi -I$(srctree)/tools/include/uapi
> @@ -142,15 +142,7 @@ GLOBAL_SYM_COUNT = $(shell readelf -s --wide $(BPF_IN) | \
>  VERSIONED_SYM_COUNT = $(shell readelf -s --wide $(OUTPUT)libbpf.so | \
>  			      grep -Eo '[^ ]+@LIBBPF_' | cut -d@ -f1 | sort -u | wc -l)
>  
> -CMD_TARGETS = $(LIB_TARGET) $(PC_FILE)
> -
> -CXX_TEST_TARGET = $(OUTPUT)test_libbpf
> -
> -ifeq ($(feature-cxx), 1)
> -	CMD_TARGETS += $(CXX_TEST_TARGET)
> -endif
> -
> -TARGETS = $(CMD_TARGETS)
> +CMD_TARGETS = $(LIB_TARGET) $(PC_FILE) $(OUTPUT)test_libbpf
>  
>  all: fixdep
>  	$(Q)$(MAKE) all_cmd
> @@ -190,8 +182,8 @@ $(OUTPUT)libbpf.so.$(LIBBPF_VERSION): $(BPF_IN)
>  $(OUTPUT)libbpf.a: $(BPF_IN)
>  	$(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) $(INCLUDES) $^ -lelf -o $@
>  
>  $(OUTPUT)libbpf.pc:
>  	$(QUIET_GEN)sed -e "s|@PREFIX@|$(prefix)|" \
> @@ -266,7 +258,7 @@ config-clean:
>  	$(Q)$(MAKE) -C $(srctree)/tools/build/feature/ clean >/dev/null
>  
>  clean:
> -	$(call QUIET_CLEAN, libbpf) $(RM) $(TARGETS) $(CXX_TEST_TARGET) \
> +	$(call QUIET_CLEAN, libbpf) $(RM) $(CMD_TARGETS) \
>  		*.o *~ *.a *.so *.so.$(LIBBPF_MAJOR_VERSION) .*.d .*.cmd \
>  		*.pc LIBBPF-CFLAGS bpf_helper_defs.h
>  	$(call QUIET_CLEAN, core-gen) $(RM) $(OUTPUT)FEATURE-DUMP.libbpf
> diff --git a/tools/lib/bpf/test_libbpf.cpp b/tools/lib/bpf/test_libbpf.c
> similarity index 61%
> rename from tools/lib/bpf/test_libbpf.cpp
> rename to tools/lib/bpf/test_libbpf.c
> index fc134873bb6d..f0eb2727b766 100644
> --- a/tools/lib/bpf/test_libbpf.cpp
> +++ b/tools/lib/bpf/test_libbpf.c
> @@ -7,12 +7,14 @@
>  
>  int main(int argc, char *argv[])
>  {
> -    /* libbpf.h */
> -    libbpf_set_print(NULL);
> +	/* libbpf.h */
> +	libbpf_set_print(NULL);
>  
> -    /* bpf.h */
> -    bpf_prog_get_fd_by_id(0);
> +	/* bpf.h */
> +	bpf_prog_get_fd_by_id(0);
>  
> -    /* btf.h */
> -    btf__new(NULL, 0);
> +	/* btf.h */
> +	btf__new(NULL, 0);
> +
> +	return 0;
>  }
> -- 
> 2.17.1
> 

  reply	other threads:[~2019-11-21 21:42 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-11  0:27 [PATCH v5 bpf-next 00/15] samples: bpf: improve/fix cross-compilation Ivan Khoronzhuk
2019-10-11  0:27 ` [PATCH v5 bpf-next 01/15] samples/bpf: fix HDR_PROBE "echo" Ivan Khoronzhuk
2019-10-11  0:27 ` [PATCH v5 bpf-next 02/15] samples/bpf: fix cookie_uid_helper_example obj build Ivan Khoronzhuk
2019-10-11  0:27 ` [PATCH v5 bpf-next 03/15] samples/bpf: use --target from cross-compile Ivan Khoronzhuk
2019-10-11  0:27 ` [PATCH v5 bpf-next 04/15] samples/bpf: use own EXTRA_CFLAGS for clang commands Ivan Khoronzhuk
2019-10-11  0:27 ` [PATCH v5 bpf-next 05/15] samples/bpf: use __LINUX_ARM_ARCH__ selector for arm Ivan Khoronzhuk
2019-10-11  8:46   ` Sergei Shtylyov
2019-10-11  9:56     ` Ivan Khoronzhuk
2019-10-11  0:27 ` [PATCH v5 bpf-next 06/15] samples/bpf: drop unnecessarily inclusion for bpf_load Ivan Khoronzhuk
2019-10-11  0:28 ` [PATCH v5 bpf-next 07/15] samples/bpf: add makefile.target for separate CC target build Ivan Khoronzhuk
2019-10-11  0:28 ` [PATCH v5 bpf-next 08/15] samples/bpf: base target programs rules on Makefile.target Ivan Khoronzhuk
2019-10-11  0:28 ` [PATCH v5 bpf-next 09/15] samples/bpf: use own flags but not HOSTCFLAGS Ivan Khoronzhuk
2019-10-11  8:49   ` Sergei Shtylyov
2019-10-11  9:57     ` Ivan Khoronzhuk
2019-10-11 11:16       ` Sergei Shtylyov
2019-10-12 21:26         ` Ivan Khoronzhuk
2019-10-13 17:06           ` Sergei Shtylyov
2019-10-11  0:28 ` [PATCH v5 bpf-next 10/15] samples/bpf: use target CC environment for HDR_PROBE Ivan Khoronzhuk
2019-10-11  0:28 ` [PATCH v5 bpf-next 11/15] libbpf: don't use cxx to test_libpf target Ivan Khoronzhuk
2019-11-21 21:42   ` Stanislav Fomichev [this message]
2019-11-22  0:11     ` Andrii Nakryiko
2019-11-22 16:32       ` Stanislav Fomichev
2019-11-22 23:47         ` Ivan Khoronzhuk
2019-11-23  0:01           ` Stanislav Fomichev
2019-10-11  0:28 ` [PATCH v5 bpf-next 12/15] libbpf: add C/LDFLAGS to libbpf.so and test_libpf targets Ivan Khoronzhuk
2019-10-12 16:38   ` Andrii Nakryiko
2019-10-11  0:28 ` [PATCH v5 bpf-next 13/15] samples/bpf: provide C/LDFLAGS to libbpf Ivan Khoronzhuk
2019-10-11  0:28 ` [PATCH v5 bpf-next 14/15] samples/bpf: add sysroot support Ivan Khoronzhuk
2019-10-11  0:28 ` [PATCH v5 bpf-next 15/15] samples/bpf: add preparation steps and sysroot info to readme Ivan Khoronzhuk
2019-10-11 12:07 ` [PATCH v5 bpf-next 00/15] samples: bpf: improve/fix cross-compilation Ilias Apalodimas
2019-10-12 23:14   ` Alexei Starovoitov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191121214225.GA3145429@mini-arch.hsd1.ca.comcast.net \
    --to=sdf@fomichev.me \
    --cc=andriin@fb.com \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=clang-built-linux@googlegroups.com \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=hawk@kernel.org \
    --cc=ilias.apalodimas@linaro.org \
    --cc=ivan.khoronzhuk@linaro.org \
    --cc=jakub.kicinski@netronome.com \
    --cc=john.fastabend@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=sergei.shtylyov@cogentembedded.com \
    --cc=yhs@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).