Commit Graph

1851 Commits

Author SHA1 Message Date
Nguyen Anh Quynh
7e92884f41 systemz: fix for details 2014-03-24 17:27:32 +08:00
Nguyen Anh Quynh
d04aad77f6 systemz: support Diet option 2014-03-24 17:26:14 +08:00
Nguyen Anh Quynh
f0ff96138e systemz: print immediates in range [-9, 9] without 0x prefix 2014-03-24 13:41:28 +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
88b2833760 sparc: cleanup 2014-03-22 13:41:04 +08:00
Nguyen Anh Quynh
017df604dc arm64, mips, x86: print -9, not -0x9 2014-03-20 15:38:51 +08:00
Nguyen Anh Quynh
beda293c06 arm64: print label & offset in hex format for negative numbers 2014-03-20 15:30:54 +08:00
Nguyen Anh Quynh
fa814fe479 x86: flag short instruction with missing SIB byte as broken one. ported from upstream. bug reported by @longledinh 2014-03-20 14:14:27 +08:00
Nguyen Anh Quynh
f6c7cbc972 core: fix some warnings 2014-03-12 12:50:54 +08:00
Nguyen Anh Quynh
65c7a01d4f sparc: fix warning on unused variable 2014-03-11 10:31:53 +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
641be49c2f sparc: fix mnemnonic for some alias instructions 2014-03-10 17:57:04 +08:00
Nguyen Anh Quynh
78153f59bb sparc: add SWAP instruction 2014-03-10 15:29:33 +08:00
Nguyen Anh Quynh
1055a2e22a python: support Sparc 2014-03-10 14:37:08 +08:00
Nguyen Anh Quynh
05e27138ae core: add Sparc arch 2014-03-10 11:58:57 +08:00
Nguyen Anh Quynh
cbaf913d68 arm: fix a bug in getting data from input buffer of Thumb: bail out if not enough data 2014-03-06 21:50:45 +08:00
Nguyen Anh Quynh
1514d5ca0c ppc: cleaning up 2014-03-06 14:04:45 +08:00
Nguyen Anh Quynh
1c68ab9293 cleaning up unused code 2014-03-06 12:41:28 +08:00
Nguyen Anh Quynh
ce2ad202d2 x86: clean up X86ATTInstPrinter.c 2014-03-04 15:00:33 +08:00
Nguyen Anh Quynh
ca9a7ab30c ppc: fix a segfault in Diet mode 2014-03-04 14:59:54 +08:00
Nguyen Anh Quynh
6b95e5ef74 arm64: fix a segfault bug in Diet engine 2014-03-04 14:23:00 +08:00
Nguyen Anh Quynh
bc22b5be83 x86: handle rep/repne mulpd case 2014-03-03 05:25:37 +08:00
Nguyen Anh Quynh
4ef1668834 arm64: remove dead code 2014-02-25 17:30:08 +08:00
Nguyen Anh Quynh
43befa06a3 arm: no longer rely on information from @groups to verify relative instructions 2014-02-25 16:26:56 +08:00
Nguyen Anh Quynh
079e0430b6 x86: bug fixes for some instructions, including AVX 2014-02-25 14:43:30 +08:00
Nguyen Anh Quynh
143759d9ab x86: update core 2014-02-24 23:30:45 +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
Nguyen Anh Quynh
1181a851b9 x86: fix a double-free bug for ATT syntax 2014-02-22 11:58:56 +08:00
Nguyen Anh Quynh
0b6daad5ad x86: avoid duplicating slot 0 of Opcode tables with emptyTable 2014-02-22 09:31:52 +08:00
Nguyen Anh Quynh
f6060b8f70 x86: compress Opcode tables to make data size 3 times smaller. this is without performance sacrifice by using some extra index tables 2014-02-22 04:57:38 +08:00
Nguyen Anh Quynh
b24692cfcc x86: add some debug code to find out size of some Opcode tables 2014-02-20 23:41:17 +08:00
Nguyen Anh Quynh
8b915ed765 ppc: update core 2014-02-19 17:01: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
Nguyen Anh Quynh
27b9a96fd0 x86: make printAliasInstr() return string, not id 2014-02-19 10:13:47 +08:00
Nguyen Anh Quynh
74c41ebb1d mips: simplify handling alias insn 2014-02-18 17:57:06 +08:00
Nguyen Anh Quynh
4f93d9c9dc arm64: simplify handling alias instruction (printAliasInstr) 2014-02-18 17:00:18 +08:00
Nguyen Anh Quynh
85cddef303 x86: optimize handling special instructions with accumulate registers 2014-02-18 11:59:36 +08:00
Nguyen Anh Quynh
005c5148a6 x86: eliminate X86_get_insn_id2() 2014-02-18 11:11:46 +08:00
Nguyen Anh Quynh
585018f831 ppc & arm: remove functions *_get_insn_id2() 2014-02-18 00:13:34 +08:00
Nguyen Anh Quynh
a86a1279ff Merge branch 'msvc0' into next1 2014-02-17 23:11:58 +08:00
kaka22
603f7ac953 x86: fix a warning on unused variable 2014-02-12 18:11:35 +08:00
Nguyen Anh Quynh
d7c00fe5ed x86: REP should have *CX registers as implicit registers read/written 2014-02-08 18:06:07 +08:00
Nguyen Anh Quynh
13f40d26a2 x86: upgrade core 2014-02-07 22:06:33 +08:00
Nguyen Anh Quynh
9389947d0d x86: fix a mem leaking issue in X86_insn_combine() 2014-01-25 13:58:58 +08:00
Nguyen Anh Quynh
a82a0890a6 more more fixes on C coding style 2014-01-23 23:42:40 +08:00
Nguyen Anh Quynh
aa078a1c4a more fixes on C coding style 2014-01-23 22:29:04 +08:00
Nguyen Anh Quynh
2e79ba8996 fix C coding style 2014-01-23 22:22:45 +08:00
Nguyen Anh Quynh
eaeee31f64 Merge branch 'msvc' into test 2014-01-23 22:10:41 +08:00
Nguyen Anh Quynh
b57c90dd23 fix some issues introduced by MSVC port 2014-01-23 21:43:08 +08:00
Alex Ionescu
b8a57fe285 Additional MSVC fixes, including to fixed tables (temporary so Quynh can see what to do). 2014-01-22 18:12:01 -08:00
Alex Ionescu
46018db884 Initial set of changes to support building with MSVC 2013. Right now there's a bunch fo assumptions in the .vcxproj file and some things are not as clean as they should be, but it does build a full build and works (at least the x86 side). The point of this initial checkpoint is to make sure that nothing breaks on the GCC side, that everyone is ok with the changes to the source (or if better fixes/typing can be done). 2014-01-22 09:45:00 -08:00
Nguyen Anh Quynh
c34959b588 x86: proper calculation for the trailing instruction in total cache. issue reported by Pancake 2014-01-22 09:47:46 +08:00
Nguyen Anh Quynh
c36ce95d4a x86: proper calculation for the trailing instruction in total cache. issue reported by Pancake 2014-01-22 09:46:42 +08:00
Nguyen Anh Quynh
06b3c05e20 cs_open() should return error on invalid mode 2014-01-21 15:27:19 +08:00
Nguyen Anh Quynh
53fc5c103a cs_open() should return error on invalid mode 2014-01-21 15:26:02 +08:00
Nguyen Anh Quynh
9a291bda75 x86: do not use non-standard strlcat & strlcpy 2014-01-21 14:01:23 +08:00
Nguyen Anh Quynh
b9ff3aaf19 x86: do not use non-standard strlcat & strlcpy 2014-01-21 14:00:34 +08:00
Nguyen Anh Quynh
dc8c346cf0 Merge branch 'prefix' into next 2014-01-21 11:59:51 +08:00
Nguyen Anh Quynh
7772d859af x86: fix known issue with prefix by combining with previous prefix instruction. this is not perfect, but good enough for now 2014-01-21 11:49:25 +08:00
Nguyen Anh Quynh
3732725342 rename mapping.c, mapping.h, module.c to have arch prefix. suggested by Alex Ionescu 2014-01-20 09:52:05 +08:00
Nguyen Anh Quynh
f328f30fd9 rename mapping.c, mapping.h, module.c to have arch prefix. suggested by Alex Ionescu 2014-01-20 09:47:21 +08:00
Nguyen Anh Quynh
d68a30f4c3 x86: remove 'opaque' in the output of some instructions 2014-01-19 22:40:58 +08:00
Nguyen Anh Quynh
9dfdae6421 x86: add new instructions: FSETPM, SALC, GETSEC & INT1. bug reported by Pancake 2014-01-19 22:40:31 +08:00
Nguyen Anh Quynh
38c1322bde x86: remove 'opaque' in the output of some instructions 2014-01-19 17:23:08 +08:00
Nguyen Anh Quynh
c272e9d000 do not use constructor to enable archs, so code is more portable. suggested by Alex Ionescu 2014-01-19 12:03:22 +08:00
Nguyen Anh Quynh
edeeb04a1a make vsnprintf() user-defined function pointer, which is passed in via the same CS_OPT_MEM option like malloc/calloc etc 2014-01-15 20:44:03 +08:00
Nguyen Anh Quynh
a9ffb440f8 replace strdup() with our cs_strdup(), which call cs_mem_malloc() internally 2014-01-15 18:27:01 +08:00
Nguyen Anh Quynh
57c50d4845 ppc: replace constant subtarget numbers with macros 2014-01-15 16:48:48 +08:00
Nguyen Anh Quynh
136e2df38c x86: some arithmetic instructions should not update accumulate registers 2014-01-15 16:35:19 +08:00
Nguyen Anh Quynh
9cc56a3322 arm: update core 2014-01-15 16:01:55 +08:00
Nguyen Anh Quynh
cbb10ba0b6 arm64: update core 2014-01-15 12:38:38 +08:00
Nguyen Anh Quynh
75ef2426ea mips: update core 2014-01-14 23:08:20 +08:00
Nguyen Anh Quynh
9c2d02908a x86: few more SUB insn should not affect accumulate register 2014-01-14 07:30:31 +08:00
Nguyen Anh Quynh
3d56b823ed extend @op_str of cs_insn_flat following the core change 2014-01-14 07:22:06 +08:00
Nguyen Anh Quynh
22800aac13 x86: some ADD & SUB insn should not affect accumulate registers. bug reported by Bleh 2014-01-14 07:21:17 +08:00
Nguyen Anh Quynh
e51e227409 ppc & x86: add third dummy MRI argument to printInstruction() to make it consistent with other archs 2014-01-12 20:27:54 +08:00
Nguyen Anh Quynh
56774a158c mips: printInstruction() is static function. add dummy third argument MRI to be consistent with other archs 2014-01-12 18:13:53 +08:00
Nguyen Anh Quynh
dcbe0f8322 arm64: find alias insn after the main isnn name mapping. 2014-01-12 10:11:36 +08:00
Nguyen Anh Quynh
dc6b9574ff arm64: more changes to make code closer to llvm 2014-01-12 00:52:51 +08:00
Nguyen Anh Quynh
126507741c arm64: make the code closer to llvm code 2014-01-11 23:52:11 +08:00
Nguyen Anh Quynh
a8eb7a5ca5 rename memory function pointer types to have cs_ prefix. also rename internal function pointers my_* to have cs_mem_ prefix - suggested by Pancake 2014-01-11 12:55:31 +08:00
danghvu
701b850af9 Fix: bug that static link does not know constructor 2014-01-09 11:14:40 +07:00
Nguyen Anh Quynh
77944e0dab arm64: add big-endian support 2014-01-09 09:13:48 +08:00
Nguyen Anh Quynh
a768c9eb2c arm: support big-endian. issue reported by Pancake 2014-01-09 09:05:27 +08:00
Nguyen Anh Quynh
f1b05083a7 x86: cleanup unused stuff 2014-01-08 14:53:09 +08:00
Nguyen Anh Quynh
9fac512efc no longer need to free insn_cache for each arch: simply do it from cs_close() 2014-01-07 10:56:04 +08:00
Nguyen Anh Quynh
1acfd0b883 move insn_cache into cs_struct to gurantee thread-safe 2014-01-06 10:56:59 +08:00
Nguyen Anh Quynh
c7404075ff move internal memory management declarations from utils.h to cs_priv.h 2014-01-05 11:35:47 +08:00
Nguyen Anh Quynh
24bf0d9079 add new option CS_OPT_MEM for cs_option(): this enable user-defined dynamic memory management. idea proposed by Pancake 2014-01-05 11:19:04 +08:00
Nguyen Anh Quynh
2b14fcdf9b ppc: update ppc.bh in post-printer 2014-01-05 10:37:50 +08:00
Nguyen Anh Quynh
f1d489b949 ppc: support details information 2014-01-05 00:00:05 +08:00
Nguyen Anh Quynh
5802e5e9a0 correct the last fix 2014-01-04 10:43:31 +08:00
Nguyen Anh Quynh
5ef633ce91 arm64 & arm: do not update details when detail option is off. bug reported by Pancake. 2014-01-04 10:41:17 +08:00
Nguyen Anh Quynh
ee143c8c6c fix a crashed bug in cs_close(): call destroy function before freeing handle's memory 2014-01-03 21:51:59 +08:00
Nguyen Anh Quynh
b265406960 cache insns for fast lookup in mapping.c. based on the idea of Dang Hoang Vu 2014-01-03 17:08:58 +08:00
Nguyen Anh Quynh
57ab21b558 rename some old header guards from SB to CS 2014-01-02 12:44:20 +08:00
Nguyen Anh Quynh
5f1f90c559 fix for the last commit, and make the test code no longer specify ppc code as 64bit 2014-01-01 23:28:05 +08:00
Nguyen Anh Quynh
5742b1b814 ppc: support for PPC32 was already in 2014-01-01 23:24:07 +08:00
Nguyen Anh Quynh
cef6b27e95 remove -x from PPC files 2013-12-31 23:36:12 +08:00
Nguyen Anh Quynh
19b0de3c8d moving static doing_mem variable into cs_struct to guarantee thread-safe when handling memory operands 2013-12-31 22:40:04 +08:00
Nguyen Anh Quynh
4d22779f1c add the missing include/ppc.h 2013-12-31 21:01:01 +08:00
Nguyen Anh Quynh
04ac9c3725 arm,arm64,mips,x86: rename PPC_getFeatureBits() to getFeatureBits() 2013-12-31 18:15:12 +08:00
Nguyen Anh Quynh
ec79f401b1 ppc: rename PPC_getFeatureBits() to getFeatureBits() 2013-12-31 18:00:20 +08:00
Nguyen Anh Quynh
9c5b328cdc ppc: rename ppc_cc to ppc_bc 2013-12-30 00:52:55 +08:00
Nguyen Anh Quynh
bacf4c8156 add the missing arch/PowerPC directory 2013-12-30 00:29:32 +08:00
Nguyen Anh Quynh
42c6b1acc7 initial support for PPC 2013-12-30 00:15:25 +08:00
Nguyen Anh Quynh
ec4ead2c02 function pointers in arch_init[] should be able to report errors 2013-12-28 14:34:21 +08:00
Nguyen Anh Quynh
4fe224b1ed change API cs_disasm_dyn(): break cs_insn into 2 structures, and put all details into new structure cs_detail. this break API compatibility 2013-12-24 16:49:36 +08:00
Nguyen Anh Quynh
2b53b20272 x86: patch in acc registers for xchg. bug reported by felixwilhelm 2013-12-24 09:09:20 +08:00
Nguyen Anh Quynh
f954f871e8 initialize all_arch in constructors 2013-12-22 18:49:22 +08:00
Nguyen Anh Quynh
d345839bce support cs_option() for arm64 module 2013-12-22 11:10:56 +08:00
Nguyen Anh Quynh
39a42eddfb Change the way of supporting arch modularization
- Always use libapstone.so as library name, no matter which archs are compiled in.

- Add new API cs_support() to check if a particular arch is supported.

- Change cs_version(): return hexical version which encodes both major & minor version.
    the return value can be comparable.

- Bump API version to 1.1
2013-12-22 10:40:58 +08:00
Nguyen Anh Quynh
13a7d95763 add missing arch/*/module.c 2013-12-21 12:19:44 +08:00
Nguyen Anh Quynh
f185180436 cleaner implementation for arch modularization 2013-12-21 12:16:47 +08:00
Nguyen Anh Quynh
abc02059e3 make all module code static 2013-12-21 10:06:59 +08:00
danghvu
7711858da6 Minor fix credit 2013-12-20 01:23:17 -06:00
danghvu
29e01a6895 arch/*/include.h -> arch/*/module.h 2013-12-20 00:20:57 -06:00
danghvu
a2e7ef1b73 Fix coding style 2013-12-19 23:12:30 -06:00
danghvu
0b6ea044ff Move cs_option dispatch into arch specific 2013-12-19 23:07:26 -06:00
danghvu
34d49d935b Support compilation of individual arch 2013-12-19 12:10:24 -06:00
Nguyen Anh Quynh
e832bd8996 arm: support alias registers SB, SL, FP & IP 2013-12-19 16:43:32 +08:00
Nguyen Anh Quynh
2578d3b9e6 mips: use alias registers 2013-12-19 12:26:05 +08:00
Nguyen Anh Quynh
4626224a33 mips: update doing_mem status, regardless of detail option, since that is also used to avoid printing zero offset in mem reference 2013-12-15 22:05:01 +08:00
Nguyen Anh Quynh
3d5930f39e arm: fix some int types and string specifiers 2013-12-15 21:12:19 +08:00
Nguyen Anh Quynh
d14d3973f4 coding style for C code 2013-12-15 21:11:17 +08:00
Nguyen Anh Quynh
7013f4c53d mips: print negative immediate when it is negative 2013-12-15 18:53:32 +08:00
Nguyen Anh Quynh
1f44928d97 mips: fix for micromips 2013-12-15 14:04:59 +08:00
Nguyen Anh Quynh
ea8c5af48e arm64: the left-over fix of the last commit 2013-12-15 00:40:29 +08:00
Nguyen Anh Quynh
748a70a50b mips: turn off MicroMips by default 2013-12-15 00:16:32 +08:00
Nguyen Anh Quynh
4d3e852fbb detail option: provide instruction id even when detail option is OFF 2013-12-14 10:45:09 +08:00
Nguyen Anh Quynh
a209e67f8a support to turn on/off building instruction details 2013-12-14 00:23:41 +08:00
Nguyen Anh Quynh
bed90914e2 x86: calculate op_size properly in special cases regarding rax, eax, ax, al registers 2013-12-13 18:28:38 +08:00
Nguyen Anh Quynh
94990c9ef5 x86: print '0' rather than '-0' 2013-12-13 15:56:08 +08:00
Nguyen Anh Quynh
be90639c00 x86: properly translate immediate numbers based on their encoding. INT is the exception 2013-12-13 15:37:57 +08:00
Nguyen Anh Quynh
4fe4281f0d x86: take care negative immediate (no prefix 0x) when print number greater than -10 2013-12-13 12:26:26 +08:00
Nguyen Anh Quynh
a4c16a6fd5 mips: print immediate under 10 without prefix 0x 2013-12-13 12:05:40 +08:00
Nguyen Anh Quynh
f22557ba88 x86: print immediate without prefix 0x if the number is under 10 2013-12-13 09:37:52 +08:00
Nguyen Anh Quynh
70bab7e61d x86: cleaner fix for 16bit instruction with data override 'reverse' 2013-12-13 01:23:49 +08:00
Nguyen Anh Quynh
04da0090a7 x86: quick hack to fix 16bit issue with data override 'reverse'. this might fix bunch of bugs reported by Joxean & Pancake 2013-12-13 01:11:48 +08:00
Nguyen Anh Quynh
1f24586535 arm64: turn off debug output 2013-12-12 16:00:58 +08:00
Nguyen Anh Quynh
a01d1546d6 x86: handle outs instruction in 16bit mode 2013-12-12 15:54:30 +08:00
Nguyen Anh Quynh
4d85f29e08 x86: properly output insb/insd instruction with the right mode. bug reported by Pancake 2013-12-12 14:56:15 +08:00
Nguyen Anh Quynh
9fa7a6e326 x86: dirty fix for relative call for 16bit mode. need to be properly fixed in future. bug reported by Joxean and Pancake 2013-12-12 11:02:50 +08:00
Nguyen Anh Quynh
c961464af3 Merge branch 'const-strings' of https://github.com/radare/capstone into const 2013-12-12 06:11:06 +08:00
Nguyen Anh Quynh
b385284a8f arm64: friendly display immediates under 10 without prefix 0x 2013-12-12 05:47:06 +08:00
pancake
f0e4eed89d Use const on all read-only buffers 2013-12-11 22:14:42 +01:00
Nguyen Anh Quynh
fff0abb629 arm64: clean up 2013-12-11 23:24:08 +08:00
Nguyen Anh Quynh
ad89d25d05 mips: optimize Mips_map_register() to O(1). suggested by Pancake 2013-12-11 23:20:34 +08:00
Nguyen Anh Quynh
2b4258997f arm64: avoiding duplicate call on AArch64_map_insn() in AArch64_printInst() 2013-12-11 21:57:54 +08:00
Nguyen Anh Quynh
66f6c2283e mips: fix NEGU alias instruction. bug reported by Pancake 2013-12-11 21:37:24 +08:00
Nguyen Anh Quynh
d051328a20 mips: no need to map BNEZ for alias insn name. bug reported by Pancake 2013-12-11 20:45:52 +08:00
Nguyen Anh Quynh
10fd59eacf cleanup & remove dead code in arm, arm64 & mips. dead code was reported by Pancake 2013-12-11 20:37:42 +08:00
Nguyen Anh Quynh
778ec163e5 mips: support N64 mode and simplify handling micro-mips 2013-12-11 18:25:56 +08:00
Nguyen Anh Quynh
2215895ebc mips: no need cs_struct.micro_mips, as we can get that from cs_struct.mode 2013-12-11 18:11:49 +08:00
Nguyen Anh Quynh
9d946516c3 arm64: fix AArch64_getFeatureBits() 2013-12-11 18:00:19 +08:00
Nguyen Anh Quynh
a1fbd4aada mips: fix Mips_getFeatureBits() 2013-12-11 17:48:48 +08:00
Nguyen Anh Quynh
462f291b9f ARM: Fix bunch of issues
- Bugs
- start switching to more friendly asm: for number under 10, print without hex in front
2013-12-11 17:35:27 +08:00
Nguyen Anh Quynh
ff771f6c84 arm: fix a typo in calling DecodeT2CPSInstruction() 2013-12-11 16:39:37 +08:00
Nguyen Anh Quynh
723fa80890 arm: some hardware features must be mutually exclusive 2013-12-10 12:13:05 +08:00
Nguyen Anh Quynh
37c7d77e76 x86: print mem pointer reference in lowercase 2013-12-10 00:33:37 +08:00
Nguyen Anh Quynh
a253c7a8e8 x86: map EFLAGS to string of 'flags', 'eflags' or 'rflags' depending on current CS_MODE 2013-12-09 10:26:18 +08:00
Nguyen Anh Quynh
f5d9892f41 x86: return lowercase string for instrution name 2013-12-08 23:36:06 +08:00
Nguyen Anh Quynh
87bb421d3b arm: return lowercase string for instrution name 2013-12-08 23:05:03 +08:00
Nguyen Anh Quynh
6677b994e7 arm: fix a wrong calculation on sign of .disp value in mem reference 2013-12-08 22:20:35 +08:00
Nguyen Anh Quynh
162409e730 mips: upgrade core engine 2013-12-08 20:17:28 +08:00
Nguyen Anh Quynh
731bf2a714 arm64: update core engine 2013-12-08 15:13:47 +08:00
Nguyen Anh Quynh
9f523d1699 mips: properly map alias instruction back to public id. this fixes the crash reported by Pancake 2013-12-06 13:49:23 +08:00
Nguyen Anh Quynh
b4ce38355a x86: map xstorerng alias instruction back to xstore. bug reported by Nicolas Ruff 2013-12-06 08:06:21 +08:00
Nguyen Anh Quynh
f9e3216568 x86: on mem reference, put scale after index register to be consistent with Intel style 2013-12-05 21:58:31 +08:00
Nguyen Anh Quynh
641b78375f x86: fix relative call. bug reported by Joxean Koret 2013-12-04 16:56:40 +08:00
Nguyen Anh Quynh
a5f0b1c3c3 mips: map register 9 to 'sp' rather than '29' 2013-12-03 20:13:48 +08:00
Nguyen Anh Quynh
6d552e5540 x86: fix bug in relative jump. reported by Joxean 2013-12-03 18:23:53 +08:00
Nguyen Anh Quynh
9cf170bcaa mips: correct the forgotten size_t address in the last API change 2013-12-03 15:17:41 +08:00
Nguyen Anh Quynh
7d5f96d3a7 merge Radare's pull request on API change on @address of cs_disasm*() 2013-12-03 11:53:42 +08:00
Nguyen Anh Quynh
f35e2ad35c add @regs_read_count, @regs_write_count, @groups_count to @cs_insn. bump API to 1.4 2013-12-03 11:10:26 +08:00
pancake
c04f873791 Use uint64_t instead of size_t for addresses 2013-12-03 02:51:46 +01:00
Nguyen Anh Quynh
9c950c15d6 x86: fix all the shift rotate insns with 1 as immediate: shl, shr, sar, ror, rol. thus, removed the hack on this insns. 2013-12-02 23:20:07 +08:00
Nguyen Anh Quynh
8fcec67893 x86: do not sign-extend immediate. this fixes the issues reported by LongLD 2013-12-02 22:03:30 +08:00
Nguyen Anh Quynh
23bc1f356a fix some potential format string bugs in arm64, arm & mips 2013-12-02 16:24:56 +08:00
Nguyen Anh Quynh
b9b3d29ff5 x86: print segment register in some insns with memory references. This fixes the bug reported by Edgar & Attila 2013-12-02 16:21:55 +08:00
Nguyen Anh Quynh
ec0ed8ee94 semantics: add insn group JUMP, so now we can check if this insn is branching 2013-12-02 13:55:38 +08:00
Nguyen Anh Quynh
7c7a8bc523 arm: move static variable ITBlock to cs_struct, so make arm code truly thread-safe 2013-12-02 13:16:44 +08:00
Nguyen Anh Quynh
f1c2eee091 x86: clang still complains on unused enum type. this shuts it up 2013-12-02 12:29:07 +08:00
Nguyen Anh Quynh
0e3defb6f8 arm64: remove asprintf.c and use static buffer instead for SysRegMapper_toString(). this fixes the bug on MSR insn reported by Patroklos Argyroudis 2013-12-02 10:30:01 +08:00
Nguyen Anh Quynh
5ef8b2a7de arm: fix param of MCRegisterInfo_InitMCRegisterInfo() in ARM_init() 2013-12-01 23:13:30 +08:00
Nguyen Anh Quynh
257dfb6571 arm: fix wrong calculation on update_flags due to dropped support for cs_reg_write() with 0 as handle 2013-12-01 23:12:34 +08:00
Nguyen Anh Quynh
173ed2b1cb arm: upgrade core engine 2013-12-01 22:19:27 +08:00
Nguyen Anh Quynh
36d143b6d0 x86: update core engine 2013-12-01 00:05:22 +08:00
Nguyen Anh Quynh
ad61c49288 arm64: handle decomposer properly for alias insn 2013-11-30 16:23:31 +08:00
Nguyen Anh Quynh
e1611f0189 arm64: fix wrong calculation of arm64.update_flags with a tricky way of using cs_reg_write() 2013-11-30 12:37:26 +08:00
Nguyen Anh Quynh
6b9b6647c1 arm64: support more alias insn 2013-11-30 12:28:56 +08:00
Nguyen Anh Quynh
6b7abe3c81 arm64: handle alias insn in a better way, and add support for MNEG. bug reported by Patroklos Argyroudis 2013-11-30 00:54:24 +08:00
Nguyen Anh Quynh
b42a657873 change cs_disasm() and cs_disasm_dyn() to be portable API. fix related code using these API 2013-11-29 17:40:07 +08:00
Nguyen Anh Quynh
0b6f1bd544 x86: fix SHR, SHL, SAR insn when second op is 1 (Intel syntax). reported by Edgar Barbosa 2013-11-29 11:06:46 +08:00
Nguyen Anh Quynh
d7dbccd05e Removed a couple of inoffensive compiler warnings. By Daniel Godas-Lopez 2013-11-28 23:15:34 +08:00
Nguyen Anh Quynh
741a9de722 arm: print immediate as 32bit rather than 64bit number. fix the bug reported by LongLD 2013-11-28 16:02:35 +08:00
Nguyen Anh Quynh
f10be9bb9d x86: fix an overflow bug reported by Pancake 2013-11-28 15:04:43 +08:00
Nguyen Anh Quynh
26ee41aa67 initial import 2013-11-27 12:11:31 +08:00