ABI-DUMPER(1)

πŸ’– abi-dumper β€” a User Commands moment (section 1, bestie)

okay so let me put you ON to abi-dumper, the lil tool from the User Commands corner of the manual that dumps the ABI of an ELF object that's carrying DWARF debug info. she's giving main character energy and she's fr fr free software πŸ’…


✨ 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. that's the whole vibe, that's the mission.

πŸŽ€ DESCRIPTION:

ABI Dumper is that girl. she's a tool for dumping ABI information of an ELF object containing DWARF debug info.

she's meant to be paired up with ABI Viewer or ABICC β€” the duo we didn't know we needed β€” 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. no gatekeeping, periodt.

⭐ USAGE:

abi-dumper [options] [object]

🌈 EXAMPLES:

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

πŸ”₯ INFORMATION OPTIONS πŸ”₯

the "who even are you" section, and honestly? iconic.

  • -h, -help β€” Print this help. the classic. the standard. the polite first date.
  • -v, -version β€” Print version information. she'll tell you who she is.
  • -dumpversion β€” Print the tool version (1.4) and don't do anything else. literally just the number, nothing more, no notes. πŸ’€

✨ GENERAL OPTIONS ✨

welcome to the main event, the options section that eats and leaves no crumbs πŸ“

  • -o, -output PATH β€” Path to the output ABI dump file. Default: ./ABI.dump. she makes a file, you tell her where.
  • -sort β€” Sort data in ABI dump. organized queen.
  • -stdout β€” Print ABI dump to stdout. no files, just vibes on the terminal.
  • -loud β€” Print all warnings. she's not shy, she's loud, and that's a compliment πŸ’…
  • -vnum NUM β€” Set version of the library to NUM. numbers matter, bestie.
  • -extra-info DIR β€” Dump extra analysis info to DIR. receipts. of the analytical variety.
  • -bin-only β€” Do not dump information about inline functions, pure virtual functions and non-exported global data. keeping it surface level, only the exported girlies.
  • -all-types β€” Dump unused data types. every single one. no type left behind. 🫢
  • -all-symbols β€” Dump symbols not exported by the object. yup, the hidden ones too.
  • -symbols-list PATH β€” Specify a file with a list of symbols that should be dumped. a curated guest list, love that for us.
  • -skip-cxx β€” Do not dump stdc++ and gnu c++ symbols. we're skipping that part, respectfully.
  • -all β€” Equal to: -all-types -all-symbols. babygirl went and combined them, convenience ate.
  • -dump-static β€” Dump static (local) symbols. local faves get their moment.
  • -compare OLD.dump NEW.dump β€” Show added/removed symbols between two ABI dumps. the glow-up vs glow-down comparison fr fr.
  • -alt PATH β€” Path to the alternate debug info (Fedora). It is detected automatically from gnu_debugaltlink section of the input object if not specified. auto-detect slay but you can override her.
  • -dir β€” Show full paths of source files. full send, no abbreviations.
  • -vt-dumper PATH β€” Path to the vtable-dumper executable if it is installed to non-default location (not in PATH). she'll find her friend anywhere.
  • -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. private business stays private πŸŽ€
  • -ignore-tags PATH β€” Path to ignore.tags file to help ctags tool to read symbols in header files. helping out the ctags bestie.
  • -ctags-def DEF β€” Add -D DEF option to the ctags call. This option may be specified multiple times. stack them, girl, they're individual.
  • -reimplement-std β€” Do nothing. that's it. that's the whole option. she's resting πŸ’€βœ¨
  • -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. messy lil overlap situation? this is the fix.
  • -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. kernel-mode slay πŸ§πŸ‘‘
  • -search-debuginfo DIR β€” Search for debug-info files referenced from gnu_debuglink section of the object in DIR. she'll go looking for the receipts in that folder.
  • -keep-registers-and-offsets β€” Dump used registers and stack offsets even if incompatible build options detected. keep them anyway, she's stubborn and brave.
  • -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.
⚠️ bestie, real talk β€” this one is RAM hungry. like, laptop-fans-spinning hungry. know that before you send it.
  • -quiet β€” Do not warn about incompatible build options. shhh era.
  • -debug β€” Enable debug messages. for when you need her to tell you everything she's thinking πŸ™ˆ

πŸ¦‹ EXTRA OPTIONS πŸ¦‹

the deeper cuts, the "iykyk" tier πŸ’œ

  • -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. macro-declared girls, this one's for you.
  • -include-preamble PATHS β€” Specify header files (separated by semicolon) that should be included before others to compile without errors. the pre-show lineup 🎀
  • -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. auto-pilot if you don't set it, no cap.
  • -cache-headers DIR β€” Cache headers analysis results to reuse later. girl loves a shortcut and honestly? same.
  • -lambda β€” Enable support for lambda and checking of lexical blocks. Define it if your C++ library API functions use lambda expressions. lambda girlies rise 🌸
  • -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. yup β€” speed over depth, she's efficient like that ⭐


🌈 AUTHOR 🌈

This manual page was written by Mathieu Malaterre <malat@debian.org> for the Debian GNU/Linux system (but may be used by others). look at her, being generous with her work.

Written by Andrey Ponomarenko. two authors, double the icon behavior, we love a collab πŸ’–


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. open source, open heart, that's the whole thing 🫢


aaaand that's the whole page, bestie ✨ it's ABI Dumper 1.4 EE, dated January 2026, and this was ABI-DUMPER(1) β€” go dump something, you got this πŸ’…πŸŽ€πŸ’–

πŸ“¦ where this page comes from