This is an old revision of the document!
The Elf Tool Chain Project
Native BSD implementations of essential tools.
Implementation Status
Native or POSIX mandated Tools
| Tool | Description | Status | Owner | Repository Location | Comments |
|---|---|---|---|---|---|
| ar | Archiver | In CVS | kaiw | [http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/ar/ src/usr.bin/ar/] | Done |
| as | Assembler | Needs to support all Tier-1/2 CPUs: i386, amd64, sparc64, arm, powerpc, ia64, mips | |||
| elfdump | Diagnostic tool | [http://unix.derkeiler.com/Mailing-Lists/FreeBSD/current/2007-03/msg00419.html Patch] | kaiw | Architecture independent. | |
| ld | Link editor | Needs to support all Tier-1/2 CPUs. | |||
| nm | List symbols | hglee | [http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/hglee/projects/elftoolchain/src/usr.bin/nm //depot/user/hglee/projects/elftoolchain/src/usr.bin/nm/] | ||
| ranlib | Generate archive symbol table | In CVS | kaiw | (see ar(1) above) | Done |
| size | List object sizes | [http://unix.derkeiler.com/Mailing-Lists/FreeBSD/current/2007-03/msg00549.html Patch] | samarunraj | [http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/samarunraj/elftoolchain/src/usr.bin/size //depot/user/samarunraj/elftoolchain/src/usr.bin/size/] | |
| strings | Extract printable strings | samarunraj | [http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/samarunraj/elftoolchain/src/usr.bin/strings //depot/user/samarunraj/elftoolchain/src/usr.bin/strings/] | ||
| strip | Discard symbols from objects | [http://web.student.chalmers.se/~kaiw/patch/elfcopy-20070903.tgz Patch] | kaiw | [http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/kaiw/projects/bintools/src/usr.bin/elfcopy/ //depot/user/kaiw/projects/bintools/src/usr.bin/elfcopy/] | (Soc07 project) |
GNU Tools
| Tool | Description | Status | Owner | Repository Location | Comments |
|---|---|---|---|---|---|
| addr2line | Debug tool | ||||
| elfcopy | Copy and translate between formats | [http://web.student.chalmers.se/~kaiw/patch/elfcopy-20080227.tgz Patch] | kaiw | [http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/kaiw/projects/bintools/src/usr.bin/elfcopy/ //depot/user/kaiw/projects/bintools/src/usr.bin/elfcopy/] | Used by the ia64 build. (Soc07 project) |
| objdump | Display object information | Merge with elfdump? Used by the ia64 build | |||
| readelf | Display ELF information | samarunraj | Merge with elfdump?) |
Libraries and API sets
| API Set | Description | Status | Owner | Repository Location | Comments |
|---|---|---|---|---|---|
| libdwarf | A library for parsing [http://dwarf.freestandards.org/ DWARF] debug information | jb | [http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/dtrace/src/lib/libdwarf //depot/projects/dtrace/src/lib/libdwarf/] | “pfgshield-freebsd” (email suppressed) notes that early versions of [http://reality.sgiweb.org/davea/dwarf.html SGI's libdwarf library] were released under a non-GPL'ed license. | |
| “libmachinecode” | Machine/assembly code manipulation. | For use in an optimizing linker, debugger and assember. See the NJ Toolkit below. |
Related Reading
- The [http://www.nongnu.org/libunwind/ Libunwind project].
- The [http://www.linux-foundation.org/spec/refspecs/LSB_3.1.0/allspecs.shtml Linux Standard Base specification (v3.1)].
- The [http://www.eecs.harvard.edu/~nr/toolkit/ New Jersey Machine Code Toolkit].