From: Nathan Chancellor <nathan@kernel.org>
To: HeeSu Kim <mlksvender@gmail.com>
Cc: a.hindborg@kernel.org, aliceryhl@google.com,
bjorn3_gh@protonmail.com, boqun@google.com, charmitro@posteo.net,
dakr@kernel.org, gary@garyguo.net, linux-kbuild@vger.kernel.org,
linux-kernel@vger.kernel.org, lossin@kernel.org,
miguel.ojeda.sandonis@gmail.com, nsc@kernel.org,
ojeda@kernel.org, rust-for-linux@vger.kernel.org,
tmgross@umich.edu, stable@vger.kernel.org
Subject: Re: [PATCH v4] rust: Makefile: bound rustdoc workaround to affected versions
Date: Tue, 3 Feb 2026 15:12:24 -0700 [thread overview]
Message-ID: <20260203221224.GA2703490@ax162> (raw)
In-Reply-To: <20260203234843.2834885-1-mlksvender@gmail.com>
On Wed, Feb 04, 2026 at 08:48:43AM +0900, HeeSu Kim wrote:
> The `-Cunsafe-allow-abi-mismatch=fixed-x18` workaround was added to
> handle a rustdoc bug where target modifiers were not properly saved [1].
>
> This bug was fixed in Rust 1.90.0 [2]. Restrict the workaround to only
> apply for Rust 1.88.x and 1.89.x versions that are affected by the
> bug, preserving ABI compatibility checks on newer compiler versions.
>
> Add `rustc-max-version` macro to `scripts/Makefile.compiler` for
> version upper bound checks, mirroring the existing `rustc-min-version`.
>
> Link: https://github.com/rust-lang/rust/issues/144521 [1]
> Link: https://github.com/rust-lang/rust/pull/144523 [2]
> Suggested-by: Gary Guo <gary@garyguo.net>
> Link: https://lore.kernel.org/rust-for-linux/DG4JM9PU51M0.1YRGM9HVTY24U@garyguo.net/
> Suggested-by: Miguel Ojeda <ojeda@kernel.org>
> Link: https://lore.kernel.org/rust-for-linux/CANiq72n39eU9WE=Yh0_yJzmqMxo=QAaU2pN0UqP9jZ7bT7rhgA@mail.gmail.com/
> Cc: stable@vger.kernel.org # Useful in 6.18.y and later.
> Signed-off-by: HeeSu Kim <mlksvender@gmail.com>
Acked-by: Nathan Chancellor <nathan@kernel.org>
I assume Miguel will pick this up.
> ---
> Changes in v4:
> - Add rustc-max-version macro for cleaner version bounds
> - Use rustc-max-version instead of test-lt for readability
>
> Changes in v3:
> - Remove Fixes: tag (this is a feature, not a fix)
> - Use full URLs with Link: tags instead of GitHub-style references
> - Add Link: to lore.kernel.org for Suggested-by attribution
> - Add Cc: stable for potential backporting to 6.18.y
>
> Changes in v2:
> - Change approach: bound to affected Rust versions instead of ARM64-only
> (the flag is simply ignored on non-ARM64 architectures)
>
> rust/Makefile | 3 ++-
> scripts/Makefile.compiler | 4 ++++
> 2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/rust/Makefile b/rust/Makefile
> index 5c0155b83454..1e8a75bc2878 100644
> --- a/rust/Makefile
> +++ b/rust/Makefile
> @@ -136,7 +136,8 @@ pin_init-flags := \
>
> # `rustdoc` did not save the target modifiers, thus workaround for
> # the time being (https://github.com/rust-lang/rust/issues/144521).
> -rustdoc_modifiers_workaround := $(if $(call rustc-min-version,108800),-Cunsafe-allow-abi-mismatch=fixed-x18)
> +# The bug was fixed in Rust 1.90.0, so only apply for 1.88.x and 1.89.x.
> +rustdoc_modifiers_workaround := $(if $(call rustc-min-version,108800),$(if $(call rustc-max-version,108999),-Cunsafe-allow-abi-mismatch=fixed-x18))
>
> # Similarly, for doctests (https://github.com/rust-lang/rust/issues/146465).
> doctests_modifiers_workaround := $(rustdoc_modifiers_workaround)$(if $(call rustc-min-version,109100),$(comma)sanitizer)
> diff --git a/scripts/Makefile.compiler b/scripts/Makefile.compiler
> index ef91910de265..85268f6f1494 100644
> --- a/scripts/Makefile.compiler
> +++ b/scripts/Makefile.compiler
> @@ -71,6 +71,10 @@ clang-min-version = $(call test-ge, $(CONFIG_CLANG_VERSION), $1)
> # Usage: rustc-$(call rustc-min-version, 108500) += -Cfoo
> rustc-min-version = $(call test-ge, $(CONFIG_RUSTC_VERSION), $1)
>
> +# rustc-max-version
> +# Usage: rustc-$(call rustc-max-version, 109000) += -Cfoo
> +rustc-max-version = $(call test-le, $(CONFIG_RUSTC_VERSION), $1)
Minor meta comment: It is generally perferred to add a macro like this
in a separate change to make it easier to backport if it is needed in
the future.
> # ld-option
> # Usage: KBUILD_LDFLAGS += $(call ld-option, -X, -Y)
> ld-option = $(call try-run, $(LD) $(KBUILD_LDFLAGS) $(1) -v,$(1),$(2),$(3))
> --
> 2.52.0
>
next prev parent reply other threads:[~2026-02-03 22:12 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-02 22:21 [PATCH] rust: Makefile: apply fixed-x18 workaround only on arm64 HeeSu Kim
2026-02-02 13:59 ` Charalampos Mitrodimas
2026-02-02 23:17 ` HeeSu Kim
2026-02-02 14:20 ` Miguel Ojeda
2026-02-02 14:24 ` Gary Guo
2026-02-02 23:45 ` HeeSu Kim
2026-02-03 0:21 ` [PATCH v2] rust: Makefile: bound rustdoc workaround to affected versions HeeSu Kim
2026-02-02 16:00 ` Miguel Ojeda
2026-02-03 0:56 ` Nathan Chancellor
2026-02-03 23:48 ` [PATCH v4] " HeeSu Kim
2026-02-03 22:12 ` Nathan Chancellor [this message]
2026-02-05 13:15 ` HeeSu Kim
2026-02-05 13:18 ` [PATCH v5 1/2] kbuild: add rustc-max-version macro HeeSu Kim
2026-02-05 13:18 ` [PATCH v5 2/2] rust: Makefile: bound rustdoc workaround to affected versions HeeSu Kim
2026-03-12 14:12 ` Miguel Ojeda
2026-04-19 14:05 ` [PATCH v6 0/2] " HeeSu Kim
2026-04-19 14:06 ` HeeSu Kim
2026-04-19 14:05 ` [PATCH v6 1/2] kbuild: add rustc-lt-version macro HeeSu Kim
2026-04-19 14:06 ` HeeSu Kim
2026-04-19 14:05 ` [PATCH v6 2/2] rust: Makefile: bound rustdoc workaround to affected versions HeeSu Kim
2026-04-19 14:06 ` HeeSu Kim
2026-02-05 15:55 ` [PATCH v5 1/2] kbuild: add rustc-max-version macro Nicolas Schier
2026-03-10 22:45 ` Miguel Ojeda
2026-02-03 1:46 ` [PATCH v2] rust: Makefile: bound rustdoc workaround to affected versions HeeSu Kim
2026-02-03 9:17 ` [PATCH v3] " HeeSu Kim
2026-02-03 14:56 ` [PATCH v2] " Gary Guo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260203221224.GA2703490@ax162 \
--to=nathan@kernel.org \
--cc=a.hindborg@kernel.org \
--cc=aliceryhl@google.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun@google.com \
--cc=charmitro@posteo.net \
--cc=dakr@kernel.org \
--cc=gary@garyguo.net \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lossin@kernel.org \
--cc=miguel.ojeda.sandonis@gmail.com \
--cc=mlksvender@gmail.com \
--cc=nsc@kernel.org \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=tmgross@umich.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.