Skip to content

Commit 0a9be83

Browse files
committed
rust: kbuild: pass -Zunstable-options for Rust 1.95.0
Custom target specifications are unstable, but starting with Rust 1.95.0, `rustc` requires to explicitly pass `-Zunstable-options` to use them [1]: error: error loading target specification: custom targets are unstable and require `-Zunstable-options` | = help: run `rustc --print target-list` for a list of built-in targets David (Rust compiler team lead), writes: "We're destabilising custom targets to allow us to move forward with build-std without accidentally exposing functionality that we'd like to revisit prior to committing to. I'll start a thread on Zulip to discuss with the RfL team how we can come up with an alternative for them." Thus pass it. Cc: David Wood <david@davidtw.co> Cc: Wesley Wiser <wwiser@gmail.com> Cc: stable@vger.kernel.org # Needed in 6.12.y and later (Rust is pinned in older LTSs). Link: rust-lang/rust#151534 [1] Reviewed-by: Gary Guo <gary@garyguo.net> Tested-by: Gary Guo <gary@garyguo.net> Link: https://patch.msgid.link/20260206204535.39431-1-ojeda@kernel.org Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
1 parent 05f7e89 commit 0a9be83

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

rust/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -552,6 +552,8 @@ $(obj)/$(libpin_init_internal_name): private rustc_target_flags = --cfg kernel
552552
$(obj)/$(libpin_init_internal_name): $(src)/pin-init/internal/src/lib.rs FORCE
553553
+$(call if_changed_dep,rustc_procmacro)
554554

555+
# `rustc` requires `-Zunstable-options` to use custom target specifications
556+
# since Rust 1.95.0 (https://github.com/rust-lang/rust/pull/151534).
555557
quiet_cmd_rustc_library = $(if $(skip_clippy),RUSTC,$(RUSTC_OR_CLIPPY_QUIET)) L $@
556558
cmd_rustc_library = \
557559
OBJTREE=$(abspath $(objtree)) \
@@ -562,6 +564,7 @@ quiet_cmd_rustc_library = $(if $(skip_clippy),RUSTC,$(RUSTC_OR_CLIPPY_QUIET)) L
562564
--crate-type rlib -L$(objtree)/$(obj) \
563565
--crate-name $(patsubst %.o,%,$(notdir $@)) $< \
564566
--sysroot=/dev/null \
567+
-Zunstable-options \
565568
$(if $(rustc_objcopy),;$(OBJCOPY) $(rustc_objcopy) $@) \
566569
$(cmd_objtool)
567570

0 commit comments

Comments
 (0)