From: Jiri Olsa <olsajiri@gmail.com>
To: Viktor Malik <vmalik@redhat.com>
Cc: Jiri Olsa <olsajiri@gmail.com>,
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 3/3] selftests/bpf: Disable warnings on unused flags for Clang builds
Date: Mon, 21 Oct 2024 09:26:37 +0200 [thread overview]
Message-ID: <ZxYCLTI0fhDIavBx@krava> (raw)
In-Reply-To: <a05967e6-851f-4db8-9ec4-b910acaaf70f@redhat.com>
On Mon, Oct 21, 2024 at 08:20:39AM +0200, Viktor Malik wrote:
> On 10/20/24 19:24, Jiri Olsa wrote:
> > On Fri, Oct 18, 2024 at 08:49:01AM +0200, Viktor Malik wrote:
> >> There exist compiler flags supported by GCC but not supported by Clang
> >> (e.g. -specs=...). Currently, these cannot be passed to BPF selftests
> >> builds, even when building with GCC, as some binaries (urandom_read and
> >> liburandom_read.so) are always built with Clang and the unsupported
> >> flags make the compilation fail (as -Werror is turned on).
> >>
> >> Add -Wno-unused-command-line-argument to these rules to suppress such
> >> errors.
> >>
> >> This allows to do things like:
> >>
> >> $ CFLAGS="-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1" \
> >> make -C tools/testing/selftests/bpf
> >
> > hi,
> > might be my fedora setup, but this example gives me compile error below
> > even with the patch applied:
> >
> > EXT-OBJ [test_progs] testing_helpers.o
> > In file included from testing_helpers.c:10:
> > disasm.h:11:10: fatal error: linux/stringify.h: No such file or directory
> > 11 | #include <linux/stringify.h>
> > | ^~~~~~~~~~~~~~~~~~~
>
> Aren't you doing `make CFLAGS="..."` instead of `CFLAGS="..." make`? The
> difference is that the former overrides CFLAGS defined in selftests
> Makefile and therefore the include dirs are not correctly added.
right, I was doing that, thanks
Acked-by: Jiri Olsa <jolsa@kernel.org>
jirka
>
> >
> > jirka
> >
> >>
> >> Without this patch, the compilation would fail with:
> >>
> >> [...]
> >> clang: error: argument unused during compilation: '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' [-Werror,-Wunused-command-line-argument]
> >> make: *** [Makefile:273: /bpf-next/tools/testing/selftests/bpf/liburandom_read.so] Error 1
> >> [...]
> >>
> >> Signed-off-by: Viktor Malik <vmalik@redhat.com>
> >> ---
> >> tools/testing/selftests/bpf/Makefile | 2 ++
> >> 1 file changed, 2 insertions(+)
> >>
> >> diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
> >> index 1fc7c38e56b5..3da1a61968b7 100644
> >> --- a/tools/testing/selftests/bpf/Makefile
> >> +++ b/tools/testing/selftests/bpf/Makefile
> >> @@ -273,6 +273,7 @@ $(OUTPUT)/liburandom_read.so: urandom_read_lib1.c urandom_read_lib2.c liburandom
> >> $(Q)$(CLANG) $(CLANG_TARGET_ARCH) \
> >> $(filter-out -static,$(CFLAGS) $(LDFLAGS)) \
> >> $(filter %.c,$^) $(filter-out -static,$(LDLIBS)) \
> >> + -Wno-unused-command-line-argument \
> >> -fuse-ld=$(LLD) -Wl,-znoseparate-code -Wl,--build-id=sha1 \
> >> -Wl,--version-script=liburandom_read.map \
> >> -fPIC -shared -o $@
> >> @@ -281,6 +282,7 @@ $(OUTPUT)/urandom_read: urandom_read.c urandom_read_aux.c $(OUTPUT)/liburandom_r
> >> $(call msg,BINARY,,$@)
> >> $(Q)$(CLANG) $(CLANG_TARGET_ARCH) \
> >> $(filter-out -static,$(CFLAGS) $(LDFLAGS)) $(filter %.c,$^) \
> >> + -Wno-unused-command-line-argument \
> >> -lurandom_read $(filter-out -static,$(LDLIBS)) -L$(OUTPUT) \
> >> -fuse-ld=$(LLD) -Wl,-znoseparate-code -Wl,--build-id=sha1 \
> >> -Wl,-rpath=. -o $@
> >> --
> >> 2.47.0
> >>
> >
>
next prev parent reply other threads:[~2024-10-21 7:26 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
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 [this message]
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=ZxYCLTI0fhDIavBx@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.