diff options
| author | serpilliere <serpilliere@users.noreply.github.com> | 2017-04-18 16:03:04 +0200 |
|---|---|---|
| committer | Camille Mougey <commial@gmail.com> | 2017-04-18 16:03:04 +0200 |
| commit | 2580f884fcbaaf29ae235f0f10d5ed62f6ffdf22 (patch) | |
| tree | 9c77991accffe970a7bca66128f6b13334e03905 /miasm2/jitter/llvmconvert.py | |
| parent | 66914aadcef60d590468f39a44d710aa28b0b772 (diff) | |
| download | miasm-2580f884fcbaaf29ae235f0f10d5ed62f6ffdf22.tar.gz miasm-2580f884fcbaaf29ae235f0f10d5ed62f6ffdf22.zip | |
Jitter: fix symb cache name (#525)
Diffstat (limited to '')
| -rw-r--r-- | miasm2/jitter/llvmconvert.py | 14 |
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") |