Commit Graph

40 Commits

Author SHA1 Message Date
Nguyen Anh Quynh afffa5d741 merge next to master 2018-07-20 12:36:50 +08:00
Catena cyber 2b054af693 Use printint functions from SStream (#1165)
in perticular, not to overflow -INT_MIN
2018-06-06 06:31:53 +08:00
Richard Henderson 22ead3e0bf Constify backend data (#1040)
* Constify string literals

Use -Wwrite-strings to force string literals to be of
type "const char[]", then fix up all warning fallout.

* Constify common infrastructure

Step one in allowing backend data to be readonly.
Minimal changes to backends for now; just set all pointers
in common structs that aren't modified to const.

* Constify AArch64 backend

Section size changes within libcapstone.so are

-.rodata               602587
-.data.rel.ro          228416
-.data                1003746
+.rodata               769051
+.data.rel.ro          241120
+.data                 824578

* Constify ARM backend

Section size changes within libcapstone.so are

-.rodata               769051
-.data.rel.ro          241120
-.data                 824578
+.rodata               959835
+.data.rel.ro          245120
+.data                 629506

* Constify Mips backend

Section size changes within libcapstone.so are

-.rodata               959835
-.data.rel.ro          245120
-.data                 629506
+.rodata              1069851
+.data.rel.ro          256416
+.data                 508194

* Constify PowerPC backend

Section size changes within libcapstone.so are

-.rodata              1069851
-.data.rel.ro          256416
-.data                 508194
+.rodata              1142715
+.data.rel.ro          272224
+.data                 419490

* Constify Sparc backend

Section size changes within libcapstone.so are

-.rodata              1142715
-.data.rel.ro          272224
-.data                 419490
+.rodata              1175227
+.data.rel.ro          277536
+.data                 381666

* Constify SystemZ backend

Section size changes within libcapstone.so are

-.rodata              1175227
-.data.rel.ro          277536
-.data                 381666
+.rodata              1221883
+.data.rel.ro          278016
+.data                 334498

* Constify X86 backend

Section size changes within libcapstone.so are

-.rodata              1221883
-.data.rel.ro          278016
-.data                 334498
+.rodata              1533531
+.data.rel.ro          281184
+.data                  19714

* Constify XCore backend

Section size changes within libcapstone.so are

-.rodata              1533531
-.data.rel.ro          281184
-.data                  19714
+.rodata              1553026
+.data.rel.ro          281280
+.data                     40
2017-10-22 08:45:40 +08:00
tandasat 45e5eab646 port Windows driver support 2016-05-11 21:48:32 -07:00
Nguyen Anh Quynh b158b93a7d remove myinttypes.h 2016-04-26 09:47:30 +08:00
Cr4sh 19ee2d10b3 inttypes.h fix 2015-03-29 21:16:38 +08:00
Cr4sh 9d60607645 inttypes.h fix 2015-03-29 18:29:06 +08:00
Nguyen Anh Quynh 3c626fbb98 mips: add register operands when detail = ON in the newly added function printRegisterList() 2015-03-07 13:56:41 +08:00
Nguyen Anh Quynh c87ccd1b89 mips: fix bugs in the last update 2015-03-02 17:31:44 +08:00
Nguyen Anh Quynh cfe18ad7ca mips: update core 2015-03-02 15:12:42 +08:00
Nguyen Anh Quynh 22278ec937 mips & xcore: some safety guards to make sure printOperand() do not overflow Operands[] for some unknown reasons 2014-11-17 22:59:24 +08:00
Marcin Bukat 921a46c38f mips: Fix j/jal target address calculation 2014-11-12 11:06:34 +01:00
Nguyen Anh Quynh df92a7f346 mips: BC0F is relative branch instruction. bug reported by Pancake 2014-10-01 21:25:18 +08:00
Nguyen Anh Quynh 7ac7d4e245 mips: on BEQZL, printAlias() should return instruction string. also cleanup some redundant code 2014-09-24 22:29:03 +08:00
Nguyen Anh Quynh 240e1c75be mips: print absolute target address for relative branch instructions: BEQL, BGEZALL, BGEZL, BGTZL, BLEZL, BLTZALL, BLTZL, BNEL, BNEZL, BEQZL, BC1F, BC1FL, BC1TL 2014-09-24 18:16:23 +08:00
Yegor Derevenets ced9d24e35 Workaround missing <inttypes.h> on MSVC 2010 2014-09-21 17:27:11 +02:00
Nguyen Anh Quynh eda85064ee mips: add BC1T & BLTZAL to the list of relative branch instructions. thanks @hlide for the input. 2014-08-29 09:58:07 +08:00
Nguyen Anh Quynh d1a9090eab mips: relative branch address calculated current IP added to the relative offset. thanks Pancake, Jay Oster, hlide & jvoisin for helping 2014-08-28 11:36:57 +08:00
Nguyen Anh Quynh 0c764d4a70 mips: use SStream_concat0() instead of SStream_concat() for simple string processing whenever possible 2014-06-16 11:53:08 +08:00
Nguyen Anh Quynh 29fd0f6405 fix all the code in other non-X86 archs after the change made by commit 5329a6ffd4 2014-06-09 08:00:18 +07:00
Nguyen Anh Quynh 8598a219f3 enable arch code from source with CAPSTONE_HAS_* for MSVC to pick up 2014-05-14 11:26:41 +08:00
Nguyen Anh Quynh 017df604dc arm64, mips, x86: print -9, not -0x9 2014-03-20 15:38:51 +08:00
Nguyen Anh Quynh 74c41ebb1d mips: simplify handling alias insn 2014-02-18 17:57:06 +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 a9ffb440f8 replace strdup() with our cs_strdup(), which call cs_mem_malloc() internally 2014-01-15 18:27:01 +08:00
Nguyen Anh Quynh 75ef2426ea mips: update core 2014-01-14 23:08:20 +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 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
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 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 42c6b1acc7 initial support for PPC 2013-12-30 00:15:25 +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 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 7013f4c53d mips: print negative immediate when it is negative 2013-12-15 18:53:32 +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 a4c16a6fd5 mips: print immediate under 10 without prefix 0x 2013-12-13 12:05:40 +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 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 26ee41aa67 initial import 2013-11-27 12:11:31 +08:00