Index: llvm/trunk/test/tools/obj2yaml/missing_symtab.test =================================================================== --- llvm/trunk/test/tools/obj2yaml/missing_symtab.test +++ llvm/trunk/test/tools/obj2yaml/missing_symtab.test @@ -0,0 +1,5 @@ +# RUN: obj2yaml %S/Inputs/crt1.o | FileCheck %s +# test that we don't crash when passed object files without a symbol table +# CHECK-LABEL: FileHeader: +# CHECK-LABEL: Sections: +# CHECK-LABEL: Symbols: Index: llvm/trunk/tools/obj2yaml/elf2yaml.cpp =================================================================== --- llvm/trunk/tools/obj2yaml/elf2yaml.cpp +++ llvm/trunk/tools/obj2yaml/elf2yaml.cpp @@ -188,6 +188,8 @@ } // Dump symbols + if (!Symtab) + return Y.release(); // if the symbol table is missing return early auto StrTableOrErr = Obj.getStringTableForSymtab(*Symtab); if (!StrTableOrErr) return errorToErrorCode(StrTableOrErr.takeError());