[PATCH] rust: enable fentry support

From: Paul Murphy

Date: Fri Jul 24 2026 - 13:18:23 EST


Turn it on when available if CONFIG_HAVE_FENTRY=y.

Rust support was added in 1.98.0 with support for x86 and s390x targets.

Signed-off-by: Paul Murphy <murp@xxxxxxxxxx>
---
Makefile | 2 ++
scripts/generate_rust_target.rs | 2 ++
2 files changed, 4 insertions(+)

diff --git a/Makefile b/Makefile
index bfb47ad8cb9a..bdfe93702a33 100644
--- a/Makefile
+++ b/Makefile
@@ -1053,10 +1053,12 @@ ifdef CONFIG_HAVE_FENTRY
CC_FLAGS_FTRACE += -mfentry
CC_FLAGS_USING += -DCC_USING_FENTRY
endif
+ RUSTFLAGS_FTRACE := $(if $(call rustc-min-version,109800),-Zinstrument-mcount=fentry,)
endif
export CC_FLAGS_FTRACE
KBUILD_CFLAGS += $(CC_FLAGS_FTRACE) $(CC_FLAGS_USING)
KBUILD_AFLAGS += $(CC_FLAGS_USING)
+KBUILD_RUSTFLAGS += $(RUSTFLAGS_FTRACE)
endif

# We trigger additional mismatches with less inlining
diff --git a/scripts/generate_rust_target.rs b/scripts/generate_rust_target.rs
index 3bf296581a88..eb80a06d50d3 100644
--- a/scripts/generate_rust_target.rs
+++ b/scripts/generate_rust_target.rs
@@ -198,6 +198,7 @@ fn main() {
ts.push("arch", "x86_64");
if cfg.rustc_version_atleast(1, 98, 0) {
ts.push("rustc-abi", "softfloat");
+ ts.push("supports-fentry", true);
} else if cfg.rustc_version_atleast(1, 86, 0) {
ts.push("rustc-abi", "x86-softfloat");
}
@@ -240,6 +241,7 @@ fn main() {
ts.push("arch", "x86");
if cfg.rustc_version_atleast(1, 98, 0) {
ts.push("rustc-abi", "softfloat");
+ ts.push("supports-fentry", true);
} else if cfg.rustc_version_atleast(1, 86, 0) {
ts.push("rustc-abi", "x86-softfloat");
}

base-commit: 7059bdf4f04a3e14f4fafb3ac35fdca913e3e21a
--
2.55.0