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


Date: Thu, 30 Jun 2016 10:38:47 -0500
From: Barton Miller <bart@xxxxxxxxxxx>
Subject: [DynInst_API:] Dyninst 9.2 release (lots of good new stuff)
   ================================
     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.
[← Prev in Thread] Current Thread [Next in Thread→]