[PATCH] D91954: [llvm-readelf/obj] - Remove `tryGetSectionName` helper.

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 23 03:25:14 PST 2020


grimar created this revision.
grimar added reviewers: jhenderson, grimar.
Herald added subscribers: rupprecht, emaste.
Herald added a reviewer: espindola.
Herald added a project: LLVM.
grimar requested review of this revision.
Herald added a subscriber: MaskRay.

D91867 <https://reviews.llvm.org/D91867> introduced the `tryGetSectionName` helper.
But we have `getPrintableSectionName` member with the similar
behavior which we can reuse. This patch does it.


https://reviews.llvm.org/D91954

Files:
  llvm/test/tools/llvm-readobj/ELF/groups.test
  llvm/tools/llvm-readobj/ELFDumper.cpp


Index: llvm/tools/llvm-readobj/ELFDumper.cpp
===================================================================
--- llvm/tools/llvm-readobj/ELFDumper.cpp
+++ llvm/tools/llvm-readobj/ELFDumper.cpp
@@ -3581,19 +3581,6 @@
   printFields(OS, "Section header string table index:", Str);
 }
 
-template <class ELFT>
-static StringRef tryGetSectionName(const ELFFile<ELFT> &Obj,
-                                   const typename ELFT::Shdr &Sec,
-                                   DumpStyle<ELFT> &Dump) {
-  if (Expected<StringRef> 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 <class ELFT> std::vector<GroupSection> DumpStyle<ELFT>::getGroups() {
   auto GetSignature = [&](const Elf_Sym &Sym, unsigned SymNdx,
                           const Elf_Shdr &Symtab) -> StringRef {
@@ -3655,7 +3642,7 @@
                                       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 @@
     std::vector<GroupMember> &GM = Ret.back().Members;
     for (uint32_t Ndx : Data.slice(1)) {
       if (Expected<const Elf_Shdr *> 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) +
Index: llvm/test/tools/llvm-readobj/ELF/groups.test
===================================================================
--- llvm/test/tools/llvm-readobj/ELF/groups.test
+++ llvm/test/tools/llvm-readobj/ELF/groups.test
@@ -294,8 +294,8 @@
 # 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 @@
 # 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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D91954.307025.patch
Type: text/x-patch
Size: 4256 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201123/8faf5938/attachment.bin>


More information about the llvm-commits mailing list