summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/ExecutionEngine/MCJIT/remote/stubs-remote.ll3
-rw-r--r--test/ExecutionEngine/MCJIT/remote/stubs-sm-pic.ll3
-rw-r--r--tools/lli/RemoteMemoryManager.h2
-rw-r--r--tools/lli/lli.cpp12
4 files changed, 11 insertions, 9 deletions
diff --git a/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll b/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll
index 99c2fe57f6..97932bc389 100644
--- a/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll
+++ b/test/ExecutionEngine/MCJIT/remote/stubs-remote.ll
@@ -1,5 +1,6 @@
; RUN: %lli_mcjit -remote-mcjit -disable-lazy-compilation=false -mcjit-remote-process=lli-child-target %s
-; XFAIL: mips
+; XFAIL: *
+; This test should fail until remote symbol resolution is supported.
define i32 @main() nounwind {
entry:
diff --git a/test/ExecutionEngine/MCJIT/remote/stubs-sm-pic.ll b/test/ExecutionEngine/MCJIT/remote/stubs-sm-pic.ll
index 42e9d77e56..88faf21adb 100644
--- a/test/ExecutionEngine/MCJIT/remote/stubs-sm-pic.ll
+++ b/test/ExecutionEngine/MCJIT/remote/stubs-sm-pic.ll
@@ -1,5 +1,6 @@
; RUN: %lli_mcjit -remote-mcjit -disable-lazy-compilation=false -relocation-model=pic -code-model=small %s
-; XFAIL: mips, i686, i386, aarch64, arm
+; XFAIL: *
+; This function should fail until remote symbol resolution is supported.
define i32 @main() nounwind {
entry:
diff --git a/tools/lli/RemoteMemoryManager.h b/tools/lli/RemoteMemoryManager.h
index eabe042fff..16d0a808b9 100644
--- a/tools/lli/RemoteMemoryManager.h
+++ b/tools/lli/RemoteMemoryManager.h
@@ -78,7 +78,7 @@ public:
// interface does support this, but clients must provide their own
// mechanism for finding remote symbol addresses. MCJIT will resolve
// symbols from Modules it contains.
- uint64_t getSymbolAddress(const std::string &Name) {}
+ uint64_t getSymbolAddress(const std::string &Name) { return 0; }
void notifyObjectLoaded(ExecutionEngine *EE, const ObjectImage *Obj);
diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp
index 5578a1da31..7117707691 100644
--- a/tools/lli/lli.cpp
+++ b/tools/lli/lli.cpp
@@ -398,18 +398,18 @@ int main(int argc, char **argv, char * const *envp) {
return -1;
}
- // If the program doesn't explicitly call exit, we will need the Exit
- // function later on to make an explicit call, so get the function now.
- Constant *Exit = Mod->getOrInsertFunction("exit", Type::getVoidTy(Context),
- Type::getInt32Ty(Context),
- NULL);
-
// Reset errno to zero on entry to main.
errno = 0;
int Result;
if (!RemoteMCJIT) {
+ // If the program doesn't explicitly call exit, we will need the Exit
+ // function later on to make an explicit call, so get the function now.
+ Constant *Exit = Mod->getOrInsertFunction("exit", Type::getVoidTy(Context),
+ Type::getInt32Ty(Context),
+ NULL);
+
// Run static constructors.
if (UseMCJIT && !ForceInterpreter) {
// Give MCJIT a chance to apply relocations and set page permissions.