diff options
Diffstat (limited to 'tools/lli/RemoteTarget.cpp')
-rw-r--r-- | tools/lli/RemoteTarget.cpp | 39 |
1 files changed, 9 insertions, 30 deletions
diff --git a/tools/lli/RemoteTarget.cpp b/tools/lli/RemoteTarget.cpp index 5c74e6e..55fc064 100644 --- a/tools/lli/RemoteTarget.cpp +++ b/tools/lli/RemoteTarget.cpp @@ -13,7 +13,6 @@ //===----------------------------------------------------------------------===// #include "RemoteTarget.h" -#include "RemoteTargetExternal.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/DataTypes.h" #include "llvm/Support/Memory.h" @@ -22,28 +21,6 @@ using namespace llvm; -// Static methods -RemoteTarget *RemoteTarget::createRemoteTarget() { - return new RemoteTarget; -} - -RemoteTarget *RemoteTarget::createExternalRemoteTarget(std::string &ChildName) { -#ifdef LLVM_ON_UNIX - return new RemoteTargetExternal(ChildName); -#else - return 0; -#endif -} - -bool RemoteTarget::hostSupportsExternalRemoteTarget() { -#ifdef LLVM_ON_UNIX - return true; -#else - return false; -#endif -} - - //////////////////////////////////////////////////////////////////////////////// // Simulated remote execution // @@ -56,34 +33,36 @@ bool RemoteTarget::allocateSpace(size_t Size, unsigned Alignment, sys::MemoryBlock *Prev = Allocations.size() ? &Allocations.back() : NULL; sys::MemoryBlock Mem = sys::Memory::AllocateRWX(Size, Prev, &ErrorMsg); if (Mem.base() == NULL) - return true; + return false; if ((uintptr_t)Mem.base() % Alignment) { ErrorMsg = "unable to allocate sufficiently aligned memory"; - return true; + return false; } Address = reinterpret_cast<uint64_t>(Mem.base()); - return false; + Allocations.push_back(Mem); + return true; } bool RemoteTarget::loadData(uint64_t Address, const void *Data, size_t Size) { memcpy ((void*)Address, Data, Size); - return false; + return true; } bool RemoteTarget::loadCode(uint64_t Address, const void *Data, size_t Size) { memcpy ((void*)Address, Data, Size); sys::MemoryBlock Mem((void*)Address, Size); sys::Memory::setExecutable(Mem, &ErrorMsg); - return false; + return true; } bool RemoteTarget::executeCode(uint64_t Address, int &RetVal) { int (*fn)(void) = (int(*)(void))Address; RetVal = fn(); - return false; + return true; } -void RemoteTarget::create() { +bool RemoteTarget::create() { + return true; } void RemoteTarget::stop() { |