On 11/10/2025 9:19 PM, Miguel Ojeda wrote:
From: Sami Tolvanen <[email protected]>

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: [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]/
Suggested-by: Miguel Ojeda <[email protected]>
Link: 
https://lore.kernel.org/rust-for-linux/CANiq72nKC5r24VHAp9oUPR1HVPqT+=0ab9n0w6gqtf-kjoe...@mail.gmail.com/
Link: 
https://github.com/rust-lang/rust/commit/ab91a63d403b0105cacd72809cd292a72984ed99
 [1]
Link: https://github.com/rust-lang/rust/pull/145910 [2]
Signed-off-by: Sami Tolvanen <[email protected]>
Signed-off-by: Miguel Ojeda <[email protected]>
---
  scripts/gendwarfksyms/gendwarfksyms.c | 3 ++-
  scripts/gendwarfksyms/gendwarfksyms.h | 2 +-
  scripts/gendwarfksyms/symbols.c       | 4 +++-
  3 files changed, 6 insertions(+), 3 deletions(-)


Tested-by: Haiyue Wang <[email protected]>


Reply via email to