1e01aa904Sopenharmony_ciThis tool uses the libabigail library to analyze the binary as well as its 2e01aa904Sopenharmony_ciassociated debug information. Here is its general mode of operation. 3e01aa904Sopenharmony_ci 4e01aa904Sopenharmony_ciWhen instructed to do so, a binary and its associated debug 5e01aa904Sopenharmony_ciinformation is read and analyzed. To that effect, libabigail analyzes 6e01aa904Sopenharmony_ciby default the descriptions of the types reachable by the interfaces 7e01aa904Sopenharmony_ci(functions and variables) that are visible outside of their 8e01aa904Sopenharmony_citranslation unit. Once that analysis is done, an Application Binary 9e01aa904Sopenharmony_ciInterface Corpus is constructed by only considering the subset of 10e01aa904Sopenharmony_citypes reachable from interfaces associated to `ELF`_ symbols that are 11e01aa904Sopenharmony_cidefined and exported by the binary. It's that final ABI corpus which 12e01aa904Sopenharmony_cilibabigail considers as representing the ABI of the analyzed binary. 13e01aa904Sopenharmony_ci 14e01aa904Sopenharmony_ciLibabigail then has capabilities to generate textual representations 15e01aa904Sopenharmony_ciof ABI Corpora, compare them, analyze their changes and report about 16e01aa904Sopenharmony_cithem. 17