diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-04-07 18:08:12 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-04-07 18:08:12 +0000 |
commit | 77638d9110d67333e4ea8e6bd3206606a89bc24f (patch) | |
tree | 7954b4487960e6217a6c77e91870b40d19f9d890 /include/llvm/Object | |
parent | f305127f0b46d0782f53c8aeab448f9dfeb769ec (diff) |
Add MachOObjectFile::LoadCommandInfo.
This avoids using MachOObject::getLoadCommandInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178990 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Object')
-rw-r--r-- | include/llvm/Object/MachO.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/include/llvm/Object/MachO.h b/include/llvm/Object/MachO.h index 9bd591a540..8b3539a3e1 100644 --- a/include/llvm/Object/MachO.h +++ b/include/llvm/Object/MachO.h @@ -77,6 +77,11 @@ namespace MachOFormat { support::ulittle64_t Value; }; + struct LoadCommand { + support::ulittle32_t Type; + support::ulittle32_t Size; + }; + struct SymtabLoadCommand { support::ulittle32_t Type; support::ulittle32_t Size; @@ -122,10 +127,16 @@ namespace MachOFormat { }; } -typedef MachOObject::LoadCommandInfo LoadCommandInfo; - class MachOObjectFile : public ObjectFile { public: + struct LoadCommandInfo { + /// The load command information. + const MachOFormat::LoadCommand *Command; + + /// The offset to the start of the load command in memory. + uint64_t Offset; + }; + MachOObjectFile(MemoryBuffer *Object, error_code &ec); virtual symbol_iterator begin_symbols() const; @@ -161,7 +172,7 @@ public: const MachOFormat::SymbolTableEntry * getSymbolTableEntry(DataRefImpl DRI) const; bool is64Bit() const; - const LoadCommandInfo &getLoadCommandInfo(unsigned Index) const; + LoadCommandInfo getLoadCommandInfo(unsigned Index) const; void ReadULEB128s(uint64_t Index, SmallVectorImpl<uint64_t> &Out) const; const macho::Header &getHeader() const; |