Scroll to navigation

ABI-DUMPER(1) User Commands ABI-DUMPER(1)

NAME

abi-dumper - a tool to dump ABI of an ELF object containing DWARF debug info

DESCRIPTION

NAME:

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

DESCRIPTION:

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 2.1.

USAGE:

abi-dumper [options] [object]

EXAMPLES:

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

INFORMATION OPTIONS:

-h|-help

Print this help.

-v|-version

Print version information.

-dumpversion

Print the tool version (1.2) and don't do anything else.

GENERAL OPTIONS:

-o|-output PATH

Path to the output ABI dump file. Default: ./ABI.dump

-sort

Sort data in ABI dump.

-stdout

Print ABI dump to stdout.

-loud

Print all warnings.

-vnum NUM

Set version of the library to NUM.

-extra-info DIR

Dump extra analysis info to DIR.

-bin-only

Do not dump information about inline functions, pure virtual functions and non-exported global data.

-all-types

Dump unused data types.

-all-symbols

Dump symbols not exported by the object.

-symbols-list PATH

Specify a file with a list of symbols that should be dumped.

-skip-cxx

Do not dump stdc++ and gnu c++ symbols.

-all

Equal to: -all-types -all-symbols.

-dump-static

Dump static (local) symbols.

-compare OLD.dump NEW.dump

Show added/removed symbols between two ABI dumps.

-alt PATH

Path to the alternate debug info (Fedora). It is detected automatically from gnu_debugaltlink section of the input object if not specified.

-dir

Show full paths of source files.

-vt-dumper PATH

Path to the vtable-dumper executable if it is installed to non-default location (not in PATH).

-public-headers PATH

Path to directory with public header files or to file with the list of header files. This option allows one to filter out private symbols from the ABI dump.

-ignore-tags PATH

Path to ignore.tags file to help ctags tool to read symbols in header files.

-ctags-def DEF

Add -D DEF option to the ctags call. This option may be specified multiple times.

-reimplement-std

Do nothing.

-mixed-headers

This option should be specified if you are using -public-headers option and the names of public headers intersect with the internal headers.

-kernel-export

Dump symbols exported by the Linux kernel and modules, i.e. symbols declared in the ksymtab section of the object and system calls.

-search-debuginfo DIR

Search for debug-info files referenced from gnu_debuglink section of the object in DIR.

-keep-registers-and-offsets

Dump used registers and stack offsets even if incompatible build options detected.

-all-units

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.

-quiet

Do not warn about incompatible build options.

-debug

Enable debug messages.

EXTRA OPTIONS:

-use-tu-dump

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.

-include-preamble PATHS

Specify header files (separated by semicolon) that should be included before others to compile without errors.

-include-paths 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.

-cache-headers DIR

Cache headers analysis results to reuse later.

-lambda

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.

AUTHOR

This manual page was written by Mathieu Malaterre <malat@debian.org> for the Debian GNU/Linux system (but may be used by others).

Written by Andrey Ponomarenko.

COPYRIGHT

Copyright © 2019 Andrey Ponomarenko's ABI Laboratory License: GNU LGPL 2.1 <http://www.gnu.org/licenses/> This program is free software: you can redistribute it and/or modify it.

February 2023 ABI Dumper 1.2