Libabigail is a library which aims at constructing, manipulating,
serializing and de-serializing ABI-relevant artifacts.
It also comes with a set of associated command line tools to compare
the interfaces of ELF binaries resulting from the compilation of C or
C++ programs.
Typical use cases of libabigail tools include detecting ABI
incompatible changes across several releases of shared libraries or
incompatible changes in the interface between a Linux kernel and its
modules, for instance.
Users can of course write their own tools using the library.
The library comes with extensive API documentation available online at
https://sourceware.org/libabigail/apidoc. The tools are documented
online as well at https://sourceware.org/libabigail/manual/libabigail-tools.html.
With this release, the source code switches from the LGPLv3+ license
to the Apache License 2.0 with LLVM exception. This is the result of
a collaborative effort led by myself and others to lower the barrier
of entry to the project. The whole rationale was introduced at
https://sourceware.org/pipermail/libabigail/2020q2/002388.html.
A notable change is the switch to C++11 as the implementation
language. It was about time. We intend to be able to build
Libabigail on Linux distributions that GCC 4.8.5 and newer versions.
Another notable change is the support for many DWARF5 features, making
libabigail able to handle binaries generated by more recent toolchains
based on LLVM and GCC.
Of course, this release also contains a lot of bug fixes, as usual.
More info can be found at: https://sourceware.org/pipermail/libabigail/2021q4/003712.html and https://developers.redhat.com/articles/2022/01/06/whats-new-libabigail-20