Dyninst no longer supports libelf.so.0 (non-elfutils version); it may work for your use case but it is deprecated and will become unsupported in a future release. We intend to migrate fully to the elfutils stack for elf/dwarf infrastructure support.
Full support for Knight's Landing processors
First official release of ParseAPI for ARMv8
First release of cross-architecture binary analysis capabilities (parsing of ARM binaries on x86 and vice versa, for example). PowerPC parsing still requires compile-time selection of endianness; a fix for this is coming in 9.3.1. This is a significant step in our long road to making Dyninst's host and target platforms fully independent from each other.
Dyninst can now safely relocate and instrument code containing C++ exceptions.
Documented various ProcControl and Stackwalker tracking/tracking control interfaces.
Read access to Symtab and ParseAPI data structures should now be thread-safe, provided that you force eager creation of those data structures. If there exist data structures that cannot be eagerly created and are thus thread-unsafe for your use case, please let us know.
Automatic detection of Dyninst runtime library location (currently Unix-ish only, Windows support to follow in 9.3.1).
Cotire added to speed up build. If building with GCC, this requires version >= 4.5.0; for all compilers, this requires CMake >= 2.8.12.
Improvements to stack analysis on x86
Fixed segfault when a process is attached without specifying executable name
Fixed crash in liveness
Fixed assert when running stack modifications on SPEC
Fixed multiple jump table parsing issues
Fixed findMain analysis for stripped binaries
Assorted fixes in line information handling
Assorted fixes for race conditions in ProcControl
Fixed cases where Dyninst heaps were not allocated sufficiently close to the code being relocated into them
Ensured stack modification code is only built on supported platforms (x86/Linux for now)