about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAjax <commial@gmail.com>2018-07-24 12:49:43 +0200
committerAjax <commial@gmail.com>2018-07-24 12:53:58 +0200
commit23873e1eed4524056d659bfdf44f8e17ee8f41ce (patch)
treed6cde8e8bea6d094237567ae586572ec45160f76
parent2a7182fd88a60a3757dc82421055252bbc0862ca (diff)
downloadmiasm-23873e1eed4524056d659bfdf44f8e17ee8f41ce.tar.gz
miasm-23873e1eed4524056d659bfdf44f8e17ee8f41ce.zip
LLVMConvert: fix multiple function addition for cntlead
-rw-r--r--miasm2/jitter/llvmconvert.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/miasm2/jitter/llvmconvert.py b/miasm2/jitter/llvmconvert.py
index 49c696e9..4a0eae93 100644
--- a/miasm2/jitter/llvmconvert.py
+++ b/miasm2/jitter/llvmconvert.py
@@ -821,7 +821,10 @@ class LLVMFunction():
                     "ret": LLVMType.IntType(expr.size),
                     "args": [LLVMType.IntType(expr.args[0].size)]
                 }}
-                self.llvm_context.add_fc(func_sig, readonly=True)
+                try:
+                    self.mod.get_global(func_llvm_name)
+                except KeyError:
+                    self.llvm_context.add_fc(func_sig, readonly=True)
                 ret = builder.call(self.mod.get_global(func_llvm_name),
                                    [arg])
                 self.update_cache(expr, ret)