diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2010-11-27 13:46:11 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2010-11-27 13:46:11 +0000 |
| commit | 8680ce6ffc72ca133ad58409afe0362c58095784 (patch) | |
| tree | 8ac59552649846e6f26037ff81a837b3d3579d9e /llvm/lib/Object/MachOObject.cpp | |
| parent | 0ac77d526db7e094dbf50f5290032b4b9152c56f (diff) | |
| download | llvm-8680ce6ffc72ca133ad58409afe0362c58095784.zip llvm-8680ce6ffc72ca133ad58409afe0362c58095784.tar.gz llvm-8680ce6ffc72ca133ad58409afe0362c58095784.tar.bz2 | |
macho-dump: Add support for dumping string table data.
llvm-svn: 120217
Diffstat (limited to 'llvm/lib/Object/MachOObject.cpp')
| -rw-r--r-- | llvm/lib/Object/MachOObject.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/Object/MachOObject.cpp b/llvm/lib/Object/MachOObject.cpp index f5bc73a..45c9bff 100644 --- a/llvm/lib/Object/MachOObject.cpp +++ b/llvm/lib/Object/MachOObject.cpp @@ -57,7 +57,7 @@ MachOObject::MachOObject(MemoryBuffer *Buffer_, bool IsLittleEndian_, bool Is64Bit_) : Buffer(Buffer_), IsLittleEndian(IsLittleEndian_), Is64Bit(Is64Bit_), IsSwappedEndian(IsLittleEndian != sys::isLittleEndianHost()), - LoadCommands(0), NumLoadedCommands(0) { + HasStringTable(false), LoadCommands(0), NumLoadedCommands(0) { // Load the common header. memcpy(&Header, Buffer->getBuffer().data(), sizeof(Header)); if (IsSwappedEndian) { @@ -125,6 +125,12 @@ MachOObject *MachOObject::LoadFromBuffer(MemoryBuffer *Buffer, return Object.take(); } +void MachOObject::RegisterStringTable(macho::SymtabLoadCommand &SLC) { + HasStringTable = true; + StringTable = Buffer->getBuffer().substr(SLC.StringTableOffset, + SLC.StringTableSize); +} + const MachOObject::LoadCommandInfo & MachOObject::getLoadCommandInfo(unsigned Index) const { assert(Index < getHeader().NumLoadCommands && "Invalid index!"); |
