diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-10-19 08:32:47 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-10-19 08:32:47 -0700 |
| commit | 4e6bd4a33a6cf4d2dce9725630ada847a3947c7c (patch) | |
| tree | 2533733c6a052d20026140dc93df7e7f4e630911 /scripts/rustc-llvm-version.sh | |
| parent | 3d5ad2d4eca337e80f38df77de89614aa5aaceb9 (diff) | |
| parent | 8b8ca9c25fe69c2162e3235c7d6c341127abeed6 (diff) | |
| download | linux-4e6bd4a33a6cf4d2dce9725630ada847a3947c7c.tar.gz linux-4e6bd4a33a6cf4d2dce9725630ada847a3947c7c.tar.bz2 linux-4e6bd4a33a6cf4d2dce9725630ada847a3947c7c.zip | |
Merge tag 'rust-fixes-6.12-2' of https://github.com/Rust-for-Linux/linux
Pull rust fixes from Miguel Ojeda:
"Toolchain and infrastructure:
- Fix several issues with the 'rustc-option' macro. It includes a
refactor from Masahiro of three '{cc,rust}-*' macros, which is not
a fix but avoids repeating the same commands (which would be
several lines in the case of 'rustc-option').
- Fix conditions for 'CONFIG_HAVE_CFI_ICALL_NORMALIZE_INTEGERS'. It
includes the addition of 'CONFIG_RUSTC_LLVM_VERSION', which is not
a fix but is needed for the actual fix.
And a trivial grammar fix"
* tag 'rust-fixes-6.12-2' of https://github.com/Rust-for-Linux/linux:
cfi: fix conditions for HAVE_CFI_ICALL_NORMALIZE_INTEGERS
kbuild: rust: add `CONFIG_RUSTC_LLVM_VERSION`
kbuild: fix issues with rustc-option
kbuild: refactor cc-option-yn, cc-disable-warning, rust-option-yn macros
lib/Kconfig.debug: fix grammar in RUST_BUILD_ASSERT_ALLOW
Diffstat (limited to 'scripts/rustc-llvm-version.sh')
| -rwxr-xr-x | scripts/rustc-llvm-version.sh | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/scripts/rustc-llvm-version.sh b/scripts/rustc-llvm-version.sh new file mode 100755 index 000000000000..b6063cbe5bdc --- /dev/null +++ b/scripts/rustc-llvm-version.sh @@ -0,0 +1,22 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# +# Usage: $ ./rustc-llvm-version.sh rustc +# +# Print the LLVM version that the Rust compiler uses in a 6 digit form. + +# Convert the version string x.y.z to a canonical up-to-6-digits form. +get_canonical_version() +{ + IFS=. + set -- $1 + echo $((10000 * $1 + 100 * $2 + $3)) +} + +if output=$("$@" --version --verbose 2>/dev/null | grep LLVM); then + set -- $output + get_canonical_version $3 +else + echo 0 + exit 1 +fi |
