• Home
Name Date Size #Lines LOC

..--

doc/03-May-2024-3,6723,430

modules/03-May-2024-15,75314,124

GPL-2.0D03-May-202417.7 KiB340281

INSTALLD03-May-20243.1 KiB14286

LGPL-2.0D03-May-202424.8 KiB482399

LICENSED03-May-2024123 32

MakefileD03-May-2024146 96

Makefile.plD03-May-20247.3 KiB294233

READMED03-May-20242.2 KiB6744

README.googleD03-May-2024450 1310

abi-compliance-checker.plD03-May-2024742.1 KiB23,42421,237

README

1NAME:
2  ABI Compliance Checker (ABICC) - a tool for checking backward binary and source-level compatibility of a C/C++ software library.
3
4  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.
5
6  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.
7
8  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/
9
10  The tool is a core of the ABI Tracker and Upstream Tracker projects: https://abi-laboratory.pro/tracker/
11
12INSTALL:
13  sudo make install prefix=/usr
14
15REQUIRES:
16  Perl 5
17  G++
18  GNU Binutils
19  Ctags
20  ABI Dumper (0.99.15 or newer)
21
22USAGE (WITH ABI DUMPER):
23
24   1. Library should be compiled with "-g -Og" GCC options
25      to contain DWARF debug info
26
27   2. Create ABI dumps for both library versions
28      using the ABI Dumper (https://github.com/lvc/abi-dumper) tool:
29
30        abi-dumper OLD.so -o ABI-0.dump -lver 0
31        abi-dumper NEW.so -o ABI-1.dump -lver 1
32
33   3. You can filter public ABI with the help of
34      additional -public-headers option of the ABI Dumper tool.
35
36   4. Compare ABI dumps to create report:
37
38        abi-compliance-checker -l NAME -old ABI-0.dump -new ABI-1.dump
39
40USAGE (ORIGINAL):
41  abi-compliance-checker -lib NAME -old OLD.xml -new NEW.xml
42
43  OLD.xml and NEW.xml are XML-descriptors:
44
45    <version>
46        1.0
47    </version>
48
49    <headers>
50        /path/to/headers/
51    </headers>
52
53    <libs>
54        /path/to/libraries/
55    </libs>
56
57ADV. USAGE:
58  For advanced usage, see doc/index.html or output of -help option.
59
60TEST SUITE:
61  The tool is tested properly in the ABI Tracker and Upstream Tracker
62  projects, by the community and by the internal test suite:
63
64    abi-compliance-checker -test
65
66  There are about 100 basic tests for C and about 200 basic tests for C++ API/ABI breaks.
67

README.google

1URL: https://github.com/lvc/abi-compliance-checker/
2Version: 1.99.26
3License: GPL2.0, LGPL2.0
4License File: LICENSE
5
6Description:
7This tool compares the ABI-dumps of two C/C++ libraries(shared/static) and
8generates a compatibility report specifying any breakages in ABI compliance.
9
10Local Modifications:
11Add command-line options to specify paths to c++filt, objdump, readelf. Makefile
12will be removed. abi-compliance-checker.pl needs +x permissions.
13