]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
kbuild: clang: Support building UM with SUBARCH=i386
authorKees Cook <kees@kernel.org>
Tue, 4 Mar 2025 16:21:29 +0000 (08:21 -0800)
committerKees Cook <kees@kernel.org>
Tue, 4 Mar 2025 17:40:13 +0000 (09:40 -0800)
The UM builds distinguish i386 from x86_64 via SUBARCH, but we don't
support building i386 directly with Clang. To make SUBARCH work for
i386 UM, we need to explicitly test for it.

This lets me run i386 KUnit tests with Clang:

$ ./tools/testing/kunit/kunit.py run \
--make_options LLVM=1 \
--make_options SUBARCH=i386
...

Fixes: c7500c1b53bf ("um: Allow builds with Clang")
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Link: https://lore.kernel.org/r/20250304162124.it.785-kees@kernel.org
Tested-by: David Gow <davidgow@google.com>
Signed-off-by: Kees Cook <kees@kernel.org>
scripts/Makefile.clang

index 2435efae67f53a26d55a1c0f1bf254a49d9fc731..b67636b28c35dd1e9ce46197edc9107aa9070370 100644 (file)
@@ -12,6 +12,8 @@ CLANG_TARGET_FLAGS_riscv      := riscv64-linux-gnu
 CLANG_TARGET_FLAGS_s390                := s390x-linux-gnu
 CLANG_TARGET_FLAGS_sparc       := sparc64-linux-gnu
 CLANG_TARGET_FLAGS_x86         := x86_64-linux-gnu
+# This is only for i386 UM builds, which need the 32-bit target not -m32
+CLANG_TARGET_FLAGS_i386                := i386-linux-gnu
 CLANG_TARGET_FLAGS_um          := $(CLANG_TARGET_FLAGS_$(SUBARCH))
 CLANG_TARGET_FLAGS             := $(CLANG_TARGET_FLAGS_$(SRCARCH))