mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 03:27:30 -04:00
Merge tag 'rust-fixes-7.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux
Pull Rust fixes from Miguel Ojeda:
"Toolchain and infrastructure:
- Fix 'rustc-option' (the Makefile one) when cross-compiling that
leads to build or boot failures in certain configs
- Work around a Rust compiler bug (already fixed for Rust 1.98.0)
thats lead to boot failures in certain configs due to missing
'uwtable' LLVM module flags
- Support a Rust compiler change (starting with Rust 1.98.0) in the
unstable target specification JSON files
- Forbid Rust + arm + KASAN configs, which do not build
'kernel' crate:
- Fix NOMMU build by adding a missing helper"
* tag 'rust-fixes-7.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux:
rust: x86: support Rust >= 1.98.0 target spec
rust: arm64: set uwtable llvm module flag for CONFIG_UNWIND_TABLES
rust: helpers: add is_vmalloc_addr wrapper for NOMMU builds
rust: kasan/kbuild: fix rustc-option when cross-compiling
ARM: Do not select HAVE_RUST when KASAN is enabled
This commit is contained in:
@@ -80,7 +80,7 @@ ld-option = $(call try-run, $(LD) $(KBUILD_LDFLAGS) $(1) -v,$(1),$(2),$(3))
|
||||
# TODO: remove RUSTC_BOOTSTRAP=1 when we raise the minimum GNU Make version to 4.4
|
||||
__rustc-option = $(call try-run,\
|
||||
echo '$(pound)![allow(missing_docs)]$(pound)![feature(no_core)]$(pound)![no_core]' | RUSTC_BOOTSTRAP=1\
|
||||
$(1) --sysroot=/dev/null $(filter-out --sysroot=/dev/null --target=%,$(2)) $(3)\
|
||||
$(1) --sysroot=/dev/null $(KBUILD_RUSTFLAGS_OPTION_CHKS) $(filter-out --sysroot=/dev/null --target=%target.json,$(2)) $(3)\
|
||||
--crate-type=rlib --out-dir=$(TMPOUT) --emit=obj=- - >/dev/null,$(3),$(4))
|
||||
|
||||
# rustc-option
|
||||
|
||||
@@ -196,7 +196,9 @@ fn main() {
|
||||
}
|
||||
} else if cfg.has("X86_64") {
|
||||
ts.push("arch", "x86_64");
|
||||
if cfg.rustc_version_atleast(1, 86, 0) {
|
||||
if cfg.rustc_version_atleast(1, 98, 0) {
|
||||
ts.push("rustc-abi", "softfloat");
|
||||
} else if cfg.rustc_version_atleast(1, 86, 0) {
|
||||
ts.push("rustc-abi", "x86-softfloat");
|
||||
}
|
||||
ts.push(
|
||||
@@ -236,7 +238,9 @@ fn main() {
|
||||
panic!("32-bit x86 only works under UML");
|
||||
}
|
||||
ts.push("arch", "x86");
|
||||
if cfg.rustc_version_atleast(1, 86, 0) {
|
||||
if cfg.rustc_version_atleast(1, 98, 0) {
|
||||
ts.push("rustc-abi", "softfloat");
|
||||
} else if cfg.rustc_version_atleast(1, 86, 0) {
|
||||
ts.push("rustc-abi", "x86-softfloat");
|
||||
}
|
||||
ts.push(
|
||||
|
||||
Reference in New Issue
Block a user