FROMGIT: kbuild: rust: add CONFIG_RUSTC_LLVM_VERSION

Each version of Rust supports a range of LLVM versions. There are cases where
we want to gate a config on the LLVM version instead of the Rust version.
Normalized cfi integer tags are one example [1].

The invocation of rustc-version is being moved from init/Kconfig to
scripts/Kconfig.include for consistency with cc-version.

Link: https://lore.kernel.org/all/20240925-cfi-norm-kasan-fix-v1-1-0328985cdf33@google.com/ [1]
Signed-off-by: Gary Guo <gary@garyguo.net>
Link: https://lore.kernel.org/r/20241011114040.3900487-1-gary@garyguo.net
[ Added missing `-llvm` to the Usage documentation. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>

Bug: 359429865
(cherry picked from commit af0121c2d3
 https://github.com/Rust-for-Linux/linux.git rust-fixes)
Change-Id: I4a54c0c0963504e99583c32b507c8e257301094d
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
This commit is contained in:
Gary Guo
2024-10-11 12:40:33 +01:00
committed by Matthias Männich
parent 3b036607a8
commit 62376f9e47
3 changed files with 30 additions and 1 deletions
+5 -1
View File
@@ -62,7 +62,7 @@ config LLD_VERSION
config RUSTC_VERSION
int
default $(shell,$(srctree)/scripts/rustc-version.sh $(RUSTC))
default $(rustc-version)
help
It does not depend on `RUST` since that one may need to use the version
in a `depends on`.
@@ -78,6 +78,10 @@ config RUST_IS_AVAILABLE
In particular, the Makefile target 'rustavailable' is useful to check
why the Rust toolchain is not being detected.
config RUSTC_LLVM_VERSION
int
default $(rustc-llvm-version)
config CC_CAN_LINK
bool
default $(success,$(srctree)/scripts/cc-can-link.sh $(CC) $(CLANG_FLAGS) $(USERCFLAGS) $(USERLDFLAGS) $(m64-flag)) if 64BIT