Commit Graph

186 Commits

Author SHA1 Message Date
94020d8478 x86: fix the issue with prefix instruction declared in 2.0's RELEASE_NOTES 2014-01-25 14:22:15 +08:00
743ead0442 fix a bug in cs.c introduced in the last port between branches 2014-01-23 23:47:15 +08:00
a82a0890a6 more more fixes on C coding style 2014-01-23 23:42:40 +08:00
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
11b05193ec reset prev_prefix at the entry of cs_disasm_ex(). this fixes a nasty segfault bug 2014-01-22 11:06:34 +08:00
fd2814b71a reset prev_prefix at the entry of cs_disasm_ex(). this fixes a nasty segfault bug 2014-01-22 11:04:25 +08:00
c34959b588 x86: proper calculation for the trailing instruction in total cache. issue reported by Pancake 2014-01-22 09:47:46 +08:00
c36ce95d4a x86: proper calculation for the trailing instruction in total cache. issue reported by Pancake 2014-01-22 09:46:42 +08:00
06b3c05e20 cs_open() should return error on invalid mode 2014-01-21 15:27:19 +08:00
53fc5c103a cs_open() should return error on invalid mode 2014-01-21 15:26:02 +08:00
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
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
24e122778c cs_op_count() & cs_op_index() report CS_ERR_DETAIL when detail = OFF 2014-01-15 21:27:23 +08:00
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
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
d159a03f23 tests: proper extensions for newly added static executables 2014-01-09 15:49:44 +08:00
625b5bcfee comment for the trick to enable constructors in static lib & fix coding style 2014-01-09 14:33:56 +08:00
b33bd2cb13 Update static fix: no need to call dummy function 2014-01-09 12:22:56 +07:00
ad44e8178e Minor bug 2014-01-09 11:17:20 +07:00
701b850af9 Fix: bug that static link does not know constructor 2014-01-09 11:14:40 +07:00
39b812d9e9 switch detail to be CS_OPT_OFF by default 2014-01-07 23:36:26 +08:00
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
1acfd0b883 move insn_cache into cs_struct to gurantee thread-safe 2014-01-06 10:56:59 +08:00
8f7ab4981d fix a potential memleak in cs_open() - happened when arch is invalid/unsupported 2014-01-06 09:52:57 +08:00
c52352d6d9 add new error code CS_ERR_MEMSETUP to report error when user-defined dynamic mem management is uninitialized 2014-01-06 09:06:30 +08:00
59492c2688 enable system's my_malloc/calloc/realloc/free via compile time option 2014-01-05 23:41:31 +08:00
c7404075ff move internal memory management declarations from utils.h to cs_priv.h 2014-01-05 11:35:47 +08:00
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
34f96389a9 add new API: cs_strerror() return a string describing a given error code. this should be used together with cs_errno() 2014-01-03 22:49:07 +08:00
ee143c8c6c fix a crashed bug in cs_close(): call destroy function before freeing handle's memory 2014-01-03 21:51:59 +08:00
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
42c6b1acc7 initial support for PPC 2013-12-30 00:15:25 +08:00
b90cb993ed API cs_version_ex(): since we already broke API compatibility, we are not afraid to break cs_version() too. this replaces cs_version() with cs_version_ex() 2013-12-28 13:59:09 +08:00
04c19beefe rename API cs_disasm_dyn() to cs_disasm_ex(), and intentionally breaks compatibility with 1.0 2013-12-25 13:26:22 +08:00
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
b880678a25 old cs_version() and new cs_version() are not compatible, so revert old one, and create new separate API cs_version_ex() 2013-12-22 15:20:07 +08:00
0877747bcd cs_version() can accept NULL arguments. this is useful if you dont care about major/minor, but only want to get returned combined version 2013-12-22 14:16:28 +08:00
9a197b35a1 nullify handle when cs_open() fails. besides, return CS_ERR_ARCH when arch is unsupported 2013-12-22 13:41:38 +08:00
58747adcbb to be sure, initialize arch_init[] with NULL 2013-12-22 13:37:13 +08:00
d345839bce support cs_option() for arm64 module 2013-12-22 11:10:56 +08:00
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
f185180436 cleaner implementation for arch modularization 2013-12-21 12:16:47 +08:00
31baeb570f Merge branch 'next' of https://github.com/aquynh/capstone into module 2013-12-21 10:01:02 +08:00
7d02c92de8 code style: more fix for cs.c 2013-12-21 09:59:31 +08:00
7008356bc5 change cs_insn struct to follow the commit 18103e4a. fixed Python & Java bindings accordingly. attn: bindings 2013-12-20 22:02:20 +08:00
629a6d8901 Rename arch.h -> module.h 2013-12-20 01:44:17 -06:00
0b6ea044ff Move cs_option dispatch into arch specific 2013-12-19 23:07:26 -06:00
2b19296439 Fix indentation problem 2013-12-19 22:40:28 -06:00
34d49d935b Support compilation of individual arch 2013-12-19 12:10:24 -06:00
1bdb23a76d add CS_OPT_MODE option. this allows us to change engine's mode at run-time 2013-12-20 00:04:26 +08:00