Skip to content

Dyninst 9.2.0

Choose a tag to compare
@wrwilliams wrwilliams released this 29 Jun 21:59
· 1710 commits to master since this release

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 handle any 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
  • 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.
  • Line information is still filed into incorrect modules for a small fraction of functions in SymtabAPI.