[DynInst_API:] [dyninst/dyninst] 273052: Implement Optional Zydis decoding for x86 (#2268)


Date: Wed, 10 Jun 2026 07:19:56 -0700
From: bbiiggppiigg <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 273052: Implement Optional Zydis decoding for x86 (#2268)
  Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: 27305205394f460bf96e905e850d2a4adb56744f
      https://github.com/dyninst/dyninst/commit/27305205394f460bf96e905e850d2a4adb56744f
  Author: bbiiggppiigg <bbiiggppiigg@xxxxxxxxx>
  Date:   2026-06-10 (Wed, 10 Jun 2026)

  Changed paths:
    M CMakeLists.txt
    M cmake/DyninstOptions.cmake
    A cmake/tpls/DyninstZydis.cmake
    M instructionAPI/CMakeLists.txt
    M instructionAPI/h/InstructionDecoder.h
    M instructionAPI/src/InstructionDecoder.C

  Log Message:
  -----------
  Implement Optional Zydis decoding for x86 (#2268)

* Add Default Unknown Instruction Callback based on Zydis

* Use Zydis-decoded mnemonic for unknown instructions

Report the mnemonic Zydis recovers instead of a hardcoded "nop", and use
e_No_Entry as the entry ID rather than e_nop since Zydis mnemonics don't
map onto Dyninst entry IDs. Register the callback via the public
register_callback() API. Also mark DYNINST_ENABLE_ZYDIS as advanced and
note it may be removed.

* Install Zydis unknown-instruction callback by default

Initialize the callback pointer with zydis_unknown_instruction_callback
at static-init time when built with Zydis, so it is active without an
explicit register_default_callback() call.

Co-Authored-By: Claude Opus 4.8 <noreply@xxxxxxxxxxxxx>



To unsubscribe from these emails, change your notification settings at https://github.com/dyninst/dyninst/settings/notifications
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 273052: Implement Optional Zydis decoding for x86 (#2268), bbiiggppiigg <=