diff options
Diffstat (limited to 'llvm/tools/llvm-objdump/ELFDump.cpp')
| -rw-r--r-- | llvm/tools/llvm-objdump/ELFDump.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/tools/llvm-objdump/ELFDump.cpp b/llvm/tools/llvm-objdump/ELFDump.cpp index 7b44e3916c4..e9e0bcf30e8 100644 --- a/llvm/tools/llvm-objdump/ELFDump.cpp +++ b/llvm/tools/llvm-objdump/ELFDump.cpp @@ -24,7 +24,10 @@ using namespace llvm::object; template <class ELFT> void printProgramHeaders(const ELFFile<ELFT> *o) { typedef ELFFile<ELFT> ELFO; outs() << "Program Header:\n"; - for (const typename ELFO::Elf_Phdr &Phdr : o->program_headers()) { + auto ProgramHeaderOrError = o->program_headers(); + if (std::error_code EC = ProgramHeaderOrError.getError()) + report_fatal_error(EC.message()); + for (const typename ELFO::Elf_Phdr &Phdr : *ProgramHeaderOrError) { switch (Phdr.p_type) { case ELF::PT_LOAD: outs() << " LOAD "; |

