diff options
| -rw-r--r-- | miasm2/jitter/llvmconvert.py | 5 |
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) |