]> gitweb.factorcode.org Git - factor.git/commitdiff
tools.disassembler.capstone: adding arm64
authorJohn Benediktsson <mrjbq7@gmail.com>
Tue, 12 Sep 2023 01:32:27 +0000 (18:32 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 12 Sep 2023 01:32:27 +0000 (18:32 -0700)
basis/tools/disassembler/capstone/capstone.factor

index 7e5c15e4445b41a85c848a0be618d36f5839e5d3..2f4090c3f5dee497f1d536948051ff9461106323 100644 (file)
@@ -118,8 +118,11 @@ DESTRUCTOR: cs_close
     { int int } [ cs_version drop ] with-out-parameters ;
 
 : <csh> ( -- csh )
-    CS_ARCH_X86 64-bit? CS_MODE_64 CS_MODE_32 ? 0 csh <ref>
-    [ cs_open CS_ERR_OK assert= ] keep ;
+    cpu {
+        { x86.32 [ CS_ARCH_X86 CS_MODE_32 ] }
+        { x86.64 [ CS_ARCH_X86 CS_MODE_64 ] }
+        { arm.64 [ CS_ARCH_ARM64 CS_MODE_ARM ] }
+    } case 0 csh <ref> [ cs_open CS_ERR_OK assert= ] keep ;
 
 : with-csh ( ..a quot: ( ..a csh -- ..b ) -- ..b )
     '[ <csh> &cs_close @ ] with-destructors ; inline