aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Object/ObjectFile.h
diff options
context:
space:
mode:
authorEli Bendersky <eli.bendersky@intel.com>2012-01-22 09:01:03 +0000
committerEli Bendersky <eli.bendersky@intel.com>2012-01-22 09:01:03 +0000
commit24973c1063bfb7ac353732a4e8eb801830336c5f (patch)
treea88cf6f0f24e0cac2b40062ec74ef433932958a0 /include/llvm/Object/ObjectFile.h
parent76463fdeb603e1d89b05f094bfd6fe73b90d0b61 (diff)
downloadexternal_llvm-24973c1063bfb7ac353732a4e8eb801830336c5f.zip
external_llvm-24973c1063bfb7ac353732a4e8eb801830336c5f.tar.gz
external_llvm-24973c1063bfb7ac353732a4e8eb801830336c5f.tar.bz2
Basic runtime dynamic loading capabilities added to ELFObjectFile, implemented
in a subclass named DyldELFObject. This class supports rebasing the object file it represents by re-mapping section addresses to the actual memory addresses the object was placed in. This is required for MC-JIT implementation on ELF with debugging support. Patch reviewed on llvm-commits. Developed together with Ashok Thirumurthi and Andrew Kaylor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148653 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Object/ObjectFile.h')
-rw-r--r--include/llvm/Object/ObjectFile.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/llvm/Object/ObjectFile.h b/include/llvm/Object/ObjectFile.h
index 29b7077..e38c8c8 100644
--- a/include/llvm/Object/ObjectFile.h
+++ b/include/llvm/Object/ObjectFile.h
@@ -20,6 +20,7 @@
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MemoryBuffer.h"
#include <cstring>
+#include <vector>
namespace llvm {
namespace object {
@@ -337,7 +338,8 @@ public:
public:
static ObjectFile *createCOFFObjectFile(MemoryBuffer *Object);
- static ObjectFile *createELFObjectFile(MemoryBuffer *Object);
+ static ObjectFile *createELFObjectFile(MemoryBuffer *Object,
+ bool doDyld = false, std::vector<uint8_t*> *MemoryMap = 0);
static ObjectFile *createMachOObjectFile(MemoryBuffer *Object);
};