Commit Graph

249 Commits

Author SHA1 Message Date
Nguyen Anh Quynh
4f0d7048cd arm64: vector_index = 0 is valid. this changed invalid value of vector_index to -1 2014-08-29 15:11:23 +08:00
Nguyen Anh Quynh
0beb0d494b api: get back the old API cs_disasm() & mark cs_disasm_ex() deprecated. cs_disasm_ex() will be removed in the future 2014-08-27 22:55:29 +08:00
Nguyen Anh Quynh
934e180e54 x86: more update to the core 2014-08-27 21:59:25 +08:00
Nguyen Anh Quynh
a7792ae488 systemz: update core. also update Python & Java bindings 2014-08-26 12:14:25 +08:00
Nguyen Anh Quynh
c286b346c6 Merge branch 'arm64' into v3 2014-08-25 17:01:53 +08:00
Nguyen Anh Quynh
0efef5dd48 solve some conflicts when merging -next into -v3 2014-08-25 17:01:45 +08:00
Nguyen Anh Quynh
46a74e53b7 arm64: update core. this added a lot more details to cs_arm64_op struct 2014-08-25 16:47:12 +08:00
Nguyen Anh Quynh
78c4876390 Merge branch 'cs_insn_const' of https://github.com/obs1dium/capstone into next 2014-08-21 08:44:28 +08:00
obs
876b6b6a33 use const when passing cs_insn pointers 2014-08-21 00:57:04 +02:00
Nguyen Anh Quynh
663829431e x86: return proper error if cs_option() enables AT&T syntax but AT&T support is opt-out at compile time 2014-08-20 14:02:14 +08:00
Nguyen Anh Quynh
a726402513 sparc: update core. this added/removed some instructions & groups. updated Python & Java bindings accordingly 2014-08-15 18:29:17 +08:00
Nguyen Anh Quynh
91a64776a8 ppc: fix a mistake on interpreting CR registers by deleting CR8 -> CR31 2014-08-15 13:48:11 +08:00
Nguyen Anh Quynh
dd3deec1e9 ppc: update core. this added new instructions, groups & registers. updated Python & Java bindings accordingly 2014-08-15 13:26:12 +08:00
Nguyen Anh Quynh
0f0eb9851a mips: update core. this added bunch of new instructions & groups. updated Python & Java bindings accordingly 2014-08-14 18:26:39 +08:00
Nguyen Anh Quynh
7c089fd6c6 arm: add new mode CS_MODE_MCLASS for Cortex-M series. updated Python & Java bindings accordingly 2014-08-13 23:08:40 +08:00
Nguyen Anh Quynh
b52f11f636 arm: update core. this added a new instruction UDF. also updated Python+Java bindings accordingly 2014-08-13 22:38:15 +08:00
Nguyen Anh Quynh
fd0f798343 bump API & package version to 3.0 2014-08-13 14:15:27 +08:00
Nguyen Anh Quynh
0b690387b3 x86: update core with upstream. this added bunch of new instructions & groups. also updated Python & Java bindings after the core change 2014-08-13 13:01:50 +08:00
Nguyen Anh Quynh
027afdc179 Change the prototype of the callback in SKIPDATA option. Suggested by Ben Nagy.
Original prototype:
  typedef size_t (*cs_skipdata_cb_t)(const uint8_t *code, uint64_t offset, void* user_data);

Now we add @code_size argument to reflect the size of the input buffer @code.
Also, we change the data type of @offset to size_t because this argument indicates the
distance from currently examining bytes to @code, but not the address of the byte.

  typedef size_t (*cs_skipdata_cb_t)(const uint8_t *code, size_t code_size, size_t offset, void* user_data);
2014-07-10 15:46:10 +08:00
Nguyen Anh Quynh
0df7e93a3c Change the prototype of the callback in SKIPDATA option. Suggested by Ben Nagy.
Original prototype:
  typedef size_t (*cs_skipdata_cb_t)(const uint8_t *code, uint64_t offset, void* user_data);

Now we add @code_size argument to reflect the size of the input buffer @code.
Also, we change the data type of @offset to size_t because this argument indicates the
distance from currently examining bytes to @code, but not the address of the byte.

  typedef size_t (*cs_skipdata_cb_t)(const uint8_t *code, size_t code_size, size_t offset, void* user_data);
2014-07-10 15:42:16 +08:00
Nguyen Anh Quynh
994f336b35 ppc: rename PC_BH_NO to PC_BH_INVALID for consistency 2014-07-10 11:46:11 +08:00
Nguyen Anh Quynh
dfc94e1a00 ppc: add PPC_BC_INVALID 2014-07-10 08:01:02 +08:00
Nguyen Anh Quynh
650f96ce43 add new API cs_group_name() to return group name in string, given the group id 2014-07-08 08:59:27 +08:00
Nguyen Anh Quynh
e105594d7b x86: update comments for prefix[] & opcode[] fields of cs_x86 2014-07-04 11:04:46 +08:00
Nguyen Anh Quynh
9f6ed7155a x86: add @rex to cs_x86 struct. updated python & java binding for this change 2014-07-01 10:13:28 +08:00
Nguyen Anh Quynh
1a66fecdbc x86: support avx_sae & avx_rm in cs_x86 struct. this also updates Python & Java bindings following the core's change 2014-06-26 12:09:15 +08:00
Nguyen Anh Quynh
12e6e31389 x86: rename zero_opmask of cs_x86_op to avx_zero_opmask 2014-06-26 11:27:24 +08:00
Nguyen Anh Quynh
2b338ce65a x86: update some comments on x86.h 2014-06-26 10:58:17 +08:00
Nguyen Anh Quynh
92a3d4c079 x86: add AVX's zero_opmask to cs_x86_op struct. updated Python & Java bindings for this change 2014-06-25 23:10:39 +08:00
Nguyen Anh Quynh
4c5eabc32b x86: support SSE_CC & AVX_CC in cs_x86 struct. this also updates Python & Java bindings 2014-06-24 23:50:41 +08:00
Nguyen Anh Quynh
0d716450fc x86: add avx_bcast to cs_x86_op to support AVX512 instructions. this also updates Python & Java binding 2014-06-24 22:51:56 +08:00
Nguyen Anh Quynh
bb6440c5ef x86: extend cs_x86.opcode to 4 bytes to contain EVEX opcode. this also updates Python binding following this interface change 2014-06-24 21:46:54 +08:00
Nguyen Anh Quynh
d29aa6235a x86: correct comments on x86_op_mem.scale 2014-06-24 14:52:16 +08:00
Nguyen Anh Quynh
14ba46bfab x86: add segment to x86_op_mem struct. this fixes a bug in generating detail for instructions with segment override. bug reported by Sean Heelan. 2014-06-24 14:32:01 +08:00
Nguyen Anh Quynh
fb15221666 x86: cs_x86.prefix[] should have size 4, not 5 2014-06-20 13:46:19 +08:00
Nguyen Anh Quynh
1085073f8f x86: remove disp_size, imm_size, op_size. add size to each operand. thanks Gabriel Quadros for some nice ideas 2014-06-18 12:16:24 +08:00
Nguyen Anh Quynh
73bbbb3800 arm: add ASRS, LSRS, VCLE, VCLT instructions. update Python & Java bindings at the same time 2014-06-17 13:29:54 +08:00
schwoop
3a7c136558 Fixed SPARC compilation 2014-06-10 13:24:53 +02:00
schwoop
8a26bd36d5 Fix for GCC MIPS toolchain 2014-06-06 17:28:43 +02:00
Nguyen Anh Quynh
4aacbea1b6 Merge branch 'next' into cmake2 2014-06-04 21:42:22 +07:00
Nguyen Anh Quynh
a19d3f0b60 Merge branch 'feature/x86-groups' of https://github.com/parasyte/capstone into test 2014-06-04 13:35:12 +07:00
Ali Rizvi-Santiago
10053ba626 Modified CMakeLists.txt to re-enable support for building both static and shared versions of the library.
Removed definition of CAPSTONE_STATIC from capstone.h due to dllimport only really being a performance optimization while CAPSTONE_SHARED is only needed when building the shared version of the library.
2014-06-03 21:07:03 +00:00
Nguyen Anh Quynh
1969b83b9b windows: expose public APIs with dllimport for user apps 2014-06-03 23:10:07 +08:00
Nguyen Anh Quynh
0ea020ec8f cmake: do not define dllimport 2014-06-03 21:48:53 +08:00
Nguyen Anh Quynh
07c3693cf2 cmake: properly export public APIs in capstone.DLL. thanks to Daniel Pistelli for helping to fix this issue 2014-06-03 18:33:15 +08:00
Nguyen Anh Quynh
4c0ed0b864 correct capstone.h on the old already-renamed op_info[] arrays 2014-06-03 15:06:20 +07:00
Jay Oster
6f74ccc97a Add new x86 instruction groups
- VM: Virtual Machine
- INT: Interrupts
- IRET: Interupt returns
- CALL: Subroutine call
- RET: Subroutine return

Includes a special case for writes to port 0xb2, which triggers an SMI
2014-06-02 22:21:41 -07:00
Nguyen Anh Quynh
be2b788dc1 xcore: handle details for some special tricky instructions 2014-05-27 23:34:03 +08:00
Nguyen Anh Quynh
c80d840ffc add XCore architecture 2014-05-26 23:02:48 +08:00
Nguyen Anh Quynh
5d6383e335 sparc: SPARC_CC_ICC_N should not have the same value as SPARC_CC_INVALID. bug reported by Jason Oster 2014-05-25 13:48:06 +08:00
Jason Oster
aa60b8cd1b [#124] ARM: Make imm detail field signed. 2014-05-23 21:55:04 -07:00
Nguyen Anh Quynh
96934501fd arm64: do not consider WZR & XZR alias registers 2014-05-18 00:07:24 +08:00
Nguyen Anh Quynh
cb5910627a remove some more forgotten stdbool.h 2014-05-15 21:51:02 +08:00
Nguyen Anh Quynh
171eb7523d stdbool.h is only available in C99-supported compiler 2014-05-15 21:01:08 +08:00
Nguyen Anh Quynh
e76abf47e1 move prototype of strcasecmp for MSVC into utils.h, and remove platform.h 2014-05-15 15:02:52 +08:00
Nguyen Anh Quynh
e079f10a80 remove more redundant code in platform.h 2014-05-15 14:34:16 +08:00
Nguyen Anh Quynh
8d8cd79591 remove redundant code in platform.h 2014-05-15 14:26:31 +08:00
Nguyen Anh Quynh
1d2e69b869 msvc: remove headers/ directory & replace it with include/platform.h 2014-05-15 13:56:54 +08:00
Nguyen Anh Quynh
3878ff0641 skipdata: change data type of callback's offset to uint64_t 2014-05-12 15:15:04 +08:00
Nguyen Anh Quynh
7751fbe57b header files: Disassembler -> Disassembly 2014-04-28 11:23:14 +08:00
Nguyen Anh Quynh
fa697076b1 x86: handle more tricky instructions.
- support undocumented instructions FSTP & FSTPNCE. see http://blogs.technet.com/b/mmpc/archive/2013/06/24/investigation-of-a-new-undocumented-instruction-trick.aspx
- TEST instructions with opcode 0xF6, 0xF7 (MRM1r)
2014-04-23 12:41:16 +08:00
Nguyen Anh Quynh
6f56ff5663 x86: handle SAL instructions. bug reported by Attila Suszter & Ange Albertini 2014-04-16 17:29:34 +08:00
Nguyen Anh Quynh
1efa9c11a0 SKIPDATA: add info about the first argument of callback function 2014-04-14 21:48:59 +08:00
Nguyen Anh Quynh
42288ac4e3 SKIPDATA: add 1 more argument to callback function pointing to the input buffer of cs_disasm_ex() 2014-04-14 14:53:13 +08:00
Nguyen Anh Quynh
3d5b6f3e35 update capstone.h to add some minor details for SKIPDATA mode 2014-04-11 09:53:53 +08:00
Nguyen Anh Quynh
11ec8817dc core: add CS_ERR_SKIPDATA error code to report when code access irrelevant info in SKIPDATA mode 2014-04-10 17:20:01 +08:00
Nguyen Anh Quynh
07ffd64c38 SKIPDATA: @offset of callback function should indicate the position of examining byte in input buffer 2014-04-10 14:36:08 +08:00
Nguyen Anh Quynh
a89383e81f number of bytes skipped by SKIPDATA option depends on arch 2014-04-10 11:53:46 +08:00
Nguyen Anh Quynh
d3ffe37c47 API: support SKIPDATA option (off by default) 2014-04-09 23:49:30 +08:00
Nguyen Anh Quynh
901631eaed remove the useless diet.h 2014-03-27 17:14:57 +08:00
Nguyen Anh Quynh
6d3c71128c correct config.mk since X86-reduce now supports VMX/SVM 2014-03-27 15:38:23 +08:00
Nguyen Anh Quynh
59b5489d8e x86: rename X86_COMPACT to X86_REDUCE. suggested by Pancake 2014-03-27 10:54:44 +08:00
Nguyen Anh Quynh
9518148e6f add X86_COMPACT option. also add CS_SUPPORT_X86_COMPACT. made Python support this change 2014-03-25 23:20:41 +08:00
Nguyen Anh Quynh
e4fae8723e systemz: support length for Mem op 2014-03-24 17:26:57 +08:00
Nguyen Anh Quynh
da1e833c8c systemz: support accesss register operand 2014-03-23 11:12:07 +08:00
Nguyen Anh Quynh
b3d000a841 fix SystemZ on Op 2014-03-23 09:15:50 +08:00
Nguyen Anh Quynh
48a14ca4ce add SystemZ arch 2014-03-23 08:35:45 +08:00
Nguyen Anh Quynh
604c45e8d8 cleaning capstone.h 2014-03-13 07:04:18 +08:00
Nguyen Anh Quynh
2ff665ad4a arm: support asm syntax CS_OPT_SYNTAX_NOREGNAME to print out registers with numbers (ex: 'r11' rather than 'fp') 2014-03-11 00:18:50 +08:00
Nguyen Anh Quynh
1a39bb59e1 API: bump to 2.2 after the addition of Sparc support 2014-03-10 20:49:46 +08:00
Nguyen Anh Quynh
20ab8069e7 add missing sparc.h 2014-03-10 14:36:25 +08:00
Nguyen Anh Quynh
05e27138ae core: add Sparc arch 2014-03-10 11:58:57 +08:00
Nguyen Anh Quynh
f3b7bcfea1 indentation for ppc.h 2014-03-10 00:22:02 +08:00
Nguyen Anh Quynh
395bbab2de cleanup x86.h & mips.h (C-IMM) 2014-03-09 04:08:11 +08:00
Nguyen Anh Quynh
183d05350d ppc: correct a comment on IMM operand in ppc.h 2014-03-09 00:28:36 +08:00
Nguyen Anh Quynh
c8e0785cb6 add some more comments regarding invalidating @handle of cs_close() 2014-02-28 09:38:11 +08:00
Nguyen Anh Quynh
226d7dca64 change API cs_close() to take pointer to handle as argument. this lets us invalidate the closed handle 2014-02-27 22:20:39 +08:00
Nguyen Anh Quynh
d5d06ed736 Merge branch 'x86' into next 2014-02-25 15:10:47 +08:00
Nguyen Anh Quynh
492b8ed0d5 define CS_SUPPORT_DIET with relation to CS_ARCH_ALL for clarification 2014-02-25 08:14:15 +08:00
Nguyen Anh Quynh
143759d9ab x86: update core 2014-02-24 23:30:45 +08:00
Nguyen Anh Quynh
f7cdbdf501 add CS_ERR_DIET error code to report information irrelevant in diet engine 2014-02-24 16:47:36 +08:00
Nguyen Anh Quynh
544e0ff611 explicitly warning about diet mode for some APIs in capstone.h 2014-02-23 20:24:47 +08:00
Nguyen Anh Quynh
c70adc30e8 clarify some comments regarding 'diet' mode in capstone.h 2014-02-23 00:03:46 +08:00
Nguyen Anh Quynh
b2870e4c4c API: extend cs_support() to allow query on diet mode. add CS_SUPPORT_DIET at the same time 2014-02-22 23:41:16 +08:00
Nguyen Anh Quynh
fc83a439e5 add diet compile option (CAPSTONE_DIET option in config.mk). This reduces binary size by around 40% 2014-02-22 23:26:27 +08:00
Enzo Matsumiya
6bc08a850a Fix the X86_REL_ADDR macro in x86.h 2014-02-19 22:07:36 +08:00
Nguyen Anh Quynh
8b915ed765 ppc: update core 2014-02-19 17:01:44 +08:00
Nguyen Anh Quynh
43a9a9d36f bump API version from 2.0 to 2.1 for core + Python & Java bindings 2014-02-19 15:18:44 +08:00
Nguyen Anh Quynh
bc0b3b92fd mips: update core 2014-02-19 15:13:20 +08:00
Nguyen Anh Quynh
6b804dacb1 arm: update core 2014-02-19 12:52:50 +08:00