mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-17 05:25:47 +00:00
macho-dump: Add support for dumping symtab and dysymtab commands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120204 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -188,3 +188,45 @@ void MachOObject::ReadSegment64LoadCommand(const LoadCommandInfo &LCI,
|
||||
InMemoryStruct<macho::Segment64LoadCommand> &Res) const {
|
||||
ReadInMemoryStruct(*this, Buffer->getBuffer(), LCI.Offset, Res);
|
||||
}
|
||||
|
||||
template<>
|
||||
static void SwapStruct(macho::SymtabLoadCommand &Value) {
|
||||
SwapValue(Value.Type);
|
||||
SwapValue(Value.Size);
|
||||
SwapValue(Value.SymbolTableOffset);
|
||||
SwapValue(Value.NumSymbolTableEntries);
|
||||
SwapValue(Value.StringTableOffset);
|
||||
SwapValue(Value.StringTableSize);
|
||||
}
|
||||
void MachOObject::ReadSymtabLoadCommand(const LoadCommandInfo &LCI,
|
||||
InMemoryStruct<macho::SymtabLoadCommand> &Res) const {
|
||||
ReadInMemoryStruct(*this, Buffer->getBuffer(), LCI.Offset, Res);
|
||||
}
|
||||
|
||||
template<>
|
||||
static void SwapStruct(macho::DysymtabLoadCommand &Value) {
|
||||
SwapValue(Value.Type);
|
||||
SwapValue(Value.Size);
|
||||
SwapValue(Value.LocalSymbolIndex);
|
||||
SwapValue(Value.NumLocalSymbols);
|
||||
SwapValue(Value.ExternalSymbolsIndex);
|
||||
SwapValue(Value.NumExternalSymbols);
|
||||
SwapValue(Value.UndefinedSymbolsIndex);
|
||||
SwapValue(Value.NumUndefinedSymbols);
|
||||
SwapValue(Value.TOCOffset);
|
||||
SwapValue(Value.NumTOCEntries);
|
||||
SwapValue(Value.ModuleTableOffset);
|
||||
SwapValue(Value.NumModuleTableEntries);
|
||||
SwapValue(Value.ReferenceSymbolTableOffset);
|
||||
SwapValue(Value.NumReferencedSymbolTableEntries);
|
||||
SwapValue(Value.IndirectSymbolTableOffset);
|
||||
SwapValue(Value.NumIndirectSymbolTableEntries);
|
||||
SwapValue(Value.ExternalRelocationTableOffset);
|
||||
SwapValue(Value.NumExternalRelocationTableEntries);
|
||||
SwapValue(Value.LocalRelocationTableOffset);
|
||||
SwapValue(Value.NumLocalRelocationTableEntries);
|
||||
}
|
||||
void MachOObject::ReadDysymtabLoadCommand(const LoadCommandInfo &LCI,
|
||||
InMemoryStruct<macho::DysymtabLoadCommand> &Res) const {
|
||||
ReadInMemoryStruct(*this, Buffer->getBuffer(), LCI.Offset, Res);
|
||||
}
|
||||
|
Reference in New Issue
Block a user