aboutsummaryrefslogtreecommitdiff
path: root/lib/ExecutionEngine
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2010-08-17 16:19:18 +0000
committerNick Lewycky <nicholas@mxc.ca>2010-08-17 16:19:18 +0000
commit83a82ac0b4dc6ea6b3e56f9e239a113eb5be5f38 (patch)
treed637a7242e86af8211ab29a765916a50f1a60983 /lib/ExecutionEngine
parent73c32f60c41f5078d5b460e3e7c23e40ab7e3e55 (diff)
When creating a JIT, try to load the program so that we can resolve symbols
against it. This affects Windows. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111240 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine')
-rw-r--r--lib/ExecutionEngine/JIT/JIT.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/ExecutionEngine/JIT/JIT.cpp b/lib/ExecutionEngine/JIT/JIT.cpp
index 677feb21e1..63125b79c8 100644
--- a/lib/ExecutionEngine/JIT/JIT.cpp
+++ b/lib/ExecutionEngine/JIT/JIT.cpp
@@ -219,6 +219,9 @@ ExecutionEngine *JIT::createJIT(Module *M,
StringRef MArch,
StringRef MCPU,
const SmallVectorImpl<std::string>& MAttrs) {
+ // Try to register the program as a source of symbols to resolve against.
+ sys::DynamicLibrary::LoadLibraryPermanently(0, NULL);
+
// Pick a target either via -march or by guessing the native arch.
TargetMachine *TM = JIT::selectTarget(M, MArch, MCPU, MAttrs, ErrorStr);
if (!TM || (ErrorStr && ErrorStr->length() > 0)) return 0;