Hi Giuliano, On Tue, Nov 18, 2025 at 6:58 AM Giuliano Procida <[email protected]> wrote: > > Hi. > > > Thus do the last one: don't attempt to process files if we have no symbol > > versions to calculate. > > This results in the -T foo option being ignored in the case there were > no symbols. I think it would be better, consistent with the > documentation and expectations, for the file to be produced empty.
The kernel build doesn't produce empty symtypes files because symbol versioning is skipped for (non-Rust) object files that have no exports, and before rustc 1.91, we never ran gendwarfksyms for Rust object files that didn't have exports. > This means that just the for loop should be skipped, say by adding the > condition there with &&. No, I think the current behavior is correct, we shouldn't produce empty files. > If you disagree, then please update the documentation to match the new > behaviour. I re-read the documentation and it doesn't really state how the -T flag behaves if the tool is used to process a file with no exports. While this doesn't impact kernel builds, a patch to clarify the documentation is always welcome! Sami

