arch/loongarch/Makefile | 2 +- arch/x86/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
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@kernel.org>
---
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
--
2.51.2
On Sat, Nov 1, 2025 at 10:40 AM Miguel Ojeda <ojeda@kernel.org> 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@kernel.org> It got stabilized and merged upstream. Applied to `rust-fixes` -- thanks everyone! Cheers, Miguel
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@kernel.org> Reviewed-by: Trevor Gross <tmgross@umich.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
On Sat, Nov 01, 2025 at 10:40:11AM +0100, 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@kernel.org> > --- > arch/loongarch/Makefile | 2 +- > arch/x86/Makefile | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > Acked-by: Nicolas Schier <nsc@kernel.org> -- Nicolas
On Sat, Nov 1, 2025 at 10:40 AM Miguel Ojeda <ojeda@kernel.org> 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@kernel.org> Does this need a CC stable too? Reviewed-by: Alice Ryhl <aliceryhl@google.com>
On Sat, Nov 1, 2025 at 12:15 PM Alice Ryhl <aliceryhl@google.com> wrote: > > Does this need a CC stable too? Definitely -- I just forgot my usual line: Cc: stable@vger.kernel.org # Needed in 6.12.y and later (Rust is pinned in older LTSs). Thanks! I will apply this when upstream's PR gets merged and send it together with a couple other fixes. Cheers, Miguel
© 2016 - 2026 Red Hat, Inc.