diff options
| -rw-r--r-- | miasm/arch/aarch64/sem.py | 1 | ||||
| -rw-r--r-- | miasm/core/asmblock.py | 5 | ||||
| -rw-r--r-- | test/analysis/unssa.py | 1 | ||||
| -rw-r--r-- | test/expression/simplifications.py | 7 |
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)), |