| 2.1 version |
| =========== |
| |
| This occurred in libabigail 2.1. The IR doesn't contain no-op |
| qualified types anymore. These were the ancient way to represent |
| qualified type that were edited by libabigail to avoid spurious |
| diagnostics. E.g, const references or const void type. In those |
| cases, we were replacing these by qualified types that were no-ops. |
| Those no-ops qualified types further needed to be stripped off in the |
| diff IR to avoid emitting spurious changes. It turned out stripping |
| out those no-op qualified types was causing some difficulties in the |
| algorithms that propagate type diff node categorization. |
| |
| For instance, variable diff type node would have the categorization of |
| its diff->type_diff() be different from what we could see from the |
| change observed between its diff->first_subject()->get_type() and |
| diff->second_subject()->get_type(). This is because diff->type_diff() |
| strips the no-op qualified types to create a new diff IR node, whereas |
| looking at the difference between diff->first_subject->get_type() and |
| diff->second_subject()->get_type() gives a different perspective. |
| |
| So looking at the "changes" carried by 'diff' could yield a result |
| suggesting that there was a change to be diagnosed, carried by the |
| difference between diff->first_subject()->get_type() and |
| diff->second_subject()->get_type() -- a difference between two no-ops |
| qualified types -- whereas actually looking at diff->type_diff() (that |
| should be equivalent) yields a different information because it's |
| stripped off of the no-op qualified type. |
| |
| Just removing the no-op qualified types removed all those issues |
| altogether. So in concrete terms, when we see a const reference, it's |
| replaced by a reference (because a reference is always const) and |
| when we see a const void, it's replaced by void. As simple as that. |
| |
| But then the emitted ABIXML won't carry any no-op qualified type |
| anymore. Older versions of ABIXML might still carry those, and so |
| abidiff-ing those against their original binary might yield some |
| spurious diagnostics. Hence the minor version bump. |
| |
| relevant commit: |
| ---------------- |
| commit 8a4f72005bc96fecf63414784cf94857eddbd124 |
| Author: Dodji Seketeli <dodji@redhat.com> |
| Date: Thu Nov 4 10:59:32 2021 +0100 |
| |
| Bug 28450 - Fix cloned member function handling in DWARF |
| 2.0 version |
| =========== |
| |
| This occured in libabigail 2.0. The interpretation of |
| DW_AT_bit_offset (DWARF 5) changed so the value of the |
| 'layout-offset-in-bits' property of the 'data-member' element might |
| now have changed in an incompatible way. |
| |
| relevant commit: |
| ---------------- |
| commit 23046152e0843bc2f141e37dcce047305c3f4379 |
| Author: Dodji Seketeli <dodji@redhat.com> |
| Date: Thu Oct 22 16:04:08 2020 +0200 |
| |
| Bump ABIXML format version to 2.0 |
| |
| |
| 1.0 version |
| =========== |
| |
| This was the initial version of abixml. |