From: Rafael Espindola Date: Sun, 7 Apr 2013 16:07:35 +0000 (+0000) Subject: Remove MachOObjectFile::getObject. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=3eff318cbac281d46e8c8dfef16ffccbceebc855;p=oota-llvm.git Remove MachOObjectFile::getObject. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178986 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Object/MachO.h b/include/llvm/Object/MachO.h index 2e504155ace..f3b47a0f333 100644 --- a/include/llvm/Object/MachO.h +++ b/include/llvm/Object/MachO.h @@ -161,8 +161,9 @@ public: const MachOFormat::SymbolTableEntry * getSymbolTableEntry(DataRefImpl DRI) const; bool is64Bit() const; - - const MachOObject *getObject() const { return MachOObj.get(); } + const LoadCommandInfo &getLoadCommandInfo(unsigned Index) const; + void ReadULEB128s(uint64_t Index, SmallVectorImpl &Out) const; + const macho::Header &getHeader() const; static inline bool classof(const Binary *v) { return v->isMachO(); diff --git a/lib/Object/MachOObjectFile.cpp b/lib/Object/MachOObjectFile.cpp index 86677231c4e..fdce21bfd78 100644 --- a/lib/Object/MachOObjectFile.cpp +++ b/lib/Object/MachOObjectFile.cpp @@ -45,6 +45,20 @@ bool MachOObjectFile::is64Bit() const { return MachOObj->is64Bit(); } +const LoadCommandInfo & +MachOObjectFile::getLoadCommandInfo(unsigned Index) const { + return MachOObj->getLoadCommandInfo(Index); +} + +void MachOObjectFile::ReadULEB128s(uint64_t Index, + SmallVectorImpl &Out) const { + return MachOObj->ReadULEB128s(Index, Out); +} + +const macho::Header &MachOObjectFile::getHeader() const { + return MachOObj->getHeader(); +} + ObjectFile *ObjectFile::createMachOObjectFile(MemoryBuffer *Buffer) { error_code ec; std::string Err; diff --git a/tools/llvm-objdump/MachODump.cpp b/tools/llvm-objdump/MachODump.cpp index 282f04db2e4..d3f29d2d50f 100644 --- a/tools/llvm-objdump/MachODump.cpp +++ b/tools/llvm-objdump/MachODump.cpp @@ -52,7 +52,7 @@ static cl::opt static cl::opt DSYMFile("dsym", cl::desc("Use .dSYM file for debug info")); -static const Target *GetTarget(const MachOObject *MachOObj) { +static const Target *GetTarget(const MachOObjectFile *MachOObj) { // Figure out the target triple. if (TripleName.empty()) { llvm::Triple TT("unknown-unknown-unknown"); @@ -108,7 +108,7 @@ struct SymbolSorter { // Print additional information about an address, if available. static void DumpAddress(uint64_t Address, ArrayRef Sections, - const MachOObject *MachOObj, raw_ostream &OS) { + const MachOObjectFile *MachOObj, raw_ostream &OS) { for (unsigned i = 0; i != Sections.size(); ++i) { uint64_t SectAddr = 0, SectSize = 0; Sections[i].getAddress(SectAddr); @@ -218,15 +218,14 @@ static void getSectionsAndSymbols(const macho::Header &Header, } for (unsigned i = 0; i != Header.NumLoadCommands; ++i) { - const MachOObject::LoadCommandInfo &LCI = - MachOObj->getObject()->getLoadCommandInfo(i); + const MachOObject::LoadCommandInfo &LCI = MachOObj->getLoadCommandInfo(i); if (LCI.Command.Type == macho::LCT_FunctionStarts) { // We found a function starts segment, parse the addresses for later // consumption. const MachOFormat::LinkeditDataLoadCommand *LLC = MachOObj->getLinkeditDataLoadCommand(LCI); - MachOObj->getObject()->ReadULEB128s(LLC->DataOffset, FoundFns); + MachOObj->ReadULEB128s(LLC->DataOffset, FoundFns); } } } @@ -241,9 +240,8 @@ void llvm::DisassembleInputMachO(StringRef Filename) { OwningPtr MachOOF(static_cast( ObjectFile::createMachOObjectFile(Buff.take()))); - const MachOObject *MachOObj = MachOOF->getObject(); - const Target *TheTarget = GetTarget(MachOObj); + const Target *TheTarget = GetTarget(MachOOF.get()); if (!TheTarget) { // GetTarget prints out stuff. return; @@ -271,7 +269,7 @@ void llvm::DisassembleInputMachO(StringRef Filename) { outs() << '\n' << Filename << ":\n\n"; - const macho::Header &Header = MachOObj->getHeader(); + const macho::Header &Header = MachOOF->getHeader(); std::vector Sections; std::vector Symbols; @@ -580,7 +578,7 @@ void llvm::DisassembleInputMachO(StringRef Filename) { Relocs[j].second.getName(SymName); outs() << "\t# " << SymName << ' '; - DumpAddress(Addr, Sections, MachOObj, outs()); + DumpAddress(Addr, Sections, MachOOF.get(), outs()); } // If this instructions contains an address, see if we can evaluate @@ -589,7 +587,7 @@ void llvm::DisassembleInputMachO(StringRef Filename) { Inst.Address, Inst.Size); if (targ != -1ULL) - DumpAddress(targ, Sections, MachOObj, outs()); + DumpAddress(targ, Sections, MachOOF.get(), outs()); // Print debug info. if (diContext) {