abi-dumper - Man Page

ABI Dumper EE (abi-dumper.pl) 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.pl [options] [object]

Examples

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

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

Info

16 January 2025 ABI Dumper 1.4