4570 Commits

Author SHA1 Message Date
Finn Wilkinson
6d5a3b1a44 Updated AArch64 Instruction Printer to support new Armv9.2 instructions.
Implemented new functions present in LLVM 14.0.5 for any new instruction
type in Armv9.2; mainly SME / Matrix printing functions.

New set_sme_index function added (called from AArch64GenAsmWriter.inc)
to correctly add operands to new sme_index operand type. Doing_SME_Index
bool added to cs_struct to indicate when operands should be added to
sme_index type.

Functionality added to support SMSTART/SMSTOP aliases.
2022-09-30 16:34:09 +01:00
Finn Wilkinson
dfa8c60c91 Updated arm64.h to refelct changes to architecture in Armv9.2 and LLVM
14.0.5, and introduced new arm64 operand types.

New operand type for svcr MSR/MRS/SMSTART/SMSTOP instructions to
facilitate easier cstool printing.

New operand type for SME instructions with a matrix register that is
indexed.
2022-09-30 16:21:58 +01:00
Finn Wilkinson
222a8b4278 Updated AArch64 BaseInfo.h and Mapping.c to refelct Armv9.2 architectural changes and .inc file changes. 2022-09-30 16:14:37 +01:00
Finn Wilkinson
b60d0df0d8 Updated AArch64 Disassembler.
Added new decode functions, mainly for SME matrix operands and SVCR sys
register, as well as updating existing decode functions which have seen
changes in LLVM 14.0.5.

The _getInstruction function has also been updated to its LLVM 14.0.5
counterpart; with a new switch case for adding implicit operands to the
relevant SME instructions.
2022-09-30 16:07:07 +01:00
Finn Wilkinson
4a5e69f69e Generated new Armv9.2 AArch64 .inc files from LLVM 14.0.5 2022-09-30 15:51:03 +01:00
Finn Wilkinson
3ef5bb6b79 Updated synctool scripts to extract new functions and match type/formatting changes in LLVM 14.0.5 tablegen files.
- asmwriter.py : As well as new functions, recognition of new SME index printing was added. The printAliasInstr function also required a re-write to match its counter-part and changes in logic in LLVM 14.0.5
 - disassemblertables-arch.py : Minor type changes for some functions, as well as adding support for new SME decode functions.
 - mapping_insn-arch.py : Minor change to correct incorrect instruction aliasing in generated AArch64MappingInsn.inc etc.
 - registerinfo.py : minor change to reflect change in LLVM 14.0.5
 - systemoperand.py : corrected minor type changes made in LLVM 14.0.5 and added extraction of SVCR, BTI, DBnXS lists and encoding functions.
2022-09-30 15:34:50 +01:00
Finn Wilkinson
437a7fc469 Updated suite/synctools/.gitignore to ignore generated insn_list.txt file. 2022-09-30 15:27:36 +01:00
Finn Wilkinson
ed175c8b72 Changed AArch64 filegen order to resepct inter-file dependancies.
make arm64 needs to be performed before AArch64GenRegisterV.inc is generated.
2022-09-30 15:25:36 +01:00
Finn Wilkinson
e385fc5267 Updated synctools/tablegen/AArch64 files to LLVM 14.0.5. 2022-09-30 15:21:50 +01:00
Finn Wilkinson
62fee65c54 Updated include/llvm files in synctools to LLVM 14.0.5. 2022-09-30 13:43:09 +01:00
Wu ChenXu
3fd4712b0b Merge pull request #1886 from terorie/ebpf-callx 2022-06-09 21:37:40 +08:00
Wu ChenXu
82b2084279 Merge pull request #1885 from terorie/fix-ebpf-ld-class 2022-06-09 21:37:02 +08:00
Richard Patel
fb34475a1f Add eBPF callx instruction 2022-06-06 11:56:40 +02:00
Richard Patel
26999b6df5 Fix eBPF lddw opcode 2022-06-06 10:51:48 +02:00
Wu ChenXu
efa78c8c8e Merge pull request #1878 from hamarituc/pkgconfig
Fix pkg-config template
2022-05-05 18:56:34 +08:00
Wu ChenXu
845da4b2f4 Merge pull request #1877 from adamjseitz/aarch64-comprehensive-alias-vas 2022-05-02 15:37:33 +08:00
Mario Haustein
8479233b64 Fix pkg-config template 2022-04-30 13:06:30 +02:00
Adam Seitz
b27f3df27e Comprehensively add vas specifiers to ARM aliases 2022-04-29 13:49:52 -04:00
Adam Seitz
9998268b93 Fix AArch64InstPrinter indentation 2022-04-28 17:41:14 -04:00
Wu ChenXu
c52e5ae543 Merge pull request #1870 from theblackunknown/fix-install-pkgconfig 2022-04-16 12:15:21 +08:00
MACHIZAUD Andréa
72e16ccefe Merge branch 'next' into fix-install-pkgconfig 2022-04-15 11:17:20 +02:00
Wu ChenXu
5bdf6a3a76 Merge pull request #1867 from theblackunknown/cmake-config-next
Add `cstool` in CMake Package Config + CMake Github Workflow
2022-04-14 14:39:31 +08:00
MACHIZAUD Andréa
1aec01a715 Fix pkgconfig not installed when CAPSTONE_BUILD_CSTOOL is false 2022-04-13 11:39:30 +02:00
MACHIZAUD Andréa
61ed12c4f2 Merge cmake.yml into CITest.yml 2022-04-11 09:35:10 +02:00
MACHIZAUD Andréa
e16fd004cd CMake presets + simple CMake Workflow 2022-04-03 11:34:00 +02:00
MACHIZAUD Andréa
acb9c24b99 Add cstool to the capstone-targets 2022-04-03 11:33:47 +02:00
Wu ChenXu
c647eec6a3 Merge pull request #1860 from adamjseitz/aarch64-alias-vas-specifiers 2022-03-23 15:16:32 +08:00
Wu ChenXu
2bd6f00b53 Merge branch 'next' into aarch64-alias-vas-specifiers 2022-03-22 22:58:06 +08:00
Wu ChenXu
065317746d Merge pull request #1859 from adamjseitz/aarch64-sys-instruction-operands
AArch64 SYS instruction operands
2022-03-22 22:56:27 +08:00
Adam Seitz
82c6e17068 Add SYS ops test to cstest 2022-03-22 09:31:49 -04:00
Adam Seitz
42dedb6158 Add AArch64 mov VAS specifier tests to cstest
Add four tests to the cstest suite to validate issue #1843 does not
regress. Additionally, update the way VAS specifiers are printed so
that the correct operand is verified.
2022-03-22 09:23:55 -04:00
Adam Seitz
514ef89a87 Add regression tests for missing vas specifier 2022-03-21 13:31:37 -04:00
Adam Seitz
ee689c4512 Set .vas for aliased AArch64 instructions 2022-03-21 13:24:57 -04:00
Adam Seitz
50535d9477 Update test for all aarch64 sys operand variants 2022-03-18 14:15:46 -04:00
Adam Seitz
d729d88e87 Combine aarch64 sys operand enums 2022-03-18 14:15:46 -04:00
Adam Seitz
2465cb044f Add test for ARM64 sys operands 2022-03-18 13:20:51 -04:00
Adam Seitz
6687276cad Build SYS operand for AArch64 sys operations 2022-03-18 09:43:13 -04:00
David Zimmer
b81c64999b vb6 bindings: clarify license as Apache v2.0 (#1850) 2022-03-03 17:39:13 +08:00
Wu ChenXu
15cb0b686d Merge pull request #1847 from kabeor/next
update pkgconfig version
2022-02-28 23:40:52 +08:00
Wu ChenXu
c82e938045 Merge branch 'capstone-engine:next' into next 2022-02-28 23:40:32 +08:00
kabeor
9cd7470046 Merge branch 'next' of https://github.com/kabeor/capstone into next 2022-02-28 23:38:05 +08:00
kabeor
6dfa60661a update pkgconfig version 2022-02-28 23:37:10 +08:00
Nguyen Anh Quynh
240ce14f17 update pkgconfig.mk 2022-02-28 23:28:58 +08:00
Wu ChenXu
e695f690ef Merge pull request #1846 from kabeor/next
Update ChangeLog for v5.0.0-rc2
2022-02-28 22:14:14 +08:00
Wu ChenXu
a6afa9f5c2 Merge branch 'capstone-engine:next' into next 2022-02-28 22:13:50 +08:00
kabeor
e6aa4850cf Update ChangeLog for v5.0.0-rc2 2022-02-28 22:13:21 +08:00
Wu ChenXu
524e863ad1 Merge pull request #1840 from stevielavern/fix_ldr
Fix AArch64 ldapr detailed information #1839
2022-02-28 14:23:55 +08:00
Wu ChenXu
335571a618 Merge pull request #1845 from kabeor/next
fixed incorrect MI->ac_idx leading to wrong AArch64 InsnOp access printing
2022-02-28 14:23:32 +08:00
Wu ChenXu
ec07087ba8 Merge branch 'capstone-engine:next' into next 2022-02-28 14:06:01 +08:00
kabeor
f9bf1e9b20 add ldr operands access issue testcase 2022-02-28 14:02:57 +08:00