forked from OSchip/llvm-project
Remove last use of InMemoryStruct in llvm-objdump.
llvm-svn: 178979
This commit is contained in:
parent
b47a69acde
commit
b7b11f7bac
|
@ -113,6 +113,13 @@ namespace MachOFormat {
|
|||
support::ulittle32_t NumSections;
|
||||
support::ulittle32_t Flags;
|
||||
};
|
||||
|
||||
struct LinkeditDataLoadCommand {
|
||||
support::ulittle32_t Type;
|
||||
support::ulittle32_t Size;
|
||||
support::ulittle32_t DataOffset;
|
||||
support::ulittle32_t DataSize;
|
||||
};
|
||||
}
|
||||
|
||||
typedef MachOObject::LoadCommandInfo LoadCommandInfo;
|
||||
|
@ -145,6 +152,9 @@ public:
|
|||
ArrayRef<char> getSectionRawName(DataRefImpl Sec) const;
|
||||
ArrayRef<char>getSectionRawFinalSegmentName(DataRefImpl Sec) const;
|
||||
|
||||
const MachOFormat::LinkeditDataLoadCommand *
|
||||
getLinkeditDataLoadCommand(LoadCommandInfo LCI) const;
|
||||
|
||||
MachOObject *getObject() { return MachOObj.get(); }
|
||||
|
||||
static inline bool classof(const Binary *v) {
|
||||
|
|
|
@ -75,6 +75,14 @@ MachOObjectFile::getSegmentLoadCommand(LoadCommandInfo LCI) const {
|
|||
return reinterpret_cast<const MachOFormat::SegmentLoadCommand*>(Data.data());
|
||||
}
|
||||
|
||||
const MachOFormat::LinkeditDataLoadCommand *
|
||||
MachOObjectFile::getLinkeditDataLoadCommand(LoadCommandInfo LCI) const {
|
||||
StringRef Data = MachOObj->getData(LCI.Offset,
|
||||
sizeof(MachOFormat::LinkeditDataLoadCommand));
|
||||
return
|
||||
reinterpret_cast<const MachOFormat::LinkeditDataLoadCommand*>(Data.data());
|
||||
}
|
||||
|
||||
const MachOFormat::Segment64LoadCommand *
|
||||
MachOObjectFile::getSegment64LoadCommand(LoadCommandInfo LCI) const {
|
||||
StringRef Data = MachOObj->getData(LCI.Offset,
|
||||
|
|
|
@ -223,8 +223,8 @@ static void getSectionsAndSymbols(const macho::Header &Header,
|
|||
if (LCI.Command.Type == macho::LCT_FunctionStarts) {
|
||||
// We found a function starts segment, parse the addresses for later
|
||||
// consumption.
|
||||
InMemoryStruct<macho::LinkeditDataLoadCommand> LLC;
|
||||
MachOObj->getObject()->ReadLinkeditDataLoadCommand(LCI, LLC);
|
||||
const MachOFormat::LinkeditDataLoadCommand *LLC =
|
||||
MachOObj->getLinkeditDataLoadCommand(LCI);
|
||||
|
||||
MachOObj->getObject()->ReadULEB128s(LLC->DataOffset, FoundFns);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue