about summary refs log tree commit diff stats
path: root/example
diff options
context:
space:
mode:
Diffstat (limited to 'example')
-rw-r--r--example/expression/get_read_write.py11
-rw-r--r--example/ida/graph_ir.py4
-rw-r--r--example/ida/utils.py2
3 files changed, 11 insertions, 6 deletions
diff --git a/example/expression/get_read_write.py b/example/expression/get_read_write.py
index b4a0773b..d107cfa2 100644
--- a/example/expression/get_read_write.py
+++ b/example/expression/get_read_write.py
@@ -16,12 +16,13 @@ l.offset, l.l = 0, 15
 ir_arch.add_instr(l)
 
 print '*' * 80
-for lbl, irblock in ir_arch.blocks.items():
+for lbl, irblock in ir_arch.blocks.iteritems():
     print irblock
     for assignblk in irblock:
-        o_r, o_w = get_rw(assignblk)
-        print 'read:   ', [str(x) for x in o_r]
-        print 'written:', [str(x) for x in o_w]
-        print
+        rw = assignblk.get_rw()
+        for dst, reads in rw.iteritems():
+            print 'read:   ', [str(x) for x in reads]
+            print 'written:', dst
+            print
 
 open('graph_instr.dot', 'w').write(ir_arch.graph.dot())
diff --git a/example/ida/graph_ir.py b/example/ida/graph_ir.py
index 7e303aac..6dfa1f7d 100644
--- a/example/ida/graph_ir.py
+++ b/example/ida/graph_ir.py
@@ -121,6 +121,10 @@ def build_graph(verbose=False, simplify=False):
         # print hex(ad), repr(name)
         if name is None:
             continue
+        if (mdis.symbol_pool.getby_offset(addr) or
+            mdis.symbol_pool.getby_name(name)):
+            # Symbol alias
+            continue
         mdis.symbol_pool.add_label(name, addr)
 
     if verbose:
diff --git a/example/ida/utils.py b/example/ida/utils.py
index 585d86a9..e026f2fc 100644
--- a/example/ida/utils.py
+++ b/example/ida/utils.py
@@ -40,7 +40,7 @@ def guess_machine():
                         (False, 64, False): "aarch64l",
                         }
         is_armt = globals().get('armt', False)
-        is_bigendian = globals().get('bigendian', False)
+        is_bigendian = info.is_be()
         infos = (is_armt, size, is_bigendian)
         if not infos in info2machine:
             raise NotImplementedError('not fully functional')