about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAjax <commial@gmail.com>2017-06-27 12:27:30 +0200
committerAjax <commial@gmail.com>2017-06-27 12:27:30 +0200
commit5520569d1c6d969fecd968557fd2251e9d1399ee (patch)
treeda64c057fe3cb03f0a5b06a98341f5fa4dd5fdd4
parent9a493fc14c4e5d1931c06194d919b1765326c71f (diff)
downloadmiasm-5520569d1c6d969fecd968557fd2251e9d1399ee.tar.gz
miasm-5520569d1c6d969fecd968557fd2251e9d1399ee.zip
LLVM: load libLLVM for custom LLVM builtins
Diffstat (limited to '')
-rw-r--r--miasm2/jitter/llvmconvert.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/miasm2/jitter/llvmconvert.py b/miasm2/jitter/llvmconvert.py
index 5a7853a6..cf6dea31 100644
--- a/miasm2/jitter/llvmconvert.py
+++ b/miasm2/jitter/llvmconvert.py
@@ -140,6 +140,20 @@ class LLVMContext_JIT(LLVMContext):
         self.vmcpu = {}
 
     def load_libraries(self):
+        # Get LLVM specific functions
+        name = "libLLVM-%d.%d" % (llvm.llvm_version_info[0],
+                                  llvm.llvm_version_info[1],
+        )
+        try:
+            # On Windows, no need to add ".dll"
+            self.add_shared_library(name)
+        except RuntimeError:
+            try:
+                # On Linux, ".so" is needed
+                self.add_shared_library("%s.so" % name)
+            except RuntimeError:
+                pass
+
         # Load additional libraries
         for lib_fname in self.library_filenames:
             self.add_shared_library(lib_fname)