[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8e58087b-17e6-4362-93f9-f9aaac6c4476@nvidia.com>
Date: Mon, 10 Nov 2025 11:18:03 -0800
From: John Hubbard <jhubbard@...dia.com>
To: Miguel Ojeda <ojeda@...nel.org>, Alex Gaynor <alex.gaynor@...il.com>,
Nathan Chancellor <nathan@...nel.org>, Nicolas Schier <nicolas@...sle.eu>
Cc: Boqun Feng <boqun.feng@...il.com>, Gary Guo <gary@...yguo.net>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>,
Benno Lossin <lossin@...nel.org>, Andreas Hindborg <a.hindborg@...nel.org>,
Alice Ryhl <aliceryhl@...gle.com>, Trevor Gross <tmgross@...ch.edu>,
Danilo Krummrich <dakr@...nel.org>, rust-for-linux@...r.kernel.org,
linux-kbuild@...r.kernel.org, linux-kernel@...r.kernel.org,
patches@...ts.linux.dev
Subject: Re: [PATCH 02/18] rust: kbuild: introduce `core-flags` and
`core-skip_flags`
On 11/10/25 1:50 AM, Miguel Ojeda wrote:
> In the next commits we are introducing `*-{cfgs,skip_flags,flags}`
> variables for other crates.
>
> Thus do so here for `core`, which simplifies a bit the `Makefile`
> (including the next commit) and makes it more consistent.
>
> This means we stop passing `-Wrustdoc::unescaped_backticks` to `rustc`
> and `-Wunreachable_pub` to `rustdoc`, i.e. we skip more, which is fine
> since it shouldn't have an effect.
>
> Signed-off-by: Miguel Ojeda <ojeda@...nel.org>
> ---
> rust/Makefile | 19 ++++++++++++++-----
> 1 file changed, 14 insertions(+), 5 deletions(-)
>
> diff --git a/rust/Makefile b/rust/Makefile
> index 3e545c1a0ff4..a001aae0da9d 100644
> --- a/rust/Makefile
> +++ b/rust/Makefile
> @@ -60,11 +60,20 @@ rustdoc_test_quiet=--test-args -q
> rustdoc_test_kernel_quiet=>/dev/null
> endif
>
> -core-cfgs = \
> +core-cfgs := \
I agree that switching to ":=" for this kind of Makefile variable
is a good move. However, it should be mentioned in the commit log
so that it doesn't look like it was accidentally introduced.
thanks,
--
John Hubbard
> --cfg no_fp_fmt_parse
>
> core-edition := $(if $(call rustc-min-version,108700),2024,2021)
>
> +core-skip_flags := \
> + --edition=2021 \
> + -Wunreachable_pub \
> + -Wrustdoc::unescaped_backticks
> +
> +core-flags := \
> + --edition=$(core-edition) \
> + $(core-cfgs)
> +
> # `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)
> @@ -125,8 +134,8 @@ rustdoc-macros: $(src)/macros/lib.rs rustdoc-clean FORCE
>
> # Starting with Rust 1.82.0, skipping `-Wrustdoc::unescaped_backticks` should
> # not be needed -- see https://github.com/rust-lang/rust/pull/128307.
> -rustdoc-core: private skip_flags = --edition=2021 -Wrustdoc::unescaped_backticks
> -rustdoc-core: private rustc_target_flags = --edition=$(core-edition) $(core-cfgs)
> +rustdoc-core: private skip_flags = $(core-skip_flags)
> +rustdoc-core: private rustc_target_flags = $(core-flags)
> rustdoc-core: $(RUST_LIB_SRC)/core/src/lib.rs rustdoc-clean FORCE
> +$(call if_changed,rustdoc)
>
> @@ -508,9 +517,9 @@ $(obj)/helpers/helpers.o: $(src)/helpers/helpers.c $(recordmcount_source) FORCE
> $(obj)/exports.o: private skip_gendwarfksyms = 1
>
> $(obj)/core.o: private skip_clippy = 1
> -$(obj)/core.o: private skip_flags = --edition=2021 -Wunreachable_pub
> +$(obj)/core.o: private skip_flags = $(core-skip_flags)
> $(obj)/core.o: private rustc_objcopy = $(foreach sym,$(redirect-intrinsics),--redefine-sym $(sym)=__rust$(sym))
> -$(obj)/core.o: private rustc_target_flags = --edition=$(core-edition) $(core-cfgs)
> +$(obj)/core.o: private rustc_target_flags = $(core-flags)
> $(obj)/core.o: $(RUST_LIB_SRC)/core/src/lib.rs \
> $(wildcard $(objtree)/include/config/RUSTC_VERSION_TEXT) FORCE
> +$(call if_changed_rule,rustc_library)
Powered by blists - more mailing lists