aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/MachODump.cpp
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2019-05-16 12:08:34 +0000
committerHans Wennborg <hans@hanshq.net>2019-05-16 12:08:34 +0000
commit4da9ff9fcfe8987472dc894489597bd338aac85e (patch)
tree21bc0332451ec4093db5da5255ee98577ac5926e /llvm/tools/llvm-objdump/MachODump.cpp
parenta8f88c388f75cb03bd21beb0b64f87d8a8727254 (diff)
downloadllvm-4da9ff9fcfe8987472dc894489597bd338aac85e.zip
llvm-4da9ff9fcfe8987472dc894489597bd338aac85e.tar.gz
llvm-4da9ff9fcfe8987472dc894489597bd338aac85e.tar.bz2
Revert r360876 "[Object] Change object::SectionRef::getContents() to return Expected<StringRef>"
It broke the Clang build, see llvm-commits thread. > Expected<ArrayRef<uint8_t>> may be better but use Expected<StringRef> for now. > > Follow-up of D61781. llvm-svn: 360878
Diffstat (limited to 'llvm/tools/llvm-objdump/MachODump.cpp')
-rw-r--r--llvm/tools/llvm-objdump/MachODump.cpp35
1 files changed, 19 insertions, 16 deletions
diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp
index 6bb30c5..9d81619 100644
--- a/llvm/tools/llvm-objdump/MachODump.cpp
+++ b/llvm/tools/llvm-objdump/MachODump.cpp
@@ -1482,8 +1482,8 @@ static void DumpLiteralPointerSection(MachOObjectFile *O,
section_type = Sec.flags & MachO::SECTION_TYPE;
}
- StringRef BytesStr = unwrapOrError(Sect->getContents(), O->getFileName());
-
+ StringRef BytesStr;
+ Sect->getContents(BytesStr);
const char *Contents = reinterpret_cast<const char *>(BytesStr.data());
switch (section_type) {
@@ -1697,8 +1697,8 @@ static void DumpSectionContents(StringRef Filename, MachOObjectFile *O,
}
uint32_t section_type = section_flags & MachO::SECTION_TYPE;
- StringRef BytesStr =
- unwrapOrError(Section.getContents(), O->getFileName());
+ StringRef BytesStr;
+ Section.getContents(BytesStr);
const char *sect = reinterpret_cast<const char *>(BytesStr.data());
uint32_t sect_size = BytesStr.size();
uint64_t sect_addr = Section.getAddress();
@@ -1782,8 +1782,8 @@ static void DumpInfoPlistSectionContents(StringRef Filename,
if (SegName == "__TEXT" && SectName == "__info_plist") {
if (!NoLeadingHeaders)
outs() << "Contents of (" << SegName << "," << SectName << ") section\n";
- StringRef BytesStr =
- unwrapOrError(Section.getContents(), O->getFileName());
+ StringRef BytesStr;
+ Section.getContents(BytesStr);
const char *sect = reinterpret_cast<const char *>(BytesStr.data());
outs() << format("%.*s", BytesStr.size(), sect) << "\n";
return;
@@ -3194,8 +3194,8 @@ static const char *get_pointer_64(uint64_t Address, uint32_t &offset,
S = (*(info->Sections))[SectIdx];
offset = Address - SectAddress;
left = SectSize - offset;
- StringRef SectContents = unwrapOrError(
- ((*(info->Sections))[SectIdx]).getContents(), info->O->getFileName());
+ StringRef SectContents;
+ ((*(info->Sections))[SectIdx]).getContents(SectContents);
return SectContents.data() + offset;
}
}
@@ -3998,7 +3998,8 @@ walk_pointer_list_64(const char *listname, const SectionRef S,
StringRef SegName = O->getSectionFinalSegmentName(Ref);
outs() << "Contents of (" << SegName << "," << SectName << ") section\n";
- StringRef BytesStr = unwrapOrError(S.getContents(), O->getFileName());
+ StringRef BytesStr;
+ S.getContents(BytesStr);
const char *Contents = reinterpret_cast<const char *>(BytesStr.data());
for (uint32_t i = 0; i < S.getSize(); i += sizeof(uint64_t)) {
@@ -4048,7 +4049,8 @@ walk_pointer_list_32(const char *listname, const SectionRef S,
StringRef SegName = O->getSectionFinalSegmentName(Ref);
outs() << "Contents of (" << SegName << "," << SectName << ") section\n";
- StringRef BytesStr = unwrapOrError(S.getContents(), O->getFileName());
+ StringRef BytesStr;
+ S.getContents(BytesStr);
const char *Contents = reinterpret_cast<const char *>(BytesStr.data());
for (uint32_t i = 0; i < S.getSize(); i += sizeof(uint32_t)) {
@@ -7240,8 +7242,8 @@ static void DisassembleMachO(StringRef Filename, MachOObjectFile *MachOOF,
if (SegmentName != DisSegName)
continue;
- StringRef BytesStr =
- unwrapOrError(Sections[SectIdx].getContents(), Filename);
+ StringRef BytesStr;
+ Sections[SectIdx].getContents(BytesStr);
ArrayRef<uint8_t> Bytes = arrayRefFromStringRef(BytesStr);
uint64_t SectAddress = Sections[SectIdx].getAddress();
@@ -7694,8 +7696,9 @@ printMachOCompactUnwindSection(const MachOObjectFile *Obj,
uint32_t PointerSize = Is64 ? sizeof(uint64_t) : sizeof(uint32_t);
uint32_t EntrySize = 3 * PointerSize + 2 * sizeof(uint32_t);
- StringRef Contents =
- unwrapOrError(CompactUnwind.getContents(), Obj->getFileName());
+ StringRef Contents;
+ CompactUnwind.getContents(Contents);
+
SmallVector<CompactUnwindEntry, 4> CompactUnwinds;
// First populate the initial raw offsets, encodings and so on from the entry.
@@ -7836,8 +7839,8 @@ static void printMachOUnwindInfoSection(const MachOObjectFile *Obj,
outs() << "Contents of __unwind_info section:\n";
- StringRef Contents =
- unwrapOrError(UnwindInfo.getContents(), Obj->getFileName());
+ StringRef Contents;
+ UnwindInfo.getContents(Contents);
ptrdiff_t Pos = 0;
//===----------------------------------