[DynInst_API:] [dyninst/dyninst] ba7c69: Initial coding for integrating Capstone for instru...


Date: Mon, 26 Aug 2019 11:23:34 -0700
From: Xiaozhu Meng <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] ba7c69: Initial coding for integrating Capstone for instru...
  Branch: refs/heads/capstone_integration
  Home:   https://github.com/dyninst/dyninst
  Commit: ba7c6953ed4b51f6c4d89a08d4de7b6f07f21805
      https://github.com/dyninst/dyninst/commit/ba7c6953ed4b51f6c4d89a08d4de7b6f07f21805
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-08-26 (Mon, 26 Aug 2019)

  Changed paths:
    M CMakeLists.txt
    M common/h/entryIDs.h
    M instructionAPI/CMakeLists.txt
    M instructionAPI/h/Instruction.h
    M instructionAPI/h/InstructionDecoder.h
    M instructionAPI/src/Instruction.C
    A instructionAPI/src/InstructionDecoder-Capstone.C
    A instructionAPI/src/InstructionDecoder-Capstone.h
    M instructionAPI/src/InstructionDecoder-aarch64.C
    M instructionAPI/src/InstructionDecoder-power.C
    M instructionAPI/src/InstructionDecoder-x86.C
    M instructionAPI/src/InstructionDecoder.C
    M instructionAPI/src/InstructionDecoderImpl.C
    M instructionAPI/src/InstructionDecoderImpl.h

  Log Message:
  -----------
  Initial coding for integrating Capstone for instruction decoding

1. Most architecture independent code is done
2. Most x86 code is done


  Commit: 229e8ddbf1a2e49682db335bfe035e95808aeabd
      https://github.com/dyninst/dyninst/commit/229e8ddbf1a2e49682db335bfe035e95808aeabd
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-08-26 (Mon, 26 Aug 2019)

  Changed paths:
    M instructionAPI/h/Instruction.h
    M instructionAPI/src/InstructionDecoder-Capstone.C
    M instructionAPI/src/InstructionDecoder-Capstone.h

  Log Message:
  -----------
  Fill Instruction::m_successor, which is needed by ParseAPI


  Commit: 0fb50cca8c1707cb347e7b531d821a7a48ee2b66
      https://github.com/dyninst/dyninst/commit/0fb50cca8c1707cb347e7b531d821a7a48ee2b66
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-08-26 (Mon, 26 Aug 2019)

  Changed paths:
    M dataflowAPI/src/AbslocInterface.C
    M instructionAPI/src/InstructionCategories.C
    M instructionAPI/src/InstructionDecoder-Capstone.C
    M instructionAPI/src/InstructionDecoder-Capstone.h
    M parseAPI/src/BoundFactCalculator.C

  Log Message:
  -----------
  1. Handle opcode alias such as je/jz
2. Should always construct multiply node even if the scale is 1 and add node even if the displacment is 0
3. Remove some asserts


  Commit: 5c1884d55f44e47145ac4394bdbf0b05971593a3
      https://github.com/dyninst/dyninst/commit/5c1884d55f44e47145ac4394bdbf0b05971593a3
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-08-26 (Mon, 26 Aug 2019)

  Changed paths:
    M instructionAPI/src/InstructionDecoder-Capstone.C
    M instructionAPI/src/InstructionDecoder-Capstone.h

  Log Message:
  -----------
  Add opcode normalization


  Commit: 8e163be6f9208eec9a4bb2251e5039a10e063dd3
      https://github.com/dyninst/dyninst/commit/8e163be6f9208eec9a4bb2251e5039a10e063dd3
  Author: Xiaozhu Meng <xmeng@xxxxxxxxxxx>
  Date:   2019-08-26 (Mon, 26 Aug 2019)

  Changed paths:
    M instructionAPI/h/Result.h
    M instructionAPI/src/InstructionDecoder-Capstone.C
    M parseAPI/src/BoundFactData.C

  Log Message:
  -----------
  Add in missed memory operand sizes and remove unncessary asserts


  Commit: 94b1ddc538fe1e836d54698eb07b1528d2e72472
      https://github.com/dyninst/dyninst/commit/94b1ddc538fe1e836d54698eb07b1528d2e72472
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-08-26 (Mon, 26 Aug 2019)

  Changed paths:
    M instructionAPI/src/InstructionDecoder-Capstone.C
    M instructionAPI/src/InstructionDecoder-Capstone.h

  Log Message:
  -----------
  Switch to use cs_disasm_iter, which allows us providing a cs_insn object as input.

This can daramtically reduce malloc/free related to cs_insn objects


  Commit: b70cd337b30cefc391c83807bce90dc3170445ae
      https://github.com/dyninst/dyninst/commit/b70cd337b30cefc391c83807bce90dc3170445ae
  Author: Xiaozhu Meng <mxz297@xxxxxxxxx>
  Date:   2019-08-26 (Mon, 26 Aug 2019)

  Changed paths:
    M instructionAPI/src/InstructionDecoder-Capstone.C
    M instructionAPI/src/InstructionDecoder-Capstone.h

  Log Message:
  -----------
  Add mnemonic mapping inside InstructionAPI, so that we can get rid
of the overhead of Capstone for always constructing string representations


Compare: https://github.com/dyninst/dyninst/compare/1656019d0142...b70cd337b30c
[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] ba7c69: Initial coding for integrating Capstone for instru..., Xiaozhu Meng <=