abi-dumper1
A tool to dump abi of an elf object containing dwarf debug info
Overview
Name:
-
ABI Dumper EE (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 Viewer or ABICC 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 |
|
|
abi-dumper Module.ko.debug |
Information options:
-h|-help
-
Print this help.
-v|-version
-
Print version information.
-
-dumpversion -
Print the tool version (1.4) 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
-DDEF 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-headersoption 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-unitinstead 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
-Ioption 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.
Releases
6 releases since Debian 8 (Jessie); the text changed 5 times.
-all-units since Debian 10 (Buster);
-cache-headers since Debian 9 (Stretch);
-ctags-def since Debian 10 (Buster);
-debug since Debian 9 (Stretch);
-ignore-tags since Debian 9 (Stretch);
-include-paths since Debian 9 (Stretch);
-include-preamble since Debian 9 (Stretch);
-keep-registers-and-offsets since Debian 10 (Buster);
-kernel-export since Debian 9 (Stretch);
-lambda since Debian 10 (Buster);
-ld-library-path since Debian 10 (Buster);
-mixed-headers since Debian 9 (Stretch);
-public-headers since Debian 9 (Stretch);
-quiet since Debian 10 (Buster);
-reimplement-std since Debian 9 (Stretch);
-search-debuginfo since Debian 10 (Buster);
-symbols-list since Debian 9 (Stretch);
-use-tu-dump since Debian 9 (Stretch);
-vnum since Debian 9 (Stretch);
-vt-dumper since Debian 9 (Stretch).
-mem until Debian 8 (Jessie).