abidiff(1) on Linux
The text 47f9777619ed, as Debian 12 (Bookworm) shipped it.
compare ABIs of ELF files abidiff compares the Application Binary Interfaces (ABI) of two shared libraries in ELF format. It emits a meaningful report describing the differences between the two ABIs. This tool can also compare the textual representations of the ABI of two ELF binaries (as emitted by abidw) or an ELF binary against a textual representation of another ELF binary. For a comprehensive ABI change report between two input shared libraries that includes changes about function and variable sub-types, abidiff uses by default, debug information in DWARF format, if present, otherwise it compares interfaces using debug information in CTF format, if present, finally, if neither is found, it uses only ELF symbols to report which of them were added or removed. 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 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.