ELF Tool Chain / Wiki (original) (raw)

About This Project

We develop BSD licensed implementations of essential development tools and libraries for building and analyzing ELF based program images.

News

Supported Operating Systems

Our source code is known to work on the following operating systems:

Why is this project useful?

This project provides tools for program development. Notably:

Users

Elftoolchain code is usually imported by operating system projects into their respective source trees. Operating system projects known to be using Elftoolchain code include:

Caveats

How to help

Implementation Status

Tool Description Development Status Owner Repository Location Comments
Native or POSIX-mandated Tools
ar Archive manager. released kaiwang27 ar/
as Assembler. planning jkoshy as/ (see libmc, isa)
brandelf Set/read the ELF brand for an executable. released kaiwang27 brandelf/
c++filt Translated encoded symbols. released kaiwang27 c++filt/
elfdump Diagnostic tool. released kaiwang27 elfdump/
elflint Diagnostic tool. planning See ticket #586.
isa Instruction set analyser in development jkoshy isa/
ld Link editor. alpha kaiwang27 ld/
nm List symbols in an ELF object. released hglee nm/
mcs Manage comment sections in ELF objects. released kaiwang27 elfcopy/
ranlib Generate an archive symbol table. released kaiwang27 ar/
size List ELF object sizes. released samarunraj size/
strings Extract printable strings from an ELF object. released samarunraj strings/
strip Discard information from objects. released kaiwang27 elfcopy/
GNU Tools
addr2line Debug tool. released kaiwang27 addr2line/
elfcopy Copy and translate between object formats. released kaiwang27 elfcopy/
findtextrel Find undesired text relocations. released kaiwang27 findtextrel/
objdump Display object information. planning Merge with elfdump?
readelf Display ELF information. released kaiwang27 readelf/
Libraries and API sets
libdwarf A library for parsing DWARF debug information. released kaiwang27 libdwarf/ "pfgshield-freebsd" (email suppressed) notes that early versions ofSGI's libdwarf library were released under a non-GPL'ed license.
libelf A library for reading and writing ELF objects. released jkoshy libelf/
libelftc Common code used by tools. released jkoshy libelftc/
libmc Machine/assembly code manipulation. planning jkoshy For use in an optimizing linker, debugger and assember, program instrumentation tools, and the like.
libpe A library for reading and writing Portable Executableâ„¢objects alpha kaiwang27 libpe/
libtask A simple task management facility planning jkoshy For use in tools that need to sequence potentially parallel computations.
Test Suites
ar The test suite for the `ar` utility. released kaiwang27 test/ar/
elfcopy The test suite for `elfcopy` utility. released kaiwang27 test/elfcopy/
elfdump The test suite for `elfdump` utility. released kaiwang27 test/elfdump/
libdwarf The test suite for the libdwarf library. released kaiwang27 test/libdwarf/
libelf The test suite for the libelf library. released jkoshy test/libelf/
libelftc The test suite for the libelftc library. alpha jkoshy test/libelftc/
nm The test suite for the nm utility. released test/nm/
size The test suite for the size utility. planning See ticket #9.
strings The test suite for the `strings` utility. planning See ticket #10.
Documentation
Manual Pages Reference documentation. released jkoshy multiple locations Each utility and library API has a manual entry.
libelf by Example Tutorial introduction to programming with libelf. released jkoshy documentation/libelf-by-example
libdwarf by Example An introduction to DWARF and libdwarf. planning jkoshy TBD

Getting Started

Project History

This work was originally a part of the FreeBSD Project; it has been moved to SourceForge.Net to encourage wider participation from the open-source developer community.