On Mon, Nov 10, 2025 at 2:19 PM Miguel Ojeda ojeda@kernel.org wrote:
From: Sami Tolvanen samitolvanen@google.com
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?There are several alternatives that would work here: conditionally skipping in the cases needed (but that is subtle and brittle), forcing DWARF generation with e.g. a dummy `static` (ugly and we may need to do it in several crates), skipping the call to the tool in the Kbuild command when there are no exports (fine) or teaching the tool to do so itself (simple and clean).
Thus do the last one: don't attempt to process files if we have no symbol versions to calculate.
[ I used the commit log of my patch linked below since it explained the root issue and expanded it a bit more to summarize the alternatives.
- Miguel ]Cc: stable@vger.kernel.org # Needed in 6.12.y and later (Rust is pinned in older LTSs). Reported-by: Haiyue Wang haiyuewa@163.com Closes: https://lore.kernel.org/rust-for-linux/b8c1c73d-bf8b-4bf2-beb1-84ffdcd60547@... Suggested-by: Miguel Ojeda ojeda@kernel.org Link: https://lore.kernel.org/rust-for-linux/CANiq72nKC5r24VHAp9oUPR1HVPqT+=0ab9N0... Link: https://github.com/rust-lang/rust/commit/ab91a63d403b0105cacd72809cd292a7298... [1] Link: https://github.com/rust-lang/rust/pull/145910 [2] Signed-off-by: Sami Tolvanen samitolvanen@google.com Signed-off-by: Miguel Ojeda ojeda@kernel.org
Applied to `rust-fixes` to start getting some testing.
If someone doesn't want it, then please let me know.
Cheers, Miguel