[DynInst_API:] Dyninst 9.2 release (lots of good new stuff)


Date: Thu, 30 Jun 2016 11:33:41 -0500
From: Barton Miller <bart@xxxxxxxxxxx>
Subject: [DynInst_API:] Dyninst 9.2 release (lots of good new stuff)
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.]

[← Prev in Thread] Current Thread [Next in Thread→]