elfutils is a collection of utilities and libraries to read, create and modify ELF binary files, find and handle DWARF debug data, symbols, thread state and stacktraces for processes and core files on GNU/Linux.

The current elfutils source code can be checked out with:

git clone git://sourceware.org/git/elfutils.git

Please reports bugs at https://sourceware.org/bugzilla/

Project discussion on elfutils-devel@sourceware.org (archives) or visit us on the Libera.Chat irc channel #elfutils.

To subscribe to the elfutils development list send email to elfutils-devel-subscribe@sourceware.org. Or use the form at https://sourceware.org/mailman/listinfo/elfutils-devel.

See the CONTRIBUTING file for how to propose patches to the code.

See the DEBUGINFOD page for information about the new debuginfod client/server.

Last release: tar.bz2 (sig) release notes: 0.191 0.190 0.189 0.188 0.187 0.186 0.185 0.184 0.183 0.182 0.181 ...

All releases: ftp://sourceware.org/pub/elfutils/ or https://sourceware.org/elfutils/ftp/

Tests code coverage for current git, for the last release, old versions and older git snapshots.

Included libraries:

elf32, elf64 and gelf functions to read, modify and create ELF files.
dwarf, dwfl and dwelf functions to read DWARF, find separate debuginfo, symbols and inspect process state.
asm and disasm functions to assemble and disassamble instructions (partial support for i686 and BPF instructions only).

Included utilities:

Locate source files and line information for addresses.
Create, modify, and extract from archives.
Compare relevant parts of two ELF files for equality.
Compress or decompress sections in an ELF file.
Pedantic checking of ELF files compliance with gABI/psABI spec.
Locate source of text relocations in ELF files.
Script to make an offline archive for debugging of ELF binaries and linux kernel modules
List symbols from ELF files.
Show information from ELF files.
Generate an index to speed access to archives.
Print information from ELF file in human-readable form.
List section sizes of ELF files.
Print a stack for each thread in a process or core file.
Print the strings of printable characters in files.
Discard symbols and debug data from object files.
Combine stripped files with separate symbols and debug information.

Included backends for machine specific ELF handling:

aarch64 alpha arm bpf csky i386 ia64 m68k ppc ppc64 riscv riscv64 s390 s390x sh sparc sparc64 tilegx x32 x86_64

[LGPLv3 logo] [GPLv3 logo]
License. The libraries and backends are dual GPLv2+/LGPLv3+. The utilities are GPLv3+.

Design notes and extensions supported:

Questions? Send them to elfutils-devel@sourceware.org or visit us on the Libera.Chat irc channel #elfutils.