diff --git a/llvm/test/tools/llvm-readobj/ELF/groups.test b/llvm/test/tools/llvm-readobj/ELF/groups.test index afdc63e9dc0b..492c7a5ecd7a 100644 --- a/llvm/test/tools/llvm-readobj/ELF/groups.test +++ b/llvm/test/tools/llvm-readobj/ELF/groups.test @@ -294,8 +294,8 @@ Symbols: # RUN: FileCheck -DFILE=%t.name.o %s --check-prefix=NAME-GNU --implicit-check-not=warning: # NAME-LLVM: Groups { -# NAME-LLVM-NEXT: warning: '[[FILE]]': unable to get the name of the SHT_GROUP section with index 1: a section [index 1] has an invalid sh_name (0xaaaa) offset which goes past the end of the section name string table -# NAME-LLVM-NEXT: warning: '[[FILE]]': unable to get the name of the SHT_PROGBITS section with index 5: a section [index 5] has an invalid sh_name (0xbbbb) offset which goes past the end of the section name string table +# NAME-LLVM-NEXT: warning: '[[FILE]]': unable to get the name of SHT_GROUP section with index 1: a section [index 1] has an invalid sh_name (0xaaaa) offset which goes past the end of the section name string table +# NAME-LLVM-NEXT: warning: '[[FILE]]': unable to get the name of SHT_PROGBITS section with index 5: a section [index 5] has an invalid sh_name (0xbbbb) offset which goes past the end of the section name string table # NAME-LLVM-NEXT: Group { # NAME-LLVM-NEXT: Name: (43690) # NAME-LLVM-NEXT: Index: 1 @@ -322,8 +322,8 @@ Symbols: # NAME-LLVM-NEXT: } # NAME-LLVM-NEXT: } -# NAME-GNU: warning: '[[FILE]]': unable to get the name of the SHT_GROUP section with index 1: a section [index 1] has an invalid sh_name (0xaaaa) offset which goes past the end of the section name string table -# NAME-GNU-NEXT: warning: '[[FILE]]': unable to get the name of the SHT_PROGBITS section with index 5: a section [index 5] has an invalid sh_name (0xbbbb) offset which goes past the end of the section name string table +# NAME-GNU: warning: '[[FILE]]': unable to get the name of SHT_GROUP section with index 1: a section [index 1] has an invalid sh_name (0xaaaa) offset which goes past the end of the section name string table +# NAME-GNU-NEXT: warning: '[[FILE]]': unable to get the name of SHT_PROGBITS section with index 5: a section [index 5] has an invalid sh_name (0xbbbb) offset which goes past the end of the section name string table # NAME-GNU-EMPTY: # NAME-GNU-NEXT: COMDAT group section [ 1] `' [foo] contains 2 sections: # NAME-GNU-NEXT: [Index] Name diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp index c5eb2d628b0b..34be3aa0a350 100644 --- a/llvm/tools/llvm-readobj/ELFDumper.cpp +++ b/llvm/tools/llvm-readobj/ELFDumper.cpp @@ -3581,19 +3581,6 @@ template void GNUStyle::printFileHeaders() { printFields(OS, "Section header string table index:", Str); } -template -static StringRef tryGetSectionName(const ELFFile &Obj, - const typename ELFT::Shdr &Sec, - DumpStyle &Dump) { - if (Expected SecNameOrErr = Obj.getSectionName(Sec)) - return *SecNameOrErr; - else - Dump.reportUniqueWarning(createError("unable to get the name of the " + - describe(Obj, Sec) + ": " + - toString(SecNameOrErr.takeError()))); - return ""; -} - template std::vector DumpStyle::getGroups() { auto GetSignature = [&](const Elf_Sym &Sym, unsigned SymNdx, const Elf_Shdr &Symtab) -> StringRef { @@ -3655,7 +3642,7 @@ template std::vector DumpStyle::getGroups() { toString(ContentsOrErr.takeError()))); } - Ret.push_back({tryGetSectionName(Obj, Sec, *this), + Ret.push_back({getPrintableSectionName(Sec), maybeDemangle(Signature), Sec.sh_name, I - 1, @@ -3670,7 +3657,7 @@ template std::vector DumpStyle::getGroups() { std::vector &GM = Ret.back().Members; for (uint32_t Ndx : Data.slice(1)) { if (Expected SecOrErr = Obj.getSection(Ndx)) { - GM.push_back({tryGetSectionName(Obj, **SecOrErr, *this), Ndx}); + GM.push_back({getPrintableSectionName(**SecOrErr), Ndx}); } else { reportUniqueWarning( createError("unable to get the section with index " + Twine(Ndx) +