llvm-capstone
llvm-capstone copied to clipboard
Add LoongArch support
- Comment out unsupported code
- Fill in operands
See https://github.com/capstone-engine/capstone/pull/2349
I have rebased on top of auto-sync-18 branch and dropped LoongArch-specific changes under llvm/lib.
Using capstone next branch and llvm-capstone auto-sync-18 branch:
INFO:root:Generating Disassembler tables...
DEBUG:root:Generating CCS tables...
DEBUG:root:/home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/build/bin/llvm-tblgen --printerLang=CCS --gen-disassembler -I /home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/llvm/include -I /home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/llvm/lib/Target/LoongArch -o /home/jiegec/capstone/suite/auto-sync/build/llvm_c_inc/LoongArchGenDisassemblerTables.inc /home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/llvm/lib/Target/LoongArch/LoongArch.td
llvm-tblgen: Unknown command line argument '--printerLang=CCS'. Try: '/home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/build/bin/llvm-tblgen --help'
llvm-tblgen: Did you mean '--print-options=CCS'?
CRITICAL:root:Generation failed
Traceback (most recent call last):
File "/home/jiegec/capstone/suite/auto-sync/./src/autosync/ASUpdater.py", line 263, in <module>
Updater.update()
File "/home/jiegec/capstone/suite/auto-sync/./src/autosync/ASUpdater.py", line 141, in update
self.inc_generator.generate()
File "/home/jiegec/capstone/suite/auto-sync/src/autosync/IncGenerator.py", line 101, in generate
self.gen_incs()
File "/home/jiegec/capstone/suite/auto-sync/src/autosync/IncGenerator.py", line 177, in gen_incs
raise e
File "/home/jiegec/capstone/suite/auto-sync/src/autosync/IncGenerator.py", line 171, in gen_incs
subprocess.run(
File "/usr/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/build/bin/llvm-tblgen', '--printerLang=CCS', '--gen-disassembler', '-I', '/home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/llvm/include', '-I', '/home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/llvm/lib/Target/LoongArch', '-o', '/home/jiegec/capstone/suite/auto-sync/build/llvm_c_inc/LoongArchGenDisassemblerTables.inc', '/home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/llvm/lib/Target/LoongArch/LoongArch.td']' returned non-zero exit status 1.
Using capstone
nextbranch and llvm-capstoneauto-sync-18branch:INFO:root:Generating Disassembler tables... DEBUG:root:Generating CCS tables... DEBUG:root:/home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/build/bin/llvm-tblgen --printerLang=CCS --gen-disassembler -I /home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/llvm/include -I /home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/llvm/lib/Target/LoongArch -o /home/jiegec/capstone/suite/auto-sync/build/llvm_c_inc/LoongArchGenDisassemblerTables.inc /home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/llvm/lib/Target/LoongArch/LoongArch.td llvm-tblgen: Unknown command line argument '--printerLang=CCS'. Try: '/home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/build/bin/llvm-tblgen --help' llvm-tblgen: Did you mean '--print-options=CCS'? CRITICAL:root:Generation failed Traceback (most recent call last): File "/home/jiegec/capstone/suite/auto-sync/./src/autosync/ASUpdater.py", line 263, in <module> Updater.update() File "/home/jiegec/capstone/suite/auto-sync/./src/autosync/ASUpdater.py", line 141, in update self.inc_generator.generate() File "/home/jiegec/capstone/suite/auto-sync/src/autosync/IncGenerator.py", line 101, in generate self.gen_incs() File "/home/jiegec/capstone/suite/auto-sync/src/autosync/IncGenerator.py", line 177, in gen_incs raise e File "/home/jiegec/capstone/suite/auto-sync/src/autosync/IncGenerator.py", line 171, in gen_incs subprocess.run( File "/usr/lib/python3.11/subprocess.py", line 571, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['/home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/build/bin/llvm-tblgen', '--printerLang=CCS', '--gen-disassembler', '-I', '/home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/llvm/include', '-I', '/home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/llvm/lib/Target/LoongArch', '-o', '/home/jiegec/capstone/suite/auto-sync/build/llvm_c_inc/LoongArchGenDisassemblerTables.inc', '/home/jiegec/capstone/suite/auto-sync/vendor/llvm_root/llvm/lib/Target/LoongArch/LoongArch.td']' returned non-zero exit status 1.
Update: oh, I need to use auto-sync-18 from your repo, not capstone-engine.
Merged with https://github.com/capstone-engine/llvm-capstone/pull/45