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 | f2e2a5ff04e13720cec0c130c1d88d81d0ae6007 (patch) | |
tree | d8a06360956446e828600dd653fd69aa5ecdddc4 /include | |
parent | 90e3e3a429e75a7d3671afcc30ed376b6186fd58 (diff) | |
download | llvm-f2e2a5ff04e13720cec0c130c1d88d81d0ae6007.tar.gz llvm-f2e2a5ff04e13720cec0c130c1d88d81d0ae6007.tar.bz2 llvm-f2e2a5ff04e13720cec0c130c1d88d81d0ae6007.tar.xz |
macho-dump: Add support for dumping string table data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120217 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Object/MachOObject.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/llvm/Object/MachOObject.h b/include/llvm/Object/MachOObject.h index 53c7abf34a..836e5491d2 100644 --- a/include/llvm/Object/MachOObject.h +++ b/include/llvm/Object/MachOObject.h @@ -13,6 +13,7 @@ #include <string> #include "llvm/ADT/InMemoryStruct.h" #include "llvm/ADT/OwningPtr.h" +#include "llvm/ADT/StringRef.h" #include "llvm/Object/MachOFormat.h" namespace llvm { @@ -59,6 +60,8 @@ private: bool Is64Bit; /// Whether the object is swapped endianness from the host. bool IsSwappedEndian; + /// Whether the string table has been registered. + bool HasStringTable; /// The cached information on the load commands. LoadCommandInfo *LoadCommands; @@ -68,6 +71,9 @@ private: macho::Header Header; macho::Header64Ext Header64Ext; + /// Cache string table information. + StringRef StringTable; + private: MachOObject(MemoryBuffer *Buffer, bool IsLittleEndian, bool Is64Bit); @@ -97,6 +103,17 @@ public: } /// @} + /// @name String Table Data + /// @{ + + StringRef getStringTableData() const { + assert(HasStringTable && "String table has not been registered!"); + return StringTable; + } + + void RegisterStringTable(macho::SymtabLoadCommand &SLC); + + /// @} /// @name Object Header Access /// @{ |