Commit Graph

68 Commits

Author SHA1 Message Date
Nguyen Anh Quynh 76b94cba23 switch endian mode with cs_option() for Arm/Arm64/Mips/Sparc. fix issue #849 2017-02-01 11:19:00 +08:00
Satoshi Tanda c7b00b3756 suppress MSVC code analysis (PREfast) warnings
Signed-off-by: Satoshi Tanda <tanda.sat@gmail.com>
2016-09-28 07:33:39 -07:00
tandasat e36384e224 Merge remote-tracking branch 'upstream/next' into next 2016-05-11 22:52:34 -07:00
tandasat d4ef430b33 port Windows driver support 2016-05-11 21:48:32 -07:00
Nguyen Anh Quynh 977e893bc2 sparc: fix target address of CALL instruction. issue #653 2016-04-27 11:15:23 +08:00
Koutheir Attouchi 9f2070748c Added support for building binaries for Windows CE 7 on ARMv7 (a.k.a., Windows Embedded Compact 7) and for Windows CE 8 on ARMv7 (a.k.a., Windows Embedded Compact 2013).
Added support for building binaries for Windows CE 7 on ARMv7 (a.k.a., Windows Embedded Compact 7) and for Windows CE 8 on ARMv7 (a.k.a., Windows Embedded Compact 2013).

Added support for building binaries for Windows CE 7 on ARMv7 (a.k.a., Windows Embedded Compact 7) and for Windows CE 8 on ARMv7 (a.k.a., Windows Embedded Compact 2013).

Replaced header inclusions of "stdint.h" and "intrin.h" by selective inclusions to support platforms that do not provide those headers. The header "platform.h" handles the platform test.
Updated the build script for Windows CE 7 on ARMv7.
2016-04-07 17:05:00 +02:00
Nguyen Anh Quynh 0088d2a318 sparc: fix POPC instruction. issue reported by @zonkzonk & @pancake 2015-08-13 19:13:40 +08:00
Nguyen Anh Quynh 1182d25759 simplify ARCH_group_name() by using lookup table as suggested by @learn_more. also added the missing group name for GRP_PRIVILEGE 2015-04-27 12:13:34 +08:00
NighterMan 72ee3c9b15 sparc: Improved displacement decoding for banching instructions 2015-04-14 10:00:22 +08:00
Cr4sh 19ee2d10b3 inttypes.h fix 2015-03-29 21:16:38 +08:00
Nguyen Anh Quynh efffe787d1 Add new API and start to provide access information for instruction operands
- New API cs_regs_access() that provide registers being read & modified by instruction

- New field cs_x86_op.access provides access info (READ, WRITE) for each operand

- New field cs_x86.eflags provides EFLAGS affected by instruction

- Extend cs_detail.{regs_read, regs_write} from uint8_t to uint16_t type
2015-03-25 15:02:13 +08:00
Nguyen Anh Quynh fcde1e190a Merge branch 'next' of https://github.com/aquynh/capstone into next 2015-03-11 10:28:49 +08:00
pancake 21b0bdd0e1 Fix indent issue 2015-03-11 00:40:14 +01:00
Nguyen Anh Quynh a7837a4ae3 sparc, systemz, xcore: getInstruction() should return boolean instead of DecodeStatus 2015-03-10 15:20:20 +08:00
Nguyen Anh Quynh 037e01f942 core: remove unused Subregister indices for Sparc, PPC, SystemZ & Mips 2015-03-09 21:36:02 +08:00
Nguyen Anh Quynh bb5dccedfa core: put insns[] into separate .inc files to make it easier to manage 2015-03-08 10:54:32 +08:00
Nguyen Anh Quynh bfcaba5851 2015 2015-03-04 17:45:23 +08:00
Nguyen Anh Quynh 2f2e8e2f0b sparc: upgrade core 2015-03-04 12:13:25 +08:00
Nguyen Anh Quynh c87ccd1b89 mips: fix bugs in the last update 2015-03-02 17:31:44 +08:00
pancake 9c10ace558 Make pkg-config and source consistent with installation 2015-02-24 05:03:04 +01:00
Nguyen Anh Quynh 273c6f4a9e arm64 & sparc: fix some warnings reported by MSVC 2015-01-13 14:33:09 +08:00
Nguyen Anh Quynh b6f4c1da05 sparc: add missing ICC/XCC registers in operands[] for some alias instructions. bug reported by @pancake 2014-11-11 07:02:13 +08:00
Nguyen Anh Quynh 1caeee48aa sparc: absolute address for Bxx instructions. issue reported by @pancake 2014-11-10 23:38:48 +08:00
Nguyen Anh Quynh e16813d8e8 sparc: get absolute address for CALL. issue reported by @pancake 2014-11-10 22:20:00 +08:00
Nguyen Anh Quynh c2ea812ea7 fix cs_group_name() after the change on generic group ids 2014-10-31 15:36:19 +08:00
Nguyen Anh Quynh d7e42b7d36 rename all the constants marking ending from _MAX to _ENDING. this also updates Java/Python/Ocaml bindings accordingly 2014-09-29 17:15:25 +08:00
Yegor Derevenets ced9d24e35 Workaround missing <inttypes.h> on MSVC 2010 2014-09-21 17:27:11 +02:00
Nguyen Anh Quynh 1738a3e6bf sparc: handle some alias instructions & more details for some special instructions. update Python & Java bindings accordingly with new instructions & registers 2014-09-17 00:01:04 +08:00
Nguyen Anh Quynh 0c07cc9b06 zero-out instruction details, mnemonic & op_str so cs_insn doesnt have garbage in Diet mode 2014-08-27 22:31:54 +08:00
Nguyen Anh Quynh 4c95022c74 fix warnings on unused variables when compiling in Diet mode 2014-08-27 18:33:38 +08:00
Mr. eXoDia 9be1f93f88 fixed warnings in MSVC x64 compilation 2014-08-26 23:51:12 +08:00
Nguyen Anh Quynh 4b6b15fcb1 fix more MSVC warnings 2014-08-26 15:57:04 +08:00
Nguyen Anh Quynh 14b684e07d last commit missed a check 2014-08-25 23:45:52 +08:00
Nguyen Anh Quynh b1e87e3e31 arm, mips, ppc, spac, x86: printAliasInstr() should handle \t (besides space) as separate char between mnemonic & operands 2014-08-25 23:27:33 +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 159ddbd99f ppc: add new groups to group_name_maps[] 2014-08-15 16:35:12 +08:00
Nguyen Anh Quynh 5d8067822b Merge branch 'next' of https://github.com/flyingsymbols/capstone into arm 2014-07-31 15:36:13 +08:00
flyingsymbols 298d413bbc * added a test file to suite for testing invalid and valid instruction sequences
* fixed and added a test for a thumb-2 invalid sequence that was incorrectly allowed before these changes (pop.w with sp argument included)
* fixed and added a test for a blx from thumb to ARM that had its immediate argument incorrect (misaligned)

* eliminated some warnings by explicitly casting so I could turn on
  treat warnings as errors locally

General notes:
*  probably worth turning on treat all warnings as errors in the msvc project files, had a subtle bug that resulted from a missing declaration causing differences in dll and static compilation modes

( code was working incorrectly in dll form because of missing declaration in arch/ARM/ARMMapping.h for new function ARM_blx_to_arm_mode. Something about the linking was confusing ld when making the dll, and the resulting offsets were wonky (e.g. the added ble test would show up as #0x1fc instead of #0x1fe like it should have )

* the invalid pop was being treated as a soft fail which then gets coerced
  to a success because it is != MCDisassembler_Fail in Thumb_getInstruction
  what are the semantics of a soft fail? Maybe we should be able to set up
  whether or not we want a soft fail to be a real fail in the csh struct?
2014-07-15 04:33:40 -04:00
Nguyen Anh Quynh 55cd996add sparc: initialize detail->sparc in Sparc_getInstruction. bug reported by Ben Nagy 2014-07-09 13:08:17 +08:00
Nguyen Anh Quynh e1fc8a83ba sparc: initialize detail->sparc in Sparc_getInstruction. bug reported by Ben Nagy 2014-07-09 13:07:45 +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 cae09bf543 replace offset_of with offsetof from stddef.h 2014-06-17 14:58:39 +08:00
Nguyen Anh Quynh 3d3b6cec01 sparc: use CreateImm0() & CreateReg0() to create MCOperand* to avoid using malloc/free 2014-06-16 12:57:02 +08:00
Nguyen Anh Quynh 9b91de0ae3 sparc: use SStream_concat0() instead of SStream_concat() for simple string processing whenever possible 2014-06-16 12:51:07 +08:00
Nguyen Anh Quynh 69582d71ae initialize cs_insn.detail by properly zero-out right members for each arch 2014-06-09 17:50:01 +07: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 04f2ec6d0f cleanup redundant headers included 2014-05-27 10:39:04 +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
Nguyen Anh Quynh 6456481508 x86: add immediate operand (1) for SHL/SHR/ROR/ROL/SAR/SAL in detail mode & Intel syntax 2014-05-19 16:46:31 +08:00
Nguyen Anh Quynh c5cad6cab3 avoid using stdbool.h to support compilers without C99 support 2014-05-15 21:40:24 +08:00