Andrey Ponomarenko | b3ffe4c | 2013-05-24 14:31:47 +0400 | [diff] [blame] | 1 | NAME: |
Andrey Ponomarenko | f85c7fd | 2015-12-11 23:55:02 +0300 | [diff] [blame] | 2 | ABI Dumper — a tool to dump ABI of an ELF object containing DWARF debug info. |
Andrey Ponomarenko | b3ffe4c | 2013-05-24 14:31:47 +0400 | [diff] [blame] | 3 | |
| 4 | The tool is intended to be used with ABI Compliance Checker tool for tracking |
| 5 | ABI changes of a C/C++ library or kernel module. |
Andrey Ponomarenko | 9b1ec76 | 2015-09-08 15:33:41 +0300 | [diff] [blame] | 6 | |
| 7 | The tool is developed by Andrey Ponomarenko: http://abi-laboratory.pro/ |
Andrey Ponomarenko | b3ffe4c | 2013-05-24 14:31:47 +0400 | [diff] [blame] | 8 | |
| 9 | INSTALL: |
Andrey Ponomarenko | 9b1ec76 | 2015-09-08 15:33:41 +0300 | [diff] [blame] | 10 | sudo make install prefix=/usr |
Andrey Ponomarenko | b3ffe4c | 2013-05-24 14:31:47 +0400 | [diff] [blame] | 11 | |
| 12 | REQUIRES: |
Andrey Ponomarenko | b3ffe4c | 2013-05-24 14:31:47 +0400 | [diff] [blame] | 13 | Perl 5 (5.8 or newer) |
Andrey Ponomarenko | edb5296 | 2015-04-12 19:14:06 +0300 | [diff] [blame] | 14 | Elfutils (eu-readelf) |
Andrey Ponomarenko | b3ffe4c | 2013-05-24 14:31:47 +0400 | [diff] [blame] | 15 | Vtable Dumper (1.0 or newer, https://github.com/lvc/vtable-dumper) |
Andrey Ponomarenko | 7c0875f | 2016-05-10 17:34:54 +0300 | [diff] [blame] | 16 | Universal Ctags |
Andrey Ponomarenko | b3ffe4c | 2013-05-24 14:31:47 +0400 | [diff] [blame] | 17 | |
| 18 | USAGE: |
| 19 | abi-dumper libTest.so -o ABI.dump |
| 20 | abi-dumper Module.ko.debug |
| 21 | |
| 22 | EXAMPLES: |
| 23 | abi-dumper lib/libssh.so.3 |
| 24 | abi-dumper drm/nouveau/nouveau.ko.debug |
| 25 | |
| 26 | NOTE: |
Andrey Ponomarenko | 81cb4d7 | 2015-11-12 16:15:12 +0300 | [diff] [blame] | 27 | Input objects should be compiled with -g -Og additional options to contain DWARF debug info. |
Andrey Ponomarenko | b3ffe4c | 2013-05-24 14:31:47 +0400 | [diff] [blame] | 28 | |
| 29 | ABI CHECK: |
| 30 | abi-dumper libTest.so.0 -o ABIv0.dump |
| 31 | abi-dumper libTest.so.1 -o ABIv1.dump |
| 32 | abi-compliance-checker -l libTest -old ABIv0.dump -new ABIv1.dump |
Andrey Ponomarenko | f85c7fd | 2015-12-11 23:55:02 +0300 | [diff] [blame] | 33 | |
| 34 | FILTER PUBLIC ABI: |
| 35 | abi-dumper libTest.so -public-headers PATH |
Andrey Ponomarenko | fef4a9a | 2016-07-25 17:23:00 +0300 | [diff] [blame] | 36 | PATH — path to the install tree of a library |
Andrey Ponomarenko | f85c7fd | 2015-12-11 23:55:02 +0300 | [diff] [blame] | 37 | |
Andrey Ponomarenko | b3ffe4c | 2013-05-24 14:31:47 +0400 | [diff] [blame] | 38 | COMPATIBILITY: |
Andrey Ponomarenko | fef4a9a | 2016-07-25 17:23:00 +0300 | [diff] [blame] | 39 | ABI Compliance Checker >= 1.99.14 (https://github.com/lvc/abi-compliance-checker) |
Andrey Ponomarenko | b3ffe4c | 2013-05-24 14:31:47 +0400 | [diff] [blame] | 40 | |
| 41 | ADV. USAGE: |
Andrey Ponomarenko | f85c7fd | 2015-12-11 23:55:02 +0300 | [diff] [blame] | 42 | For advanced usage, see output of --help option. |