[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <DDY1S4C4NY54.1S5RB5BI48AEJ@umich.edu>
Date: Sun, 02 Nov 2025 01:57:52 -0600
From: "Trevor Gross" <tmgross@...ch.edu>
To: "Miguel Ojeda" <ojeda@...nel.org>, "Alex Gaynor"
<alex.gaynor@...il.com>, "Nathan Chancellor" <nathan@...nel.org>, "Nicolas
Schier" <nicolas@...sle.eu>, "Huacai Chen" <chenhuacai@...nel.org>, "Thomas
Gleixner" <tglx@...utronix.de>, "Ingo Molnar" <mingo@...hat.com>, "Borislav
Petkov" <bp@...en8.de>, "Dave Hansen" <dave.hansen@...ux.intel.com>,
<x86@...nel.org>
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>, "WANG Xuerui" <kernel@...0n.name>,
<loongarch@...ts.linux.dev>, "H. Peter Anvin" <hpa@...or.com>,
<linux-kernel@...r.kernel.org>, <patches@...ts.linux.dev>
Subject: Re: [PATCH] rust: kbuild: support `-Cjump-tables=n` for Rust 1.93.0
On Sat Nov 1, 2025 at 4:40 AM CDT, Miguel Ojeda wrote:
> Rust 1.93.0 (expected 2026-01-22) is stabilizing `-Zno-jump-tables`
> [1][2] as `-Cjump-tables=n` [3].
>
> Without this change, one would eventually see:
>
> RUSTC L rust/core.o
> error: unknown unstable option: `no-jump-tables`
>
> Thus support the upcoming version.
>
> Link: https://github.com/rust-lang/rust/issues/116592 [1]
> Link: https://github.com/rust-lang/rust/pull/105812 [2]
> Link: https://github.com/rust-lang/rust/pull/145974 [3]
> Signed-off-by: Miguel Ojeda <ojeda@...nel.org>
Reviewed-by: Trevor Gross <tmgross@...ch.edu>
> ---
> arch/loongarch/Makefile | 2 +-
> arch/x86/Makefile | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/loongarch/Makefile b/arch/loongarch/Makefile
> index dc5bd3f1b8d2..96ca1a688984 100644
> --- a/arch/loongarch/Makefile
> +++ b/arch/loongarch/Makefile
> @@ -109,7 +109,7 @@ endif
> ifdef CONFIG_RUSTC_HAS_ANNOTATE_TABLEJUMP
> KBUILD_RUSTFLAGS += -Cllvm-args=--loongarch-annotate-tablejump
> else
> -KBUILD_RUSTFLAGS += -Zno-jump-tables # keep compatibility with older compilers
> +KBUILD_RUSTFLAGS += $(if $(call rustc-min-version,109300),-Cjump-tables=n,-Zno-jump-tables) # keep compatibility with older compilers
> endif
> ifdef CONFIG_LTO_CLANG
> # The annotate-tablejump option can not be passed to LLVM backend when LTO is enabled.
> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index 4db7e4bf69f5..c60371db49d9 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -98,7 +98,7 @@ ifeq ($(CONFIG_X86_KERNEL_IBT),y)
> # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104816
> #
> KBUILD_CFLAGS += $(call cc-option,-fcf-protection=branch -fno-jump-tables)
> -KBUILD_RUSTFLAGS += -Zcf-protection=branch -Zno-jump-tables
> +KBUILD_RUSTFLAGS += -Zcf-protection=branch $(if $(call rustc-min-version,109300),-Cjump-tables=n,-Zno-jump-tables)
> else
> KBUILD_CFLAGS += $(call cc-option,-fcf-protection=none)
> endif
>
> base-commit: dcb6fa37fd7bc9c3d2b066329b0d27dedf8becaa
Powered by blists - more mailing lists