Scroll to navigation

ABI(1) User Commands ABI(1)

NAME

ABI - manual page for ABI Dumper 1.2

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

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.

January 2021 ABI Dumper 1.2