diff options
author | Eli Bendersky <eli.bendersky@intel.com> | 2012-01-22 09:01:03 +0000 |
---|---|---|
committer | Eli Bendersky <eli.bendersky@intel.com> | 2012-01-22 09:01:03 +0000 |
commit | 24973c1063bfb7ac353732a4e8eb801830336c5f (patch) | |
tree | a88cf6f0f24e0cac2b40062ec74ef433932958a0 /include/llvm/Object/ObjectFile.h | |
parent | 76463fdeb603e1d89b05f094bfd6fe73b90d0b61 (diff) | |
download | external_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.h | 4 |
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); }; |