[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Libabigail 1.3 is out!
Libabigail 1.3 has been released.
This is mostly a bug fix release. Many correctness and noise
filtering improvements have been brought to the kmidiff tool for
people willing to analyse changes to the interface between a Linux
kernle and its modules.
The abipkgdiff tool can now detect shared libraries (in RPMs) that are
meant to stay private to the package and avoid analyzing those. This
is done by looking at the "provides" property of the RPM.
Also, with this release, Libabigail tools can now use Python 3 when
that environment is present. Otherwise, they just use Python 2 as before.
You can download the tarball of this release at
Okay, so for those of you who don't know, 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
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.
Below is a detailed summary of the significant changes brought to you
in this new release:
Bug 22722 - Make fedabipkgdiff and its tests support both python 3 and 2
Report change locations in leaf reports
Skip changes to function *types* in the leaf reporter
Make abipkgdiff avoid comparing private DSOs from RPMs
Detect the presence of 'rpm' as it's now needed by abipkgdiff
Do not enable fedabipkgdiff tests if fedabipkgdiff itself is disabled
Don't crash when invoking kmidiff with no debug info root dir
Don't possibly forget type definition when reading a CorpusGroup
Do not show decl-only-to-def changes in the leaf reporter
Overhaul of the report diff stats summary
Do not mark "distinct" diff nodes as being redundant
Fix meaning of "harmless name change" to avoid overfiltering
Better handle category propagation of pointer changes
Improve function changes reporting in leaf and default mode
Don't filter out typedef changes with redundant underlying type changes
Only show leaf type changes in the leaf type changes section
Fix leaf report of class data member changes
Always show redundant changes in leaf mode
Avoid reporting an enum change if it has already been reported
When we say a change was reported earlier give its source location
[abipkgdiff]: in leaf mode we always show redundant changes
Update tests for the "better leaf mode redundancy management" patchset
Use absolute builddir paths in automake test files
Represent sizes and offsets in bytes and hexadecimal values
Initial support of anonymous data members
Show data member offsets in bytes too
Sort the output of the leaf reporter
Use the dynamically selected python for Koji configure tests
Use the correct python interpreter in runtestdefaultsupprs.py
Handle cases where no python2 interpreter is found
Don't bail because "rpm" issued an error
Remove assertion with side-effects
Remove unused local set<string> variables
Rename misleading remove_trailing_white_spaces functions
Use std::string::substr instead of appending single chars
Many thanks to those who contributed to this release with bug reports,
comments or code.
Happy Hacking and may all significant binary interface changes of your
libraries be noticed!