about summary refs log tree commit diff stats
path: root/miasm2/jitter/llvmconvert.py
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2017-04-18 16:03:04 +0200
committerCamille Mougey <commial@gmail.com>2017-04-18 16:03:04 +0200
commit2580f884fcbaaf29ae235f0f10d5ed62f6ffdf22 (patch)
tree9c77991accffe970a7bca66128f6b13334e03905 /miasm2/jitter/llvmconvert.py
parent66914aadcef60d590468f39a44d710aa28b0b772 (diff)
downloadmiasm-2580f884fcbaaf29ae235f0f10d5ed62f6ffdf22.tar.gz
miasm-2580f884fcbaaf29ae235f0f10d5ed62f6ffdf22.zip
Jitter: fix symb cache name (#525)
Diffstat (limited to '')
-rw-r--r--miasm2/jitter/llvmconvert.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/miasm2/jitter/llvmconvert.py b/miasm2/jitter/llvmconvert.py
index 85000935..b2e1e957 100644
--- a/miasm2/jitter/llvmconvert.py
+++ b/miasm2/jitter/llvmconvert.py
@@ -503,15 +503,19 @@ class LLVMFunction():
             var_casted = var
         self.builder.ret(var_casted)
 
-    def canonize_label_name(self, label):
+    @staticmethod
+    def canonize_label_name(label):
         """Canonize @label names to a common form.
         @label: str or asmlabel instance"""
         if isinstance(label, str):
             return label
-        elif isinstance(label, m2_asmblock.AsmLabel):
-            return "label_%s" % label.name
-        elif m2_asmblock.expr_is_label(label):
-            return "label_%s" % label.name.name
+        if m2_asmblock.expr_is_label(label):
+            label = label.name
+        if isinstance(label, m2_asmblock.AsmLabel):
+            if label.offset is None:
+                return "label_%s" % label.name
+            else:
+                return "label_%X" % label.offset
         else:
             raise ValueError("label must either be str or asmlabel")