================================
ANNOUNCEMENT: Release 9.2 of
Dyninst
ParseAPI
SymtabAPI
InstructionAPI
StackwalkerAPI
ProcControl
PatchAPI
DynC_API
================================
We are pleased to announce a significant new release of Dyninst
and its component tool kits. This release includes some major
new features (e.g., more ARM/64 support, Intel KNL support) and,
finally (!), a DataflowAPI manual.
In addition, we've made a lot of code analysis improvement,
performance improvements, internal code clean ups, and bug
fixes.
NEW FEATURES:
* ARM64 SIMD support in instructionAPI
* Support for all x86 instruction sets up to Knight's Landing
(AVX, AVX2, AVX512)
* DataflowAPI now has an official manual
* Initial ppc64/little endian support in Symtab, InstructionAPI,
ProcControl, and Stackwalker. Add -Darch_ppc64_little_endian to
your CMake command line when building on little-endian ppc64
systems.
* New InstructionAPI test framework based on structured fuzzing.
This resulted in finding (and fixing) lots of corner-case
instruction parsing errors. The fuzzer framework, called Peach,
will be released later this year.
BUG FIXES
* PIE binaries should now be rewritten correctly, even if they
have a zero base address
* Symtab should now correctly file symbols into their associated
modules based on the best available DWARF information
* Many more fixes in x86 instruction decoding
* Enhancements to jump table analysis
* PC-relative memory accesses in VEX instructions can now be
relocated correctly
* Various proccontrol bug fixes
* RTlib's DYNINSTos_malloc and DYNINSTos_free should now be
signal-safe
* RTlib's tramp guard lock/unlock functions should now avoid making
implicit function calls (which are unsafe from tramp guard code)
* ppc64 bit rot for create/attach modes is fixed
KNOWN ISSUES
* ppc64 rewriter mode does not yet handle code that does not conform
to the "caller sets up TOC" model for intermodule calls
* Windows 64-bit mode is not yet supported
* Windows rewriter mode is not yet supported
* Exceptions in relocated code will not be caught
* Linux rewriter mode for 32-bit, statically linked binaries does not
support binaries with .plt, .rel, or .rela sections.
* Callbacks at thread or process exit that stop the process will deadlock
when a SIGSEGV occurs on a thread other than the main thread of a
process
* InstructionAPI's format() method does not produce AT&T syntax output
* Stackwalker is fragile on Windows
* Parsing a binary with no functions (typically a single object file)
will crash at CodeObject destruction time.
WHERE TO GET IT -- NEW THIS RELEASE ...
You can find all the details of this release, including source code,
documentation, and the test suite, at:
https://github.com/dyninst/dyninst/releases/tag/v9.2.0
Older dyninst releases may be found by browsing:
https://github.com/dyninst/dyninst/releases
As usual, www.paradyn.org and www.dyninst.org will be updated with
appropriate pointers, but github is now the primary location for
releases.
|