summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-04-07 16:07:35 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-04-07 16:07:35 +0000
commit3eff318cbac281d46e8c8dfef16ffccbceebc855 (patch)
treed94e62d91889b1c18b46e0a8454dac1ed14e7af2
parent0be4eafd9c90d5e584b951fe2970f024341486c3 (diff)
downloadllvm-3eff318cbac281d46e8c8dfef16ffccbceebc855.tar.gz
llvm-3eff318cbac281d46e8c8dfef16ffccbceebc855.tar.bz2
llvm-3eff318cbac281d46e8c8dfef16ffccbceebc855.tar.xz
Remove MachOObjectFile::getObject.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178986 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Object/MachO.h5
-rw-r--r--lib/Object/MachOObjectFile.cpp14
-rw-r--r--tools/llvm-objdump/MachODump.cpp18
3 files changed, 25 insertions, 12 deletions
diff --git a/include/llvm/Object/MachO.h b/include/llvm/Object/MachO.h
index 2e504155ac..f3b47a0f33 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<uint64_t> &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 86677231c4..fdce21bfd7 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<uint64_t> &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 282f04db2e..d3f29d2d50 100644
--- a/tools/llvm-objdump/MachODump.cpp
+++ b/tools/llvm-objdump/MachODump.cpp
@@ -52,7 +52,7 @@ static cl::opt<bool>
static cl::opt<std::string>
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<SectionRef> 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<MachOObjectFile> MachOOF(static_cast<MachOObjectFile*>(
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<SectionRef> Sections;
std::vector<SymbolRef> 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) {