On Tue, Jul 16, 2024 at 12:12 AM Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > > After replacement: > > > > union { > > u64 new_member; > > struct { > > u8 __kabi_reserved_1[8]; > > }; > > } > > Note, such a thing would only be for the distros that want it, you can > add support for this to the tool, but there is no need for any > __kabi_reserved fields in mainline. Sure. I assume modversions are primarily useful for distros, so I just want to make sure this scheme can handle all the common issues as well. > > Greg, I know you've been dealing with this for a long time, any thoughts? > > It's a good start, yes. Also watch out for when structures go from > "anonymous" to "fully described" when new #include lines get added to > files. The current tooling has issues with that, so we need to use > __GENKSYMS__ #ifdef lines in some places to keep crc generation stable. > Don't know if dwarf output would be susceptible to the same issues with > that or not, but you should check. That's a great point. DWARF output has the exact same problem if a structure declaration later becomes a definition, but I think we can come up with a solution for this issue too in v2. Sami