From: Yonghong Song <yhs@fb.com>
To: <bpf@vger.kernel.org>
Cc: Andrii Nakryiko <andrii@kernel.org>,
Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>,
<kernel-team@fb.com>, Nick Desaulniers <ndesaulniers@google.com>,
Sedat Dilek <sedat.dilek@gmail.com>
Subject: [PATCH bpf-next v3 0/5] bpf: tools: support build selftests/bpf with clang
Date: Tue, 13 Apr 2021 08:34:08 -0700 [thread overview]
Message-ID: <20210413153408.3027270-1-yhs@fb.com> (raw)
To build kernel with clang, people typically use
make -j60 LLVM=1 LLVM_IAS=1
LLVM_IAS=1 is not required for non-LTO build but
is required for LTO build. In my environment,
I am always having LLVM_IAS=1 regardless of
whether LTO is enabled or not.
After kernel is build with clang, the following command
can be used to build selftests with clang:
make -j60 -C tools/testing/selftests/bpf LLVM=1 LLVM_IAS=1
I am using latest bpf-next kernel code base and
latest clang built from source from
https://github.com/llvm/llvm-project.git
Using earlier version of llvm may have compilation errors, see
tools/testing/selftests/bpf
due to continuous development in llvm bpf features and selftests
to use these features.
To run bpf selftest properly, you need have certain necessary
kernel configs like at:
bpf-next:tools/testing/selftests/bpf/config
(not that this is not a complete .config file and some other configs
might still be needed.)
Currently, using the above command, some compilations
still use gcc and there are also compilation errors and warnings.
This patch set intends to fix these issues.
Patch #1 and #2 fixed the issue so clang/clang++ is
used instead of gcc/g++. Patch #3 fixed a compilation
failure. Patch #4 and #5 fixed various compiler warnings.
Changelog:
v2 -> v3:
. more test environment description in cover letter. (Sedat)
. use a different fix, but similar to other use in selftests/bpf
Makefile, to exclude header files from CXX compilation command
line. (Andrii)
. fix codes instead of adding -Wno-format-security. (Andrii)
v1 -> v2:
. add -Wno-unused-command-line-argument and -Wno-format-security
for clang only as (1). gcc does not exhibit those
warnings, and (2). -Wno-unused-command-line-argument is
only supported by clang. (Sedat)
Yonghong Song (5):
selftests: set CC to clang in lib.mk if LLVM is set
tools: allow proper CC/CXX/... override with LLVM=1 in
Makefile.include
selftests/bpf: fix test_cpp compilation failure with clang
selftests/bpf: silence clang compilation warnings
bpftool: fix a clang compilation warning
tools/bpf/bpftool/net.c | 2 +-
tools/scripts/Makefile.include | 12 ++++++++++--
tools/testing/selftests/bpf/Makefile | 7 ++++++-
tools/testing/selftests/bpf/prog_tests/fexit_sleep.c | 4 ++--
.../selftests/bpf/prog_tests/ns_current_pid_tgid.c | 4 ++--
tools/testing/selftests/lib.mk | 4 ++++
6 files changed, 25 insertions(+), 8 deletions(-)
--
2.30.2
next reply other threads:[~2021-04-13 15:34 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-13 15:34 Yonghong Song [this message]
2021-04-13 15:34 ` [PATCH bpf-next v3 1/5] selftests: set CC to clang in lib.mk if LLVM is set Yonghong Song
2021-04-13 22:04 ` Andrii Nakryiko
2021-04-13 22:13 ` Nick Desaulniers
2021-04-13 22:27 ` Yonghong Song
2021-04-13 22:34 ` Nick Desaulniers
2021-04-13 23:22 ` Andrii Nakryiko
2021-04-13 15:34 ` [PATCH bpf-next v3 2/5] tools: allow proper CC/CXX/... override with LLVM=1 in Makefile.include Yonghong Song
2021-04-13 15:34 ` [PATCH bpf-next v3 3/5] selftests/bpf: fix test_cpp compilation failure with clang Yonghong Song
2021-04-13 22:05 ` Andrii Nakryiko
2021-04-13 15:34 ` [PATCH bpf-next v3 4/5] selftests/bpf: silence clang compilation warnings Yonghong Song
2021-04-13 22:07 ` Andrii Nakryiko
2021-04-13 22:17 ` Nick Desaulniers
2021-04-13 22:37 ` Yonghong Song
2021-04-13 15:34 ` [PATCH bpf-next v3 5/5] bpftool: fix a clang compilation warning Yonghong Song
2021-04-13 19:36 ` [PATCH bpf-next v3 0/5] bpf: tools: support build selftests/bpf with clang Martin KaFai Lau
2021-04-16 0:21 ` Alexei Starovoitov
2021-04-16 3:59 ` Yonghong Song
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=20210413153408.3027270-1-yhs@fb.com \
--to=yhs@fb.com \
--cc=andrii@kernel.org \
--cc=arnaldo.melo@gmail.com \
--cc=bpf@vger.kernel.org \
--cc=kernel-team@fb.com \
--cc=ndesaulniers@google.com \
--cc=sedat.dilek@gmail.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).