Skip to content
Nguyen Anh Quynh edited this page Apr 10, 2015 · 295 revisions

(Look here for the detailed changelog of v3.0.2)

This page details all the changes in the next branch, against the master branch. This next branch will become the next version, and will be merged into the master branch when next version is released.

The latest next code can be directly retrieved from https://github.com/aquynh/capstone/archive/next.zip, or via git - see instructions at the bottom of this page.

NOTE: changes are listed in time order: newer changes are at the top, older changes are at the bottom.


Library:

  • Support to embed into Mac OS X kernel extensions.
  • Fix to make it is possible to compile Capstone with older C compilers, such as the one on Ubuntu 12.04.
  • make.sh has been rewritten to be faster & more portable.
  • pkg-config is consistent with installation.

X86:

  • Fixed a segfault on the input of 0xF3.
  • Properly decode some instructions beginning with f3 or 660f, where f3 & 66 are not prefix.
  • Correct the size of immediate operand for instruction CMP8i8.
  • Update core with 46 instructions added (including latest extensions from Broadwell CPU).
  • Fix a compilation bug for X86_REDUCE mode.
  • Fix operand size of instructions with operand PTR []
  • Add prefix constant REPE (= REP).
  • Handle the opcode 0x82 (non-64bit instructions).
  • Properly handle instructions using CR9~CR15 registers.
  • Remove dead SSE_CC constants.
  • Add new registers DR8-DR15.
  • New undocumented instructions FDISI8087_NOP, FENI8087_NOP & FFREEP.

PowerPC:

  • Update core with 164 instructions added (with new QPX extension).

Mips:

  • Update core with 40 instructions added.
  • Sanity check for the input size for MIPS64 mode.

Arm:

  • Update core with 2 instructions added.
  • Add lshift field to arm_op_mem.

Python:

  • X86Op.avx_zero_mask now has c_bool type, not c_uint8 type.
  • Properly support Cygwin in setup.py.

Checkout -next branch

To checkout next branch, simply do this:

    $ git pull
    $ git checkout next

Then make sure to compile and install new code:

    $ ./make.sh
    $ sudo ./make.sh install

The next branch is frequently updated, so make sure to always get the latest code with:

    $ git pull origin next

Any time you want to get back to master branch, do:

    $ git checkout master