abipkgdiff(1) on Linux
The text b4d95f9323d0, as Arch Linux 2026-11-01 shipped it. The page shows this text now.
compare ABIs of ELF files in software packages abipkgdiff compares the Application Binary Interfaces (ABI) of the ELF <http://en.wikipedia.org/wiki/Executable_and_Linkable_Format> binaries contained in two sets of software packages. The software package formats currently supported are Deb <https://en.wikipedia.org/wiki/Deb_%28file_format%29>, RPM <https://en.wikipedia.org/wiki/RPM_Package_Manager>, tar <https://en.wikipedia.org/wiki/Tar_%28computing%29> archives (either compressed or not) and plain directories that contain binaries. The ABI of the binaries contained in the second set of packages is compared against the ABI of the binaries contained in the first set of packages. For a comprehensive ABI change report that includes changes about function and variable sub-types, the two input package sets must be accompanied with their debug information packages that contain debug information either in DWARF <http://www.dwarfstd.org>, CTF <https://raw.githubusercontent.com/wiki/oracle/binutils-gdb/files/ctf-spec.pdf> or in BTF <https://docs.kernel.org/bpf/btf.html> formats. Please note however that some packages contain binaries that embed the debug information directly in a section of said binaries. In those cases, obviously, no separate debug information package is needed as the tool will find the debug information inside the binaries. By default, abipkgdiff uses debug information in DWARF <http://www.dwarfstd.org> format, if present, otherwise it compares binaries interfaces using debug information in CTF <https://raw.githubusercontent.com/wiki/oracle/binutils-gdb/files/ctf-spec.pdf> or in BTF <https://docs.kernel.org/bpf/btf.html> formats, if present. Finally, if no debug info in these formats is found, it only considers ELF <http://en.wikipedia.org/wiki/Executable_and_Linkable_Format> symbols and report about their addition or removal. This tool uses the libabigail library to analyze the binary as well as its associated debug information. Here is its general mode of operation. When instructed to do so, a binary and its associated debug information is read and analyzed. To that effect, libabigail analyzes by default the descriptions of the types reachable by the interfaces (functions and variables) that are visible outside of their translation unit. Once that analysis is done, an Application Binary Interface Corpus is constructed by only considering the subset of types reachable from interfaces associated to ELF <http://en.wikipedia.org/wiki/Executable_and_Linkable_Format> symbols that are defined and exported by the binary. It's that final ABI corpus which libabigail considers as representing the ABI of the analyzed binary. Libabigail then has capabilities to generate textual representations of ABI Corpora, compare them, analyze their changes and report about them.
Flags it lists
-
--btf -
--ctf -
--no-show-relative-offset-changes