summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-04-06 01:11:05 +0000
committerJim Grosbach <grosbach@apple.com>2011-04-06 01:11:05 +0000
commit23de2437bd2d7cb6cc60bf6b6e94c807bba634d2 (patch)
treeba886c89676d26fe0bdceab10c9a5e76a90a0b71 /llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
parent14a3333cb356d0afc69c352c22ff4d8ee1096de3 (diff)
downloadbcm5719-llvm-23de2437bd2d7cb6cc60bf6b6e94c807bba634d2.tar.gz
bcm5719-llvm-23de2437bd2d7cb6cc60bf6b6e94c807bba634d2.zip
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. llvm-svn: 128973
Diffstat (limited to 'llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp')
-rw-r--r--llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp b/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
index e09f14ad784..ddd6683a2f2 100644
--- a/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
+++ b/llvm/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;
OpenPOWER on IntegriCloud