Dyninst 7.0.1 Download

Version 7.0.1, released on April 7, 2011. Improvements from version 6.1 include:

  • Binary rewriter support for dynamically linked binaries on PowerPC/32 and BlueGene/P platforms
  • Binary rewriter support for statically linked binaries on x86 and x86_64 platforms
  • Improvements to parsing speed
  • Reductions in memory usage

Also included in this release is SymtabAPI 7.0.1, InstructionAPI 7.0.1, ParseAPI 7.0.1, StackwalkerAPI 2.1, ProcControlAPI 1.0.1, and DynC API.

Tools built with Dyninst:

codeCoverage is a Dyninst-based code coverage tool that provides both function and basic block level output.
Features
* Uses the Dyninst binary rewriter, which allows code coverage instrumentation to be inserted once and used across different input sets.
* Includes options to limit code coverage data to just functions as well as options to sort the code coverage output.
* Dependent shared libraries can be instrumented in addition to the application binary.

unstrip is a library fingerprinting tool for stripped binaries.
Features

* Identifies GNU C Library wrapper functions in an stripped input binary and outputs a new binary with meaningful names assigned to these functions.
* Other functions are located and labeled with targXXXXXX names (where XXXXXX is the address of the function entry point in hex).
* Includes a "learning" mode to add new fingerprints to the database.
* Currently operates on 32-bit binaries.

Critical Fixes
• Fixed bug when using --prefix option with configure

Improvements
• Binary rewriter support for dynamically linked binaries on PowerPC/32 and BlueGene/P platforms
• Binary rewriter support for statically linked binaries on x86 and x86_64 platforms
• Improvements to parsing speed
• Reductions in memory usage
• Assorted bug fixes

Unsupported Features
• Solaris and IA64 is no longer supported
• BPatch_thread functions are deprecated
• Save-the-world is no longer supported; this is long obsoleted by the binary rewriter functionality

Known Bugs
• x86-64 CPUs that do not support the lahf and sahf instructions will not be able to run Dyninst-generated instrumentation on 64-bit mutatees. These CPUs will still be able to instrument 32-bit mutatees. All x86-64 chips released post-2005 support these instructions; AMD CPUs prior to revision D and Intel CPUs prior to Pentium 4 G1 do not.

DynC:
An instrumentation language for specifying snippets.
Features
* Lets user write instrumentation snippets in C like language, instead of ASTs, for easy and morelegible mutator
* Handles creation and destruction of snipper-local variables

DynC is included with the Dyninst download.

Dyninst 6.1 (archived) is available for download here.