about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--miasm/arch/aarch64/sem.py1
-rw-r--r--miasm/core/asmblock.py5
-rw-r--r--test/analysis/unssa.py1
-rw-r--r--test/expression/simplifications.py7
4 files changed, 12 insertions, 2 deletions
diff --git a/miasm/arch/aarch64/sem.py b/miasm/arch/aarch64/sem.py
index e7db4782..e9088bde 100644
--- a/miasm/arch/aarch64/sem.py
+++ b/miasm/arch/aarch64/sem.py
@@ -1502,3 +1502,4 @@ class ir_aarch64b(ir_aarch64l):
         self.pc = PC
         self.sp = SP
         self.IRDst = ExprId('IRDst', 64)
+        self.addrsize = 64
diff --git a/miasm/core/asmblock.py b/miasm/core/asmblock.py
index 7f3265e0..9b07686f 100644
--- a/miasm/core/asmblock.py
+++ b/miasm/core/asmblock.py
@@ -1570,7 +1570,7 @@ class disasmEngine(object):
         warnings.warn('DEPRECATION WARNING: use "dis_block" instead of "dis_bloc"')
         return self.dis_block(offset)
 
-    def dis_multiblock(self, offset, blocks=None):
+    def dis_multiblock(self, offset, blocks=None, job_done=None):
         """Disassemble every block reachable from @offset regarding
         specific disasmEngine conditions
         Return an AsmCFG instance containing disassembled blocks
@@ -1579,7 +1579,8 @@ class disasmEngine(object):
                 merge with
         """
         log_asmblock.info("dis block all")
-        job_done = set()
+        if job_done is None:
+            job_done = set()
         if blocks is None:
             blocks = AsmCFG(self.loc_db)
         todo = [offset]
diff --git a/test/analysis/unssa.py b/test/analysis/unssa.py
index 55ceac9e..2bfe9254 100644
--- a/test/analysis/unssa.py
+++ b/test/analysis/unssa.py
@@ -82,6 +82,7 @@ class IRATest(ira):
         super(IRATest, self).__init__(arch, 32, loc_db)
         self.IRDst = IRDst
         self.ret_reg = r
+        self.addrsize = 32
 
     def get_out_regs(self, xx):
         out = set()
diff --git a/test/expression/simplifications.py b/test/expression/simplifications.py
index e0b666da..de059075 100644
--- a/test/expression/simplifications.py
+++ b/test/expression/simplifications.py
@@ -515,6 +515,13 @@ to_test = [
         ExprOp(TOK_EQUAL, a , i3)
     ),
 
+
+    (
+        ExprOp(TOK_EQUAL, ExprOp("^", a, b, i2), i1),
+        ExprOp(TOK_EQUAL, a^b , i3)
+    ),
+
+
     (ExprOp(TOK_INF_SIGNED, i1, i2), ExprInt(1, 1)),
     (ExprOp(TOK_INF_UNSIGNED, i1, i2), ExprInt(1, 1)),
     (ExprOp(TOK_INF_EQUAL_SIGNED, i1, i2), ExprInt(1, 1)),