diff options
author | Jim Grosbach <grosbach@apple.com> | 2011-04-06 01:11:05 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2011-04-06 01:11:05 +0000 |
commit | c41ab789a052d7a8a4eacecfa1edd4af0d933990 (patch) | |
tree | 86b3c9b4438faa431f612324ecbfa189da4d612f /tools | |
parent | 2009c49a0b3fdd70e1c40e0297a4f9140759e318 (diff) | |
download | external_llvm-c41ab789a052d7a8a4eacecfa1edd4af0d933990.zip external_llvm-c41ab789a052d7a8a4eacecfa1edd4af0d933990.tar.gz external_llvm-c41ab789a052d7a8a4eacecfa1edd4af0d933990.tar.bz2 |
RuntimeDyld should use the memory manager API.
Start teaching the runtime Dyld interface to use the memory manager API
for allocating space. Rather than mapping directly into the MachO object,
we extract the payload for each object and copy it into a dedicated buffer
allocated via the memory manager. For now, just do Segment64, so this works
on x86_64, but not yet on ARM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128973 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r-- | tools/llvm-rtdyld/llvm-rtdyld.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/tools/llvm-rtdyld/llvm-rtdyld.cpp b/tools/llvm-rtdyld/llvm-rtdyld.cpp index e09f14a..ddd6683 100644 --- a/tools/llvm-rtdyld/llvm-rtdyld.cpp +++ b/tools/llvm-rtdyld/llvm-rtdyld.cpp @@ -44,14 +44,14 @@ Action(cl::desc("Action to perform:"), // support library allocation routines directly. class TrivialMemoryManager : public RTDyldMemoryManager { public: - uint64_t startFunctionBody(const char *Name, uintptr_t &Size); - void endFunctionBody(const char *Name, uint64_t FunctionStart, - uint64_t FunctionEnd) {} + uint8_t *startFunctionBody(const char *Name, uintptr_t &Size); + void endFunctionBody(const char *Name, uint8_t *FunctionStart, + uint8_t *FunctionEnd) {} }; -uint64_t TrivialMemoryManager::startFunctionBody(const char *Name, +uint8_t *TrivialMemoryManager::startFunctionBody(const char *Name, uintptr_t &Size) { - return (uint64_t)sys::Memory::AllocateRWX(Size, 0, 0).base(); + return (uint8_t*)sys::Memory::AllocateRWX(Size, 0, 0).base(); } static const char *ProgramName; |