Starting with Rust 1.91.0 (released 2025-10-30), in upstream commit
ab91a63d403b ("Ignore intrinsic calls in cross-crate-inlining cost model")
[1][2], `bindings.o` stops containing DWARF debug information because the
`Default` implementations contained `write_bytes()` calls which are now
ignored in that cost model (note that `CLIPPY=1` does not reproduce it).
This means `gendwarfksyms` complains:
RUSTC L rust/bindings.o
error: gendwarfksyms: process_module: dwarf_get_units failed: no debugging
information?
For the moment, conditionally skip `gendwarfksyms` for Rust >= 1.91.0.
Cc: [email protected] # Needed in 6.12.y and later (Rust is pinned in
older LTSs).
Reported-by: Haiyue Wang <[email protected]>
Closes:
https://lore.kernel.org/rust-for-linux/[email protected]/
Link:
https://github.com/rust-lang/rust/commit/ab91a63d403b0105cacd72809cd292a72984ed99
[1]
Link: https://github.com/rust-lang/rust/pull/145910 [2]
Signed-off-by: Miguel Ojeda <[email protected]>
---
rust/Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/rust/Makefile b/rust/Makefile
index 3e545c1a0ff4..269bf7cf5b97 100644
--- a/rust/Makefile
+++ b/rust/Makefile
@@ -543,6 +543,7 @@ $(obj)/ffi.o: private skip_gendwarfksyms = 1
$(obj)/ffi.o: $(src)/ffi.rs $(obj)/compiler_builtins.o FORCE
+$(call if_changed_rule,rustc_library)
+$(obj)/bindings.o: private skip_gendwarfksyms := $(if $(call
rustc-min-version,109100),1)
$(obj)/bindings.o: private rustc_target_flags = --extern ffi --extern pin_init
$(obj)/bindings.o: $(src)/bindings/lib.rs \
$(obj)/ffi.o \
base-commit: dc77806cf3b4788d328fddf245e86c5b529f31a2
--
2.51.2