API changes that do not impact ABI

Ben Woodard woodard@redhat.com
Wed Oct 27 21:52:05 GMT 2021



> On Oct 27, 2021, at 3:22 AM, Dodji Seketeli <dodji@seketeli.org> wrote:
> 
> Ben Woodard <woodard@redhat.com <mailto:woodard@redhat.com>> a écrit:
> 
>> At least one version of that shows up in https://sourceware.org/bugzilla/show_bug.cgi?id=28025 <https://sourceware.org/bugzilla/show_bug.cgi?id=28025>
> 
> This is typically an example of runtime-only property.  And we logically
> don't detect it.  I should comment on the bug ...

I don’t think you are correct about that.
The layout of the type is included and then compiled into one version of the binary but then a change of the type is not picked up as being different in the other version of the library. That is basically the definition of an ABI break.

I thnk that the fix is relatively simple. The types which are involved in RTTI should be included in the types which are evaluated for compatiblity in the same way that types which are used as extern variables or parameters are considered. To enumerate these types you just need to look in the LSDA the typenames you must consider are there.

-ben


> 
> [...]



More information about the Libabigail mailing list