Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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: https://github.com/rust-lang/rust/pull/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>

+3
+3
rust/Makefile
··· 552 552 $(obj)/$(libpin_init_internal_name): $(src)/pin-init/internal/src/lib.rs FORCE 553 553 +$(call if_changed_dep,rustc_procmacro) 554 554 555 + # `rustc` requires `-Zunstable-options` to use custom target specifications 556 + # since Rust 1.95.0 (https://github.com/rust-lang/rust/pull/151534). 555 557 quiet_cmd_rustc_library = $(if $(skip_clippy),RUSTC,$(RUSTC_OR_CLIPPY_QUIET)) L $@ 556 558 cmd_rustc_library = \ 557 559 OBJTREE=$(abspath $(objtree)) \ ··· 564 562 --crate-type rlib -L$(objtree)/$(obj) \ 565 563 --crate-name $(patsubst %.o,%,$(notdir $@)) $< \ 566 564 --sysroot=/dev/null \ 565 + -Zunstable-options \ 567 566 $(if $(rustc_objcopy),;$(OBJCOPY) $(rustc_objcopy) $@) \ 568 567 $(cmd_objtool) 569 568