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


Reply via email to