diff options
Diffstat (limited to 'llvm/tools/llvm-objcopy')
-rw-r--r-- | llvm/tools/llvm-objcopy/COFF/Reader.cpp | 4 | ||||
-rw-r--r-- | llvm/tools/llvm-objcopy/MachO/MachOReader.cpp | 11 |
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()), |