---
name: "abi-dumper"
section: "1"
platform: "linux"
package: "abi-dumper"
version: "1.4-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://carta.tech/man/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.
