abi-dumper - a tool to dump ABI of an ELF object containing DWARF
debug info
- ABI Dumper (abi-dumper) 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 2.1.
- abi-dumper [options] [object]
- abi-dumper libTest.so -o ABI.dump
- abi-dumper Module.ko.debug -o ABI.dump
-h|-help
- Print this help.
-v|-version
- Print version information.
-dumpversion
- Print the tool version (1.2) and don't do anything else.
-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.
-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.
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 © 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.