aboutsummaryrefslogtreecommitdiffstats
path: root/capstone/suite/synctools/README
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /capstone/suite/synctools/README
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'capstone/suite/synctools/README')
-rw-r--r--capstone/suite/synctools/README57
1 files changed, 57 insertions, 0 deletions
diff --git a/capstone/suite/synctools/README b/capstone/suite/synctools/README
new file mode 100644
index 000000000..61a0ec45d
--- /dev/null
+++ b/capstone/suite/synctools/README
@@ -0,0 +1,57 @@
+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 overwritting 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>/