diff options
author | Florent Revest <revest@chromium.org> | 2023-02-17 18:18:32 +0300 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2023-02-23 00:04:55 +0300 |
commit | b539a287baaa8501b3af4f7f99aba3c0b1d822f8 (patch) | |
tree | 7c0a34496d37106b9a0e5978e7626ea700924146 /tools/scripts/Makefile.include | |
parent | 1f265d2aea0dff1f2f9ecd41f545d601869462c5 (diff) | |
download | linux-b539a287baaa8501b3af4f7f99aba3c0b1d822f8.tar.xz |
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>
Diffstat (limited to 'tools/scripts/Makefile.include')
-rw-r--r-- | tools/scripts/Makefile.include | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/scripts/Makefile.include b/tools/scripts/Makefile.include index 0efb8f2b33ce..ff527ac065cf 100644 --- a/tools/scripts/Makefile.include +++ b/tools/scripts/Makefile.include @@ -108,6 +108,8 @@ endif # GCC_TOOLCHAIN_DIR endif # CLANG_CROSS_FLAGS CFLAGS += $(CLANG_CROSS_FLAGS) AFLAGS += $(CLANG_CROSS_FLAGS) +else +CLANG_CROSS_FLAGS := endif # CROSS_COMPILE # Hack to avoid type-punned warnings on old systems such as RHEL5: |