Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Releases-Release0.6.1

Joseph Koshy

Release 0.6.1

This wiki page documents release 0.6.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: http://sourceforge.net/projects/elftoolchain/files/Sources/elftoolchain-0.6.1/.

Using SVN export

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

% svn export http://sourceforge.net/p/elftoolchain/code/HEAD/tree/tags/elftoolchain-0.6.1/

Release Documentation

Release Notes for Elftoolchain Software Version 0.6.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 is the first release on the v0.6 "stable" code line.

Since our prior v0.5.1 release, we have added support for building the project on additional operating systems, namely DragonFlyBSD, Minix and OpenBSD. A number of bugs were fixed, and the project's documentation has been improved.

No new utilities are being introduced in this release.

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.

Documentation

Each public API and invocable utility has a reference manual entry. We currently offer 330 manual entries, documented in 189 manual pages.

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 on the following operating systems:

Operating System Version Supported Architectures
DragonFly BSD v2.10.1 i386
FreeBSD v8.2 amd64 & i386
Minix v3.2.0 i386
NetBSD v5.0.2 i386
OpenBSD v5.0 i386
Ubuntu GNU/Linux 10.04LTS i386 & x86_64

Installation and Upgrades

Installation

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

Upgrading

There are no special considerations for upgrading from the prior (v0.5.1) release.

Release Information

Changes in this release

The source tree has been ported to DragonFlyBSD, Minix and OpenBSD.

Other significant changes include:

  • ar
    • A file descriptor exhaustion bug was fixed #388.
    • Support for building with newer versions of libarchive.
    • Memory errors were corrected.
  • brandelf
    • The brandelf utility will try to preserve the layout of the ELF object being updated (ticket [#375]).
  • elfcopy/strip/mcs
    • Fixed a critical bug: when stripping an object, properly handle a segment containing exactly one section of type SHT_NOBITS (ticket [r2540]).
    • A few memory leaks were fixed.
  • elfdump
    • Compatibility with Solaris(TM) elfdump was improved.
    • Memory errors were corrected.
  • libdwarf
    • Partial support for DWARF4 has been added (ticket [#394]).
    • An infinite loop bug was fixed (ticket [#396]).
    • Memory related errors were fixed.
  • libelf
    • Extension APIs have been added, for the internal use of the project.
    • Memory related errors were fixed.
  • libelf-by-example
    • The diagrams in the tutorial have been reworked and the text has been improved.
  • libelftc
    • New helper functions were added, for the internal use of the project.
  • nm
    • The behavior of the -o option was brought in line with POSIX.
    • Memory leaks were fixed.
  • readelf
    • Compatibility with GNU readelf was improved.
    • The -x and -p options now accept section names in addition to section numbers.
    • A crash when dumping sections of type SHT_NOBITS was corrected.
  • size
    • Memory leaks were fixed.

All our utilities now accept --help and --version command-line options.

Apart from code changes, a number of manual pages were 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.

Test Statistics

The test summary for this release is presented below:

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

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

Notes

  • The test suite for ar contains five tests that are 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 http://elftoolchain.sourceforge.net/.

Developer Community

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

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 [#401] tracks the release process itself.
  • The (tracker) milestone for this release is RELEASE_0_6_1.

Test Logs

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


Related

Commit: [r2540]
Tickets: #375
Tickets: #394
Tickets: #396
Tickets: #401
Wiki: AdminChanges
Wiki: Home
Wiki: Releases-Release0.5.1
Wiki: Releases