From: Jiri Olsa <olsajiri@gmail.com>
To: Viktor Malik <vmalik@redhat.com>
Cc: bpf@vger.kernel.org, Andrii Nakryiko <andrii@kernel.org>,
Eduard Zingerman <eddyz87@gmail.com>,
Mykola Lysenko <mykolal@fb.com>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Martin KaFai Lau <martin.lau@linux.dev>,
Song Liu <song@kernel.org>,
Yonghong Song <yonghong.song@linux.dev>,
John Fastabend <john.fastabend@gmail.com>,
KP Singh <kpsingh@kernel.org>,
Stanislav Fomichev <sdf@fomichev.me>, Hao Luo <haoluo@google.com>,
Shuah Khan <shuah@kernel.org>,
Nathan Chancellor <nathan@kernel.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Bill Wendling <morbo@google.com>,
Justin Stitt <justinstitt@google.com>
Subject: Re: [PATCH bpf-next v2 2/3] bpftool: Prevent setting duplicate _GNU_SOURCE in Makefile
Date: Mon, 21 Oct 2024 09:27:15 +0200 [thread overview]
Message-ID: <ZxYCU-BfEhA1EePA@krava> (raw)
In-Reply-To: <820bd20ea460548828ae9a50f5bdbad0700591e5.1729233447.git.vmalik@redhat.com>
On Fri, Oct 18, 2024 at 08:49:00AM +0200, Viktor Malik wrote:
> When building selftests with CFLAGS set via env variable, the value of
> CFLAGS is propagated into bpftool Makefile (called from selftests
> Makefile). This makes the compilation fail as _GNU_SOURCE is defined two
> times - once from selftests Makefile (by including lib.mk) and once from
> bpftool Makefile (by calling `llvm-config --cflags`):
>
> $ CFLAGS="" make -C tools/testing/selftests/bpf
> [...]
> CC /bpf-next/tools/testing/selftests/bpf/tools/build/bpftool/btf.o
> <command-line>: error: "_GNU_SOURCE" redefined [-Werror]
> <command-line>: note: this is the location of the previous definition
> cc1: all warnings being treated as errors
> [...]
>
> Filter out -D_GNU_SOURCE from the result of `llvm-config --cflags` in
> bpftool Makefile to prevent this error.
>
> Signed-off-by: Viktor Malik <vmalik@redhat.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
jirka
> ---
> tools/bpf/bpftool/Makefile | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile
> index ba927379eb20..a4263dfb5e03 100644
> --- a/tools/bpf/bpftool/Makefile
> +++ b/tools/bpf/bpftool/Makefile
> @@ -147,7 +147,11 @@ ifeq ($(feature-llvm),1)
> # If LLVM is available, use it for JIT disassembly
> CFLAGS += -DHAVE_LLVM_SUPPORT
> LLVM_CONFIG_LIB_COMPONENTS := mcdisassembler all-targets
> - CFLAGS += $(shell $(LLVM_CONFIG) --cflags)
> + # llvm-config always adds -D_GNU_SOURCE, however, it may already be in CFLAGS
> + # (e.g. when bpftool build is called from selftests build as selftests
> + # Makefile includes lib.mk which sets -D_GNU_SOURCE) which would cause
> + # compilation error due to redefinition. Let's filter it out here.
> + CFLAGS += $(filter-out -D_GNU_SOURCE,$(shell $(LLVM_CONFIG) --cflags))
> LIBS += $(shell $(LLVM_CONFIG) --libs $(LLVM_CONFIG_LIB_COMPONENTS))
> ifeq ($(shell $(LLVM_CONFIG) --shared-mode),static)
> LIBS += $(shell $(LLVM_CONFIG) --system-libs $(LLVM_CONFIG_LIB_COMPONENTS))
> --
> 2.47.0
>
next prev parent reply other threads:[~2024-10-21 7:27 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-18 6:48 [PATCH bpf-next v2 0/3] selftests/bpf: Improve building with extra Viktor Malik
2024-10-18 6:48 ` [PATCH bpf-next v2 1/3] selftests/bpf: Allow building with extra flags Viktor Malik
2024-10-21 7:30 ` Jiri Olsa
2024-10-18 6:49 ` [PATCH bpf-next v2 2/3] bpftool: Prevent setting duplicate _GNU_SOURCE in Makefile Viktor Malik
2024-10-18 9:17 ` Quentin Monnet
2024-10-21 7:27 ` Jiri Olsa [this message]
2024-10-18 6:49 ` [PATCH bpf-next v2 3/3] selftests/bpf: Disable warnings on unused flags for Clang builds Viktor Malik
2024-10-20 17:24 ` Jiri Olsa
2024-10-21 6:20 ` Viktor Malik
2024-10-21 7:26 ` Jiri Olsa
2024-10-22 0:00 ` [PATCH bpf-next v2 0/3] selftests/bpf: Improve building with extra patchwork-bot+netdevbpf
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=ZxYCU-BfEhA1EePA@krava \
--to=olsajiri@gmail.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=eddyz87@gmail.com \
--cc=haoluo@google.com \
--cc=john.fastabend@gmail.com \
--cc=justinstitt@google.com \
--cc=kpsingh@kernel.org \
--cc=martin.lau@linux.dev \
--cc=morbo@google.com \
--cc=mykolal@fb.com \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=sdf@fomichev.me \
--cc=shuah@kernel.org \
--cc=song@kernel.org \
--cc=vmalik@redhat.com \
--cc=yonghong.song@linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.