From Fedora Project Wiki

No edit summary
No edit summary
Line 30: Line 30:


[https://sourceware.org/libabigail/manual/abipkgdiff.html The manual of the abipkgdiff command]
[https://sourceware.org/libabigail/manual/abipkgdiff.html The manual of the abipkgdiff command]
[[Category:ABI]]

Revision as of 18:36, 18 November 2015

Introduction

The abipkgdiff program compares the ABI of ELF binaries carried by two versions of a given package. It then emits a textual report that precisely describes the changes that potentially make the ELF binaries ABI incompatible. Note that abipkgdiff analyzes the ABI of the binaries by essentially looking at the debug information accompanying the ELF binaries.

Requirements

It is assumed that you already have a development environment setup which can build packages. Other than that all that is required is the package libabigail.

$ sudo yum install libabigail
(or as root)
# yum install libabigail

Procedure

The abipkgdiff program compares the ABIs of ELF binaries contained in two versions of a given package P. Let's call P1.rpm and P2.rpm the former and later version of packageP. Please note that abipkgdiff needs the debug information packages of P1 and P2 in order to operate. Let's call these debug info packages P1-debuginfo.rpm and P2-debuginfo.rpm You need to have them available locally, just as you do for P1.rpm and P2.rpm

Comparing

To compare the ABIs of P1 and P2 here is the command line:

abipkgdiff --d1 P1-debuginfo.rpm --d2 P2-debuginfo.rpm P1.rpm P2.rpm

A report with details of the ABI changes is emitted on the standard output of the command line.

External links

The manual of the abipkgdiff command