1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in
Version 21 (modified by jkoshy, 3 years ago)

Use the name libmc for the machine code handling library.

The ELF Tool Chain Project

The goal of this project is to create BSD licensed implementations of essential compilation tools for the ELF object file format.

Implementation Status

Native or POSIX mandated Tools

Tool Description Status Owner Repository Location Comments
ar Archiver beta kaiwang27 ar/
as Assembler planning (see libmc)
brandelf Set ELF brand beta brandelf/
c++filt Translated encoded symbols beta kaiwang27 c++filt/
elfdump Diagnostic tool beta kaiwang27 elfdump/
ld Link editor planning jkoshy
nm List symbols beta hglee nm/
ranlib Generate archive symbol table beta kaiwang27 (see ar(1) above)
size List object sizes beta samarunraj size/
strings Extract printable strings beta samarunraj strings/
strip Discard symbols from objects beta kaiwang27 (see elfcopy(1) below)

GNU Tools

Tool Description Status Owner Repository Location Comments
addr2line Debug tool beta kaiwang27 addr2line/
elfcopy Copy and translate between formats beta kaiwang27 elfcopy/
objdump Display object information planning Merge with elfdump?
readelf Display ELF information beta kaiwang27 readelf/

Libraries and API sets

API Set Description Status Owner Repository Location Comments
libdwarf A library for parsing DWARF debug information in development kaiwang27 libdwarf/ "pfgshield-freebsd" (email suppressed) notes that early versions of SGI's libdwarf library were released under a non-GPL'ed license.
libelf A library for handling ELF objects beta jkoshy libelf/
libelftc Common code used by tools beta libelftc/
libmc Machine/assembly code manipulation. planning For use in an optimizing linker, debugger and assember. See the NJ Toolkit below.

Test Suites

Name Description Status Owner Repository Location Comments
libelf-test-suite A TET based test suite for libelf beta jkoshy libelf-test-suite/

Documentation

Name Description Status Owner Repository Location Comments
Manual pages Reference documentation (multiple) (multiple owners) (multiple locations) Each tool and library has its own manual pages.
libelf by Example Tutorial introduction to the ELF(3)/GELF(3) API Released jkoshy documentation/libelf-by-example
libdwarf by Example An introduction to DWARF and libdwarf planning jkoshy TBD

Project Metadata

Open Project-Wide Tickets

Ticket Status Owner Milestone Summary
#28 new jkoshy RELEASE_1_0 Testing for memory leaks
#30 new jkoshy Future Work Restrict symbol visibility and use of relocations in our libraries
#273 assigned jkoshy RELEASE_1_0 Document the project's coding style
#279 accepted jkoshy RELEASE_1_0 Create tools to ease building the project's source code on multiple OSes
#286 new jkoshy RELEASE_1_0 Package up the project's manual pages
#288 new jkoshy RELEASE_1_0 Setup infrastructure to perform test coverage measurements
#293 new jkoshy Future Work Localization of messages
#306 new jkoshy Future Work Supporting systems with case-insensitive file systems
#321 assigned jkoshy Future Work Patch to get libraries and applications building with autotools
#336 new jkoshy RELEASE_1_0 Support for Fedora
#352 new jkoshy RELEASE_1_0 Revisit the use of binary data files in test suites
#359 new jkoshy RELEASE_1_0 Configure TET correctly on NetBSD/amd64
#367 accepted jkoshy RELEASE_1_0 Code review and code cleanups
#370 new jkoshy RELEASE_1_0 Code duplication in ar(1) and elfcopy(1)
#373 accepted jkoshy RELEASE_1_0 Port the project to OpenBSD
#374 accepted jkoshy RELEASE_1_0 Darwin support.
#377 new jkoshy RELEASE_1_0 Implement "libar"
#384 new jkoshy Future Work Refactoring: move common code in elfcopy/mcs/strip to a library
#385 new jkoshy RELEASE_1_0 Port the project to OpenIndiana
#386 new jkoshy RELEASE_1_0 dwarf_srclines() should sort line number array since dwarf line numbers are not always globally sorted in .debug_line
#388 accepted jkoshy RELEASE_1_0 File descriptor exhaustion under Minix
#391 accepted jkoshy Future Work [PATCH] GNU/kFreeBSD build fixes
#393 new jkoshy RELEASE_1_0 Scan sources for typos in user messages
#395 accepted jkoshy Trac Hosting Migrate Trac to a standalone instance
#399 assigned jkoshy Future Work Support building on the Android OS
#410 accepted jkoshy RELEASE_1_0 Merge requests for v0.6 -stable

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.

Related Reading