selftests/bpf: Fix cross compilation with CLANG_CROSS_FLAGS
authorFlorent Revest <revest@chromium.org>
Fri, 17 Feb 2023 15:18:32 +0000 (16:18 +0100)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 22 Feb 2023 21:04:55 +0000 (13:04 -0800)
commitb539a287baaa8501b3af4f7f99aba3c0b1d822f8
tree7c0a34496d37106b9a0e5978e7626ea700924146
parent1f265d2aea0dff1f2f9ecd41f545d601869462c5
selftests/bpf: Fix cross compilation with CLANG_CROSS_FLAGS

I cross-compile my BPF selftests with the following command:

CLANG_CROSS_FLAGS="--target=aarch64-linux-gnu --sysroot=/sysroot/" \
  make LLVM=1 CC=clang CROSS_COMPILE=aarch64-linux-gnu- SRCARCH=arm64

(Note the use of CLANG_CROSS_FLAGS to specify a custom sysroot instead
of letting clang use gcc's default sysroot)

However, CLANG_CROSS_FLAGS gets propagated to host tools builds (libbpf
and bpftool) and because they reference it directly in their Makefiles,
they end up cross-compiling host objects which results in linking
errors.

This patch ensures that CLANG_CROSS_FLAGS is reset if CROSS_COMPILE
isn't set (for example when reaching a BPF host tool build).

Signed-off-by: Florent Revest <revest@chromium.org>
Link: https://lore.kernel.org/r/20230217151832.27784-1-revest@chromium.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/scripts/Makefile.include