abidiff improvements for kernel UAPI checker
Dodji Seketeli
dodji@seketeli.org
Fri Sep 22 11:39:32 GMT 2023
Hello John,
John Moon <quic_johmoo@quicinc.com> a écrit:
[...]
> === Anonymous Enums ===
> Another issue that comes up when comparing ABI across wide swaths of
> kernel commit history are changes to anonymous enums. From what I can
> tell, there's not a great way to handle this. If someone adds a new
> anonymous enum, the tag abidiff gives (e.g. enum __anonymous_enum__6)
> can change, so abidiff reports a new anonymous enum with all the same
> fields even though it was basically just a "rename".
>
> For reference, this file is full of anonymous enums:
> https://elixir.bootlin.com/linux/latest/source/include/uapi/linux/ethtool_netlink.h#L15.
> Basically any change in there is triggering a failure from the script.
[...]
Dodji Seketeli <dodji@seketeli.org> a écrit:
[...]
> I think we can do something similar to what we do for anonymous
> structs/unions, which it to consider content of the enums, rather than
> just their "made-up" names.
So, I have an initial implementation for handling the comparison of
anonymous enums and it's in the 'users/dodji/better-anon-enums' branch.
Maybe you can try this branch on your test case to see if you still have
issues regarding anonymous enums? If you still do, I'd be very much
interested in reproducing the issue locally on my system and extract a
smaller reproducer that could end up in the regression test suite of
libabigail.
I hope this can be useful somehow.
[...]
Cheers and many thanks!
--
Dodji
More information about the Libabigail
mailing list