summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-objcopy
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-objcopy')
-rw-r--r--llvm/tools/llvm-objcopy/COFF/Reader.cpp4
-rw-r--r--llvm/tools/llvm-objcopy/MachO/MachOReader.cpp11
2 files changed, 8 insertions, 7 deletions
diff --git a/llvm/tools/llvm-objcopy/COFF/Reader.cpp b/llvm/tools/llvm-objcopy/COFF/Reader.cpp
index 774427a7704..a9511c5bd59 100644
--- a/llvm/tools/llvm-objcopy/COFF/Reader.cpp
+++ b/llvm/tools/llvm-objcopy/COFF/Reader.cpp
@@ -69,8 +69,8 @@ Error COFFReader::readSections(Object &Obj) const {
Section &S = Sections.back();
S.Header = *Sec;
ArrayRef<uint8_t> Contents;
- if (auto EC = COFFObj.getSectionContents(Sec, Contents))
- return errorCodeToError(EC);
+ if (Error E = COFFObj.getSectionContents(Sec, Contents))
+ return E;
S.setContentsRef(Contents);
ArrayRef<coff_relocation> Relocs = COFFObj.getRelocations(Sec);
for (const coff_relocation &R : Relocs)
diff --git a/llvm/tools/llvm-objcopy/MachO/MachOReader.cpp b/llvm/tools/llvm-objcopy/MachO/MachOReader.cpp
index 39702cda4eb..2a1c586bf77 100644
--- a/llvm/tools/llvm-objcopy/MachO/MachOReader.cpp
+++ b/llvm/tools/llvm-objcopy/MachO/MachOReader.cpp
@@ -85,11 +85,12 @@ extractSections(const object::MachOObjectFile::LoadCommandInfo &LoadCmd,
if (!SecRef)
reportError(MachOObj.getFileName(), SecRef.takeError());
- StringRef Content;
- if (auto EC =
- MachOObj.getSectionContents(SecRef->getRawDataRefImpl(), Content))
- reportError(MachOObj.getFileName(), std::move(EC));
- S.Content = Content;
+ if (Expected<ArrayRef<uint8_t>> E =
+ MachOObj.getSectionContents(SecRef->getRawDataRefImpl()))
+ S.Content =
+ StringRef(reinterpret_cast<const char *>(E->data()), E->size());
+ else
+ reportError(MachOObj.getFileName(), E.takeError());
S.Relocations.reserve(S.NReloc);
for (auto RI = MachOObj.section_rel_begin(SecRef->getRawDataRefImpl()),
OpenPOWER on IntegriCloud