abi-dumper man page

ABI Dumper (abi-dumper.pl) Dump ABI of an ELF object containing DWARF debug info


ABI Dumper is a tool for dumping ABI information of an ELF object containing DWARF debug info.

The tool is intended to be used with ABI Compliance Checker tool for tracking ABI changes of a C/C++ library or kernel module.

This tool is free software: you can redistribute it and/or modify it under the terms of the GNU LGPL or GNU GPL.


abi-dumper.pl [options] [object]


abi-dumper.pl libTest.so -o ABI.dump abi-dumper.pl Module.ko.debug -o ABI.dump

Information Options

Print this help.
Print version information.
Print the tool version (1.1) and don't do anything else.

General Options

PATH Path to the output ABI dump file. Default: ./ABI.dump
Sort data in ABI dump.
Print ABI dump to stdout.
Print all warnings.
NUM Set version of the library to NUM.
DIR Dump extra analysis info to DIR.
Do not dump information about inline functions, pure virtual functions and non-exported global data.
Dump unused data types.
Dump symbols not exported by the object.
PATH Specify a file with a list of symbols that should be dumped.
Do not dump stdc++ and gnu c++ symbols.
Equal to: -all-types -all-symbols.
Dump static (local) symbols.
OLD.dump NEW.dump Show added/removed symbols between two ABI dumps.
PATH Path to the alternate debug info (Fedora). It is detected automatically from gnu_debugaltlink section of the input object if not specified.
Show full paths of source files.
PATH Path to the vtable-dumper executable if it is installed to non-default location (not in PATH).
PATH Path to directory with public header files or to file with the list of header files. This option allows to filter out private symbols from the ABI dump.
PATH Path to ignore.tags file to help ctags tool to read symbols in header files.
DEF Add -D DEF option to the ctags call. This option may be specified multiple times.
Do nothing.
This option should be specified if you are using -public-headers option and the names of public headers intersect with the internal headers.
Dump symbols exported by the Linux kernel and modules, i.e. symbols declared in the ksymtab section of the object and system calls.
DIR Search for debug-info files referenced from gnu_debuglink section of the object in DIR.
Dump used registers and stack offsets even if incompatible build options detected.
Extract ABI info after reading all compilation units from the debug info. This may require a lot of extra RAM memory. By default all compilation units are processed separately.
Do not warn about incompatible build options.
Enable debug messages.

Extra Options

Use g++ -fdump-translation-unit instead of ctags to list symbols in headers. This may be useful if all functions are declared via macros in headers and ctags can't recognize them.
PATHS Specify header files (separated by semicolon) that should be included before others to compile without errors.
DIRS Specify include directories (separated by semicolon) that should be passed to the compiler by -I option in order to compile headers without errors. If this option is not set then the tool will try to generate include paths automatically.
DIR Cache headers analysis results to reuse later.
Enable support for lambda and checking of lexical blocks. Define it if your C++ library API functions use lambda expressions.
-ld-library-path PATHS Specify paths to add to LD_LIBRARY_PATH variable before executing vtable-dumper (separated by colon).

By default lexical blocks are not analyzed to improve performance.


12 July 2018 ABI Dumper 1.1 User Commands