Joseph Koshy

Release 0.5.1

This wiki page documents release 0.5.1 of the software released by the Elftoolchain project.

Getting The Source

There are two ways to download the sources:

  1. Using the SourceForge file release system.
  2. Using the SVN export command.

Using the SourceForge file release system

The source code for the release may be downloaded from SourceForge.Net:

Using SVN export

To check out the sources from the project's SVN repository, use:

% svn export

Release Documentation

Release Notes for Elftoolchain Software Version 0.5.1

About The Project

The Elftoolchain project develops BSD-licensed implementations of essential compilation tools and libraries for handling ELF based program objects.

About The Release

This release is the first public release of the software developed by the Elftoolchain project.

Libraries and Utilities

This release comprises the following libraries and utilities.

Name Description
ar Archive manager.
addr2line Debug tool.
brandelf Manage the ELF brand on executables.
c++filt Translate encoded symbols.
elfcopy Copy and translate between object formats.
elfdump Diagnostic tool.
findtextrel Find undesired text relocations.
libdwarf DWARF access library.
libelf ELF access library.
mcs Manage comment sections.
nm List symbols in an ELF object.
ranlib Add archive symbol tables to an archive.
readelf Display ELF information.
size List object sizes.
strings Extract printable strings.
strip Discard information from ELF objects.


Each public API and invocable utility has its own manual page (327 manual entries, documented in 186 files).

Additionally, this release contains the following documentation:

Name Description
libelf-by-example A tutorial introduction to libelf.

Test Suites

The release contains the following test suites:

Name Description
ar Test the ar utility.
elfcopy Test the elfcopy utility.
elfdump Test the elfdump utility.
libdwarf Test the libdwarf library.
libelf Test the libelf library.
nm Test the nm utility.

System Requirements

This software is designed to run on Unix(TM)-like operating systems such as the BSD-family of operating systems and GNU/Linux.

This release has been built and tested on the following operating systems:

Operating System Version Supported Architectures
FreeBSD v8.2 amd64 & i386
NetBSD v5.0.2 i386
Ubuntu GNU/Linux 10.04LTS i386 & x86_64

Installation and Upgrades


Instructions for building and installing this software from source are described in the file "INSTALL".

Release Information

Changes in this release

This is the first public release of the Elftoolchain sources.

Differences with prior FreeBSD versions of some components

Some of the libraries and utilities in this release were originally developed at the FreeBSD_ project. These components differ from their prior versions in FreeBSD source tree in the following ways:

  • ar
    ar supports BSD-style archives.
  • brandelf
    brandelf supports additional ELF brands.
  • libdwarf
    The libdwarf library implements the complete DWARF(3) producer and consumer API set. Each public API has been documented in the form of a manual page.
  • libelf
    • libelf supports operations on special devices in addition to regular files.
    • libelf supports opening of ELF objects in read/write mode.
    • The archive handling APIs in libelf can process BSD-style archives.
    • ELF sections containing GNU-style hash tables are supported.
    • ELF sections containing GNU-style symbol versioning information are supported.
    • Numerous bugs in the code have been fixed.

Additionally, the manual pages associated with these components have been improved.

Outstanding Issues

There were no outstanding issues at the time of the release.

Known Limitations

This release has the following limitations:

  • Test coverage
    Our test suites are being developed; test coverage for this release is partial.
  • Performance and Memory Use
    Our tools have not been characterized for their memory usage or for their performance characteristics.

We hope to address these limitations in future releases.

Test Statistics

The test summary for this release is presented below:

Suite Tests (32 & 64 bit) FreeBSD 8.2 (i386 & amd64) NetBSD 5.0.2 (i386) Ubuntu 10.04LTS (i386 & x86_64)
ar 51 & 50 P: 51 & 50 P: 51 P: 51 & 50
elfcopy 39 P: 39 P: 39 P: 39
elfdump 155 P: 155 P: 155 P: 155
libdwarf 133 P: 133 P: 133 P: 133
libelf 1024 P: 1020, U: 4 P: 1020, U: 4 P: 1020, U: 4

* F: Test failures.
* P: Test successes.
* U: Unresolved tests.


  • The test suite for ar contains one test that is applicable only on 32-bit systems.
  • Four test cases in the libelf test suite cannot be tested on account of shortcomings in the test infrastructure in the current release.

More Information

The project's website is at

The source code for this software and for its associated documentation is open-source under the BSD license.

Developer Community

The project's developers may be contacted using the mailing list: <elftoolchain-developers@‌>.

Reporting Bugs

Please use our tracker instance for viewing existing bug reports and for submitting new bug reports.

This software is copyright its authors, and is distributed under the BSD License.

Release Metadata

  • Ticket [#348] tracks the release process itself.
  • The (tracker) milestone for this release is RELEASE_0_5.

Test Logs

Archived test logs for the release are available: elftoolchain-test-logs-0.5.1.tgz.


Tickets: #348
Wiki: AdminChanges
Wiki: Home
Wiki: LibElfIncompatibilityRedHatElfUtils
Wiki: Releases-Release0.6.1
Wiki: Releases