You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sandy 99da0f2c72 pl286 release code 4 years ago
..
doc pl286 release code 4 years ago
modules pl286 release code 4 years ago
GPL-2.0 pl286 release code 4 years ago
INSTALL pl286 release code 4 years ago
LGPL-2.0 pl286 release code 4 years ago
LICENSE pl286 release code 4 years ago
Makefile pl286 release code 4 years ago
Makefile.pl pl286 release code 4 years ago
README pl286 release code 4 years ago
README.google pl286 release code 4 years ago
abi-compliance-checker.pl pl286 release code 4 years ago

README

NAME:
ABI Compliance Checker (ABICC) - a tool for checking backward binary and source-level compatibility of a C/C++ software library.

The tool checks header files and shared objects of old and new versions and analyzes changes in API/ABI that may break binary and/or source compatibility: changes in calling stack, v-table changes, removed symbols, renamed fields, etc.

The tool is intended for developers of software libraries and Linux maintainers who are interested in ensuring backward compatibility, i.e. allow old applications to run or to be recompiled with newer library versions.

The tool is developed by Andrey Ponomarenko. You can order additional reports for visualization of the ABI structure and high detailed binary compatibility analysis here: https://abi-laboratory.pro/

The tool is a core of the ABI Tracker and Upstream Tracker projects: https://abi-laboratory.pro/tracker/

INSTALL:
sudo make install prefix=/usr

REQUIRES:
Perl 5
G++
GNU Binutils
Ctags
ABI Dumper (0.99.15 or newer)

USAGE (WITH ABI DUMPER):

1. Library should be compiled with "-g -Og" GCC options
to contain DWARF debug info

2. Create ABI dumps for both library versions
using the ABI Dumper (https://github.com/lvc/abi-dumper) tool:

abi-dumper OLD.so -o ABI-0.dump -lver 0
abi-dumper NEW.so -o ABI-1.dump -lver 1

3. You can filter public ABI with the help of
additional -public-headers option of the ABI Dumper tool.

4. Compare ABI dumps to create report:

abi-compliance-checker -l NAME -old ABI-0.dump -new ABI-1.dump

USAGE (ORIGINAL):
abi-compliance-checker -lib NAME -old OLD.xml -new NEW.xml

OLD.xml and NEW.xml are XML-descriptors:

<version>
1.0
</version>

<headers>
/path/to/headers/
</headers>

<libs>
/path/to/libraries/
</libs>

ADV. USAGE:
For advanced usage, see doc/index.html or output of -help option.

TEST SUITE:
The tool is tested properly in the ABI Tracker and Upstream Tracker
projects, by the community and by the internal test suite:

abi-compliance-checker -test

There are about 100 basic tests for C and about 200 basic tests for C++ API/ABI breaks.