Commit Graph

326 Commits

Author SHA1 Message Date
Nguyen Anh Quynh
baf70c9755 ppc: BDZLA is absolute branch. fix issue #968 2019-05-16 11:06:24 +08:00
Nguyen Anh Quynh
c12f4e4118 cstest: add tests for xacquire/xrelease xchg 2019-05-14 10:59:07 +08:00
Nguyen Anh Quynh
f3ca9a28b9 x86: recognize xrelease lock 2019-05-14 09:59:23 +08:00
Nguyen Anh Quynh
a1796341cb x86: recognize xacquire prefix. issue #1477 2019-05-13 22:27:05 +08:00
Nguyen Anh Quynh
709aba4789 ppc: add JUMP group for some branch instructions 2019-05-11 11:52:43 +08:00
Nguyen Anh Quynh
287987a8a1 ppc: fix target address of bdnz. issue #1468 2019-05-11 10:18:36 +08:00
Nguyen Anh Quynh
991c0c25bb synctools: udpate somes scripts 2019-05-10 16:51:23 +08:00
Nguyen Anh Quynh
946d55b781 synctools: fix genall-arch.sh for Arm & Arm64 2019-05-10 16:39:36 +08:00
Nguyen Anh Quynh
bb6b2c137e ppc: fix target address for bdnzt 2019-05-10 14:38:51 +08:00
Nguyen Anh Quynh
735d20db06 cstest: do not use CS_OPT_SYNTAX_NOREGNAME in ppc64-encoding.s.cs 2019-05-09 00:39:37 +08:00
Nguyen Anh Quynh
40cec60f5f ppc: fix suite/MC/PowerPC/ppc64-encoding.s.cs 2019-05-08 14:38:11 +08:00
Nguyen Anh Quynh
2a9e171e3c ppc: print condition register bits. issue #1469 2019-05-08 13:56:40 +08:00
Nguyen Anh Quynh
73eaa79974 Merge branch 'next' of github.com:aquynh/capstone into next 2019-05-07 16:31:48 +08:00
Nguyen Anh Quynh
d650028a63 ppc: add issue #1456 for B to issues.cs 2019-05-07 16:31:25 +08:00
Catena cyber
028054c569 Right endianness for ppc platforms (#1473)
* Right endianness for ppc platforms

* Right mode CS_MODE_64 for ppc
2019-05-07 15:12:23 +07:00
Nguyen Anh Quynh
2888e50d45 add suite/synctools 2019-05-07 12:26:19 +08:00
Nguyen Anh Quynh
d0f65d9756 x86: update tablegen to fix MOV CRx/DRx, TEST & LOCK prefix in #1456 & #1472 2019-05-06 17:28:37 +08:00
Nguyen Anh Quynh
f2f3829f27 x86: handle MOV CRx/DRx & LOCK prefix in issues #1456 & #1472 2019-05-06 16:18:45 +08:00
Nguyen Anh Quynh
055b02dbd9 x86: lock adc is valid. issue #1472 2019-05-06 12:44:09 +08:00
Nguyen Anh Quynh
b543c345ca ppc: sync with llvm 7.0.1 2019-04-30 13:50:42 +08:00
Nguyen Anh Quynh
3613aa37d9 MC: fix intel-syntax-encoding.s.cs 2019-04-17 23:01:07 +08:00
Nguyen Anh Quynh
59c9de846d MC: fix intel-syntax-encoding.s.cs 2019-04-17 22:52:02 +08:00
Nguyen Anh Quynh
663e5fcee9 x86: fix xmmword ptr issue in #1456 (TODO: better fix) 2019-04-17 20:39:21 +08:00
Nguyen Anh Quynh
0b6e474a79 cstest: Thub mode for pkhtb test 2019-04-17 01:51:17 +08:00
Nguyen Anh Quynh
a259e427c3 cstest: fix wfi.ww, wfe.ww, yield.ww & nop.ww in basic-thumb2-instructions.s.cs 2019-04-17 01:14:00 +08:00
Nguyen Anh Quynh
aea9c3ea89 MC: remove EIZ in x86-32-avx.s.cs 2019-04-17 00:00:42 +08:00
Nguyen Anh Quynh
6202c7e13c cstest: add EIZ test in #1456 2019-04-16 23:39:52 +08:00
Nguyen Anh Quynh
55b149f60a arm: alias LDR [sp], 4 to POP 2019-04-16 00:01:54 +08:00
Nguyen Anh Quynh
88d5c390eb arm: fix the missing third operand of LSR - issue #1456 2019-04-15 07:47:04 +08:00
Nguyen Anh Quynh
d7a74bbbeb fuzz: refactor platforms.inc to platform.c 2019-04-13 15:22:20 +08:00
Nguyen Anh Quynh
d95736bc9d fuzz: add fuzz_decode_platform.c 2019-04-13 11:11:58 +08:00
Nguyen Anh Quynh
c2261ee7fd fuzz: add platform.h 2019-04-13 10:54:09 +08:00
Nguyen Anh Quynh
2b24d9a8ea fuzz: put platforms[] in fuzz_disasm.c to platforms.inc, to be shared later 2019-04-13 10:51:17 +08:00
Nguyen Anh Quynh
8cbf967f67 arm64: fix imm of MOV instruction. issue 1456 2019-04-12 23:33:49 +08:00
Nguyen Anh Quynh
99d00fee14 x86: fix ATT syntax print immediate < 9 for MOV - issue #1456 2019-04-12 23:15:20 +08:00
radare
9fe37bba5c Add missing comma (#1458) 2019-04-12 01:15:11 +08:00
Nguyen Anh Quynh
1eda32dbaa cstest: add RCR issue to issues.cs 2019-04-12 00:41:43 +08:00
Nguyen Anh Quynh
f3d3db1e45 cstest: add issue #1454 2019-04-11 01:32:14 +08:00
Nguyen Anh Quynh
48cd47e4eb x86: fix BOUND instruction in issue #1456 2019-04-11 01:24:43 +08:00
Nguyen Anh Quynh
4754471262 merge next-arm64 to next 2019-04-10 17:46:07 +08:00
Nguyen Anh Quynh
e0f960e3e7 arm64: some bug fixes 2019-04-10 17:24:56 +08:00
Nguyen Anh Quynh
f407e94249 arm64: sync with LLVM 7.0.1 2019-04-10 14:17:08 +08:00
Wolfgang Schwotzer
23b3fba966 M680X: Use same output style as other archs (#1439)
- Lowercase hex numbers.
- Use comma + space between instruction parameters.
2019-03-22 11:07:15 +08:00
Yudi Zheng
1e0c800a0d Add test cases related to issue #1211. (#1438) 2019-03-21 22:54:11 +08:00
Catena cyber
a014ff0cb6 Fuzz QPX mode for PPC (#1431) 2019-03-19 09:07:30 +08:00
Nguyen Anh Quynh
e48ebc18b1 cstest: temporarily disable issue 913 2019-03-16 17:11:39 +08:00
Nguyen Anh Quynh
5417858895 MC: fix heading of fpv8.c.cs to make fuzzer happy 2019-03-16 15:42:21 +08:00
Nguyen Anh Quynh
eb4dcfb214 arm: sync with llvm 7.0.1 2019-03-16 15:22:15 +08:00
Catena cyber
f1618c78ce Corpus generation is more robust (#1419) 2019-03-11 13:12:54 +08:00
z
b8fcf27b22 RISCV support ISRV32/ISRV64 (#1401)
* Added RISCV dir to contain the RISCV architecture engine code. Adding the TableGen files generated from llvm-tblgen. Add Disassembler.h

* Started working on RISCVDisassembler.c - RISCV_init(), RISCVDisassembler_getInstruction, and RISCV_getInstruction

* Added all functions to RISCVDisassembler.c and needed modifications to RISCVGenDisassemblerTables.inc. Add and modified RISCVGenSubtargetInfo.inc. Start creation of RISCVInstPrinter.h

* Finished RISCVGenAsmWriter.inc. Finished RISCVGenRegisterInfo.inc. Minor fixes to RISCVDisassembler.c. Working on RISCVInstPrinter

* Finished RISCVInstPrinter, RISCVMapping, RISCVBaseInfo, RISCVGenInstrInfo.inc, RISCVModule.c. Working on riscv.h

* Backport it from: 0db412ce3b

* All RISCV files added. Compiled correctly and initial test for ADD, ADDI, AND works properly.

* Add refactored cs.c for RISCV

* Testing all I instructions in test_riscv.c

* Modify the orignal backport for RISCVGenRegisterInfo.inc, capstone.h and test_iter to work w/ the current code strcuture

* Fix issue with RISCVGenRegisterInfo.inc - RISCVRegDesc[] (Excess elements in struct initializer). Added RISCV tests to test_iter.c

* fixed bug related to incorrect initialization of memory after malloc

* fix compile bug

* Fix compile errors.

* move riscv.h to include/capstone

* fix indentation issues

* fix coding style issues

* Fix indentation issues

* fix coding style

* Move variable declaration to the top of the block

* Fix coding indentation

* Move some stuff into RISCVMappingInsn.inc

* Fix code sytle

* remove cs_mode support for RISCV

* update asmwriter-inc to LLVM upstream

* update the .inc files to riscv upstream

* update riscv disassembler function for suport 16bit instructions

* update printer & tablegen inc files which have fixed arguments mismatch

* update headers and mapping source

* add riscv architecture specific test code

* fix all RISCV tons of compiler errors

* pass final tests

* add riscv tablegen patchs

* merge with upstream/next

* fix cstool missing riscv file

* fix root Makefile

* add new TableGen patchs for riscv

* fix cmakefile.txt of missing one riscv file

* fix declaration conflict

* fix incompatible declaration type

* change riscvc from arch to mode

* fix test_riscv warnning

* fix code style and add riscv part of test_basic

* add RISCV64 mode

* add suite for riscv

* crack fuzz test

* fix getfeaturebits test add riscvc

* fix test missing const qualifier warnning

* fix testcase type mismatch

* fix return value missing

* change getfeaturebits test

* add test cs files

* using a winder type contain the decode string

* fix a copy typo

* remove useless mode for riscv

* change cs file blank type

* add repo for update_riscv & fix cstool missing riscv mode

* fix typo

* add riscv for cstool useage

* add TableGen patch for riscv asmwriter

* clean ctags file

* remove black comment line

* fix fuzz related something

* fix missing RISCV string of fuzz

* update readme, etc..

* add riscv *.s.cs file

* add riscv *.s.cs file & clear ctags

* clear useless array declarations at capstone_test

* update to 5e4069f

* update readme change name more formal

* change position of riscv after bpf and modify copyright more uniform

* clear useless ctags file

* change blank with tab in riscv.h

* add riscv python bindings

* add riscv in __init__.py

* fix riscv define value for python binding

* fix test_riscv.py typo

* add missing riscvc in __init__.py of python bindings

* fix alias-insn printer bug, remove useless newline

* change inst print delimter from tab to bankspace for travis

* add riscv tablegen patch

* fix inst output more consistency

* add TableGen patch which fix inst output formal

* crack the effective address output for detail and change register print function

* fix not detail crash bug

* change item declaration position at cs_riscv

* update riscv.py

* change function name more meaningfull

* update python binding makefile

* fix register enum sequence according to riscvgenreginfo.inc

* test function name

* add enum s0/fp in riscv.h & update riscv_const.py

* add register name enum
2019-03-09 08:41:12 +08:00