ANNOUNCING: Release 9.2 of
ÂÂÂÂÂÂÂÂÂÂÂÂÂ Dyninst
ÂÂÂÂÂÂÂÂÂÂÂÂÂ ParseAPI
ÂÂÂÂÂÂÂÂÂÂÂÂÂ SymtabAPI
ÂÂÂÂÂÂÂÂÂÂÂÂÂ InstructionAPI
ÂÂÂÂÂÂÂÂÂÂÂÂÂ DataflowAPI
ÂÂÂÂÂÂÂÂÂÂÂÂÂ 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.
[Apologies if you get two versions of the
release announcement. We're transitioning to a new mail system.]
|
|