Kaizen/external/capstone/suite/synctools
2024-09-23 19:06:48 +02:00
..
strinforeduce Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
tablegen Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
.gitignore Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
asmwriter.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
compare_mapping_insn.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
disassemblertables-arch.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
disassemblertables.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
disassemblertables2.c Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
disassemblertables_reduce.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
genall-arch.sh Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
genall-full.sh Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
genall-reduce.sh Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
insn.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
insn3.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
insn_check.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
instrinfo-arch.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
instrinfo.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
Makefile Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
mapping_insn-arch.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
mapping_insn.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
mapping_insn_name-arch.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
mapping_insn_name.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
mapping_insn_op-arch.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
mapping_insn_op.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
mapping_reg.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
README Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
register.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
registerinfo.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
subtargetinfo.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
systemoperand.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
systemregister.py Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00
X86DisassemblerDecoderCommon.h Merge commit '352a52804df5b9f475d19d3fa8f567c1bf98b8ac' as 'external/capstone' 2024-09-23 19:06:48 +02:00

Sync tools to port LLVM inc files to Capstone.

For X86
=======
0. cd tablegen/, then follow its README.

1. Run genall-{full|reduce}.sh, then copy generated .inc files to arch/<ARCH>/ directory

    $ ./genall-full.sh tablegen ~/projects/tmp/capstone777.git/arch/X86
    $ ./genall-reduce.sh tablegen ~/projects/tmp/capstone777.git/arch/X86

2. Run disassemblertables_reduce2 & disassemblertables_reduce2 to generate optimized (index table) X86GenDisassemblerTables2.inc & X86GenDisassemblerTables_reduce2.inc

    # use 2x name to avoid overwriting X86GenDisassemblerTables2.inc & X86GenDisassemblerTables_reduce2.inc

    $ make
    $ ./disassemblertables2 > X86GenDisassemblerTables2x.inc
    $ ./disassemblertables_reduce2 > X86GenDisassemblerTables_reduce2x.inc

3. cd strinforeduce/, and follow its README.

4. Copy all generated .inc files to arch/X86/

    $ cp X86GenAsmWriter_reduce.inc ~/projects/capstone.git/arch/X86
    $ cp X86GenAsmWriter1_reduce.inc ~/projects/capstone.git/arch/X86
    $ cp X86MappingInsnName_reduce.inc ~/projects/capstone.git/arch/X86
    $ cp X86MappingInsn_reduce.inc ~/projects/capstone.git/arch/X86
    $ cp X86MappingInsnOp_reduce.inc ~/projects/capstone.git/arch/X86
    $ cp X86GenInstrInfo_reduce.inc ~/projects/capstone.git/arch/X86
    $ cp X86GenDisassemblerTables_reduce.inc ~/projects/capstone.git/arch/X86
    $ cp X86GenDisassemblerTables_reduce2x.inc ~/projects/capstone.git/arch/X86/X86GenDisassemblerTables_reduce2.inc

    $ cp X86GenAsmWriter.inc ~/projects/capstone.git/arch/X86
    $ cp X86GenAsmWriter1.inc ~/projects/capstone.git/arch/X86
    $ cp X86MappingInsnName.inc ~/projects/capstone.git/arch/X86
    $ cp X86MappingInsn.inc ~/projects/capstone.git/arch/X86
    $ cp X86MappingInsnOp.inc ~/projects/capstone.git/arch/X86
    $ cp X86GenInstrInfo.inc ~/projects/capstone.git/arch/X86
    $ cp X86GenDisassemblerTables.inc ~/projects/capstone.git/arch/X86
    $ cp X86GenDisassemblerTables2x.inc ~/projects/capstone.git/arch/X86/X86GenDisassemblerTables2.inc

5. copy insn_list.txt to include/capstone/<arch.h>

For non-X86
===========

0. cd tablegen/, then follow its README.

	1. Run gen-tablegen-arch.sh

2. Run genall-arch.sh

   ./genall-arch.sh tablegen ~/projects/capstone.git/arch/ARM ARM
   ./genall-arch.sh tablegen ~/projects/capstone.git/arch/ARM AArch64
   ./genall-arch.sh tablegen ~/projects/capstone.git/arch/ARM PowerPC

3. Copy generated *.inc files to arch/<arch>/