---
name: "abi-dumper"
section: "1"
platform: "linux"
package: "abi-dumper"
version: "1.4-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/abi-dumper"
---

# abi-dumper(1)

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

## NAME

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

## DESCRIPTION

### 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 **-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.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 **-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 © 2025 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.
