about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-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)