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

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

 





On 4/10/21 12:19 PM, Sedat Dilek wrote:
On Sat, Apr 10, 2021 at 6:49 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, 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.

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 |  4 +++-
  tools/testing/selftests/lib.mk       |  4 ++++
  4 files changed, 18 insertions(+), 4 deletions(-)

--
2.30.2


Thanks for CCing me and taking care to clean BPF selftests with clang.

I applied (adapted 4/5) the 5 patches to fit latest Linus Git.

As I had a fresh compiled Clang-CFI kernel without enabling BTF
debug-info KConfig this fails at some point.
I am not sure what the situation is with Clang-CFI + BTF thus I will
do another Clang-LTO build with BTF enabled.
So, I was not able to build test_cpp.

I am missing some comments that LLVM=1 misses to set CXX=clang++ if
people want that explicitly as CXX.
Did you try with this?

Yes, this patch set should fix this issue.


AFAICS LC_ALL=C was not the culprit.
Did you try with and without LC_ALL=C - I have this in all my build-scripts.
Here I have German localisation as default.

Just tried. Yes, LC_ALL=C does not impact compilation any more
with this patch set.


Wil report later... (might be Monday when Linux v5.12-rc7 is released).

- Sedat -




[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