On Tue, Apr 13, 2021 at 08:34:08AM -0700, Yonghong Song 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 > > 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. Acked-by: Martin KaFai Lau <kafai@xxxxxx>