Re: [PATCH bpf-next v2 0/5] bpf: tools: support build selftests/bpf with clang

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 4/12/21 6:44 PM, Sedat Dilek wrote:
On Mon, Apr 12, 2021 at 4:29 PM Yonghong Song <yhs@xxxxxx> wrote:

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

But 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.


Might be good to add some hints like when the build stops or errors:

Like in my case when I had no CONFIG_DEBUG_INFO_BTF set.

Of course in combination with Clang-LTO a pointer "you need pahole
version 1.21." and CONFIG_DEBUG_INFO_BTF=y.

Finally, a hint for missing xxx-dev(el) packages (see Nick's report).

The tools directory has its own build rules thus I cannot say how to
check for specific Kconfigs.
I have not looked.

I will add some more information about how I have tested in the
cover letter.


NOTE: I have not checked without setting CONFIG_DEBUG_INFO.

- Sedat -

Changelog:
   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/lib.mk       |  4 ++++
  4 files changed, 21 insertions(+), 4 deletions(-)

--
2.30.2




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux