ELFUTILS

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 [email protected] (archives) or visit us on the Libera.Chat irc channel #elfutils.

To subscribe to the elfutils development list send email to [email protected]. 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.192 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:

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

Included utilities:

eu-addr2line
Locate source files and line information for addresses.
eu-ar
Create, modify, and extract from archives.
eu-elfcmp
Compare relevant parts of two ELF files for equality.
eu-elfcompress
Compress or decompress sections in an ELF file.
eu-elflint
Pedantic checking of ELF files compliance with gABI/psABI spec.
eu-findtextrel
Locate source of text relocations in ELF files.
eu-make-debug-archive
Script to make an offline archive for debugging of ELF binaries and linux kernel modules
eu-nm
List symbols from ELF files.
eu-objdump
Show information from ELF files.
eu-ranlib
Generate an index to speed access to archives.
eu-readelf
Print information from ELF file in human-readable form.
eu-size
List section sizes of ELF files.
eu-stack
Print a stack for each thread in a process or core file.
eu-strings
Print the strings of printable characters in files.
eu-strip
Discard symbols and debug data from object files.
eu-unstrip
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 [email protected] or visit us on the Libera.Chat irc channel #elfutils.