From c42f74d0e11b27bcba56ba99cf2b020217bffdea Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sun, 7 Sep 2025 14:16:10 +0200 Subject: [PATCH] 6.16-stable patches added patches: rust-support-rust-1.91.0-target-spec.patch --- ...rust-support-rust-1.91.0-target-spec.patch | 52 +++++++++++++++++++ queue-6.16/series | 1 + 2 files changed, 53 insertions(+) create mode 100644 queue-6.16/rust-support-rust-1.91.0-target-spec.patch diff --git a/queue-6.16/rust-support-rust-1.91.0-target-spec.patch b/queue-6.16/rust-support-rust-1.91.0-target-spec.patch new file mode 100644 index 0000000000..bb5b6d87a0 --- /dev/null +++ b/queue-6.16/rust-support-rust-1.91.0-target-spec.patch @@ -0,0 +1,52 @@ +From 8851e27d2cb947ea8bbbe8e812068f7bf5cbd00b Mon Sep 17 00:00:00 2001 +From: Miguel Ojeda +Date: Fri, 29 Aug 2025 21:55:25 +0200 +Subject: rust: support Rust >= 1.91.0 target spec + +From: Miguel Ojeda + +commit 8851e27d2cb947ea8bbbe8e812068f7bf5cbd00b upstream. + +Starting with Rust 1.91.0 (expected 2025-10-30), the target spec format +has changed the type of the `target-pointer-width` key from string +to integer [1]. + +Thus conditionally use one or the other depending on the version. + +Cc: Waffle Maybe +Link: https://github.com/rust-lang/rust/pull/144443 [1] +Link: https://lore.kernel.org/r/20250829195525.721664-1-ojeda@kernel.org +Signed-off-by: Miguel Ojeda +Signed-off-by: Greg Kroah-Hartman +--- + scripts/generate_rust_target.rs | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +--- a/scripts/generate_rust_target.rs ++++ b/scripts/generate_rust_target.rs +@@ -225,7 +225,11 @@ fn main() { + ts.push("features", features); + ts.push("llvm-target", "x86_64-linux-gnu"); + ts.push("supported-sanitizers", ["kcfi", "kernel-address"]); +- ts.push("target-pointer-width", "64"); ++ if cfg.rustc_version_atleast(1, 91, 0) { ++ ts.push("target-pointer-width", 64); ++ } else { ++ ts.push("target-pointer-width", "64"); ++ } + } else if cfg.has("X86_32") { + // This only works on UML, as i386 otherwise needs regparm support in rustc + if !cfg.has("UML") { +@@ -245,7 +249,11 @@ fn main() { + } + ts.push("features", features); + ts.push("llvm-target", "i386-unknown-linux-gnu"); +- ts.push("target-pointer-width", "32"); ++ if cfg.rustc_version_atleast(1, 91, 0) { ++ ts.push("target-pointer-width", 32); ++ } else { ++ ts.push("target-pointer-width", "32"); ++ } + } else if cfg.has("LOONGARCH") { + panic!("loongarch uses the builtin rustc loongarch64-unknown-none-softfloat target"); + } else { diff --git a/queue-6.16/series b/queue-6.16/series index 155e13b655..8cf9eaf8fa 100644 --- a/queue-6.16/series +++ b/queue-6.16/series @@ -140,3 +140,4 @@ net-pcs-rzn1-miic-correct-modctrl-register-offset.patch microchip-lan865x-fix-module-autoloading.patch microchip-lan865x-fix-lan8651-autoloading.patch drm-dp-change-aux-dpcd-probe-address-from-lane0_1_status-to-training_pattern_set.patch +rust-support-rust-1.91.0-target-spec.patch -- 2.47.3