about summary refs log tree commit diff stats
path: root/miasm2/analysis/disasm_cb.py
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2014-09-05 11:30:05 +0200
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2014-09-05 11:30:05 +0200
commit6e09df71a333bf87cd68c2d08ad068a3e501462d (patch)
tree7d76e0626e61ef5a9f15c62358337674fb0095aa /miasm2/analysis/disasm_cb.py
parente8d0fcf8d28d82a8f33138d044f335634ac3a30c (diff)
downloadfocaccia-miasm-6e09df71a333bf87cd68c2d08ad068a3e501462d.tar.gz
focaccia-miasm-6e09df71a333bf87cd68c2d08ad068a3e501462d.zip
Modify irbloc destination mecanism. Rework API in consequence.
Fat patch here: some API have changed.

Each irbloc now affects a special "IRDst" register which is used to
describe the destination irbloc. It allows simple description of
architectures using delay slots. Architectures semantic and tcc/python
jitter are modified in consequence. LLVM jitter is disabled for now,
but should be patch soon.
Diffstat (limited to 'miasm2/analysis/disasm_cb.py')
-rw-r--r--miasm2/analysis/disasm_cb.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/miasm2/analysis/disasm_cb.py b/miasm2/analysis/disasm_cb.py
index 4b4832f8..d205d4eb 100644
--- a/miasm2/analysis/disasm_cb.py
+++ b/miasm2/analysis/disasm_cb.py
@@ -26,12 +26,12 @@ def arm_guess_subcall(
     ira = get_ira(mnemo, attrib)
 
     sp = asm_symbol_pool()
-    my_ir = ira(sp)
+    ir_arch = ira(sp)
     print '###'
     print cur_bloc
-    my_ir.add_bloc(cur_bloc)
+    ir_arch.add_bloc(cur_bloc)
 
-    ir_blocs = my_ir.blocs.values()
+    ir_blocs = ir_arch.blocs.values()
     # flow_graph = DiGraph()
     to_add = set()
     for irb in ir_blocs:
@@ -41,7 +41,7 @@ def arm_guess_subcall(
         lr_val = None
         for exprs in irb.irs:
             for e in exprs:
-                if e.dst == my_ir.pc:
+                if e.dst == ir_arch.pc:
                     pc_val = e.src
                 if e.dst == mnemo.regs.LR:
                     lr_val = e.src
@@ -75,10 +75,10 @@ def arm_guess_jump_table(
     jrb = ExprId('jrb')
 
     sp = asm_symbol_pool()
-    my_ir = ira(sp)
-    my_ir.add_bloc(cur_bloc)
+    ir_arch = ira(sp)
+    ir_arch.add_bloc(cur_bloc)
 
-    ir_blocs = my_ir.blocs.values()
+    ir_blocs = ir_arch.blocs.values()
     for irb in ir_blocs:
         # print 'X'*40
         # print irb
@@ -86,7 +86,7 @@ def arm_guess_jump_table(
         # lr_val = None
         for exprs in irb.irs:
             for e in exprs:
-                if e.dst == my_ir.pc:
+                if e.dst == ir_arch.pc:
                     pc_val = e.src
                 # if e.dst == mnemo.regs.LR:
                 #    lr_val = e.src