mirror of
https://github.com/capstone-engine/capstone.git
synced 2024-10-07 02:43:23 +00:00
9daa1ffbac
* Refactor HPPA * Add full HPPA 1.1 instructions support * Add HPPA 1.1 cs tests * Fix HPPA dissassembler * Add HPPA 2.0 instructions * Add HPPA tests * Fix HPPA disasm & printer * Update HPPA tests * Remove unused code * Add implicit register access info & Refactor HPPA main files * Add python bindings/tests and cstests * Fix HPPA disasm wrong decoding * Rewrite invalid test cases * Update HPPA python constants * Make HPPA python test executable * Change HPPA python tests sequence to match c tests * Refactor HPPA main files * Write target instead of offset in details * Add HPPA detail function support in cstest * Rewrite targets in branch tests * Make correct string modifier addition * Add hppa test calls * Add zero operands check * Remove MCOperand array * Change immediate values printing * Add HPPA 2.0 wide support * Fix invalid break instruction decode Remove unused code * Add HPPA to fuzzing tests * Add HPPA to options * Add HPPA to docs * Refactor HPPA * Fix invalid branch insn decoding * Add HPPA to labeler * clang-format hppa files * Document internal structures and minor refactoring * Add missing default statements * Fix invalid default statement
86 lines
1.7 KiB
C
86 lines
1.7 KiB
C
/*
|
|
Retrieve architectures compiled in Capstone.
|
|
By Nguyen Anh Quynh, 2019.
|
|
|
|
Compile this code with:
|
|
$ cc -o capstone_get_setup capstone_get_setup.c -lcapstone
|
|
|
|
On default Capstone build, this code prints out the below output:
|
|
|
|
$ capstone_get_setup
|
|
x86=1 arm=1 arm64=1 mips=1 ppc=1 sparc=1 sysz=1 xcore=1 m68k=1 tms320c64x=1 m680x=1 evm=1 wasm=1 mos65xx=1 bpf=1
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <capstone/capstone.h>
|
|
|
|
int main()
|
|
{
|
|
if (cs_support(CS_ARCH_X86)) {
|
|
printf("x86=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_ARM)) {
|
|
printf("arm=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_AARCH64)) {
|
|
printf("arm64=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_MIPS)) {
|
|
printf("mips=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_PPC)) {
|
|
printf("ppc=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_SPARC)) {
|
|
printf("sparc=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_SYSZ)) {
|
|
printf("sysz=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_XCORE)) {
|
|
printf("xcore=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_M68K)) {
|
|
printf("m68k=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_TMS320C64X)) {
|
|
printf("tms320c64x=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_M680X)) {
|
|
printf("m680x=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_EVM)) {
|
|
printf("evm=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_WASM)) {
|
|
printf("wasm=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_MOS65XX)) {
|
|
printf("mos65xx=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_BPF)) {
|
|
printf("bpf=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_RISCV)) {
|
|
printf("riscv=1 ");
|
|
}
|
|
if (cs_support(CS_SUPPORT_DIET)) {
|
|
printf("diet=1 ");
|
|
}
|
|
if (cs_support(CS_SUPPORT_X86_REDUCE)) {
|
|
printf("x86_reduce=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_TRICORE)) {
|
|
printf("tricore=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_ALPHA)) {
|
|
printf("alpha=1 ");
|
|
}
|
|
if (cs_support(CS_ARCH_HPPA)) {
|
|
printf("hppa=1 ");
|
|
}
|
|
printf("\n");
|
|
|
|
return 0;
|
|
}
|