[llvm] 445c3fd - [llvm-readelf] - Do no print an empty symbol version as "<corrupt>"

Georgii Rymar via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 11 01:32:34 PST 2019


Author: Georgii Rymar
Date: 2019-12-11T12:24:37+03:00
New Revision: 445c3fdd2ae8648cd79f98d3d72ff142b4c19792

URL: https://github.com/llvm/llvm-project/commit/445c3fdd2ae8648cd79f98d3d72ff142b4c19792
DIFF: https://github.com/llvm/llvm-project/commit/445c3fdd2ae8648cd79f98d3d72ff142b4c19792.diff

LOG: [llvm-readelf] - Do no print an empty symbol version as "<corrupt>"

It is discussed here https://reviews.llvm.org/D71118#inline-643172

Currently when a version is empty, llvm-readelf prints:
"000:   0 (*local*)       2 (<corrupt>)"

But GNU readelf does not treat empty section as corrupt.
There is no sense in having empty versions anyways it seems, but
this change is for consistency with GNU.

Differential revision: https://reviews.llvm.org/D71243

Added: 
    

Modified: 
    llvm/test/tools/llvm-readobj/ELF/verneed-invalid.test
    llvm/tools/llvm-readobj/ELFDumper.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/test/tools/llvm-readobj/ELF/verneed-invalid.test b/llvm/test/tools/llvm-readobj/ELF/verneed-invalid.test
index 66c2d833a3a8..b3f9644ac5af 100644
--- a/llvm/test/tools/llvm-readobj/ELF/verneed-invalid.test
+++ b/llvm/test/tools/llvm-readobj/ELF/verneed-invalid.test
@@ -10,7 +10,7 @@
 
 # GNU-VERNEED-NAME:      Version symbols section '.gnu.version' contains 2 entries:
 # GNU-VERNEED-NAME-NEXT:  Addr: 0000000000200210  Offset: 0x000040  Link: 5 (.dynsym)
-# GNU-VERNEED-NAME-NEXT:   000:   0 (*local*)       2 (<corrupt>)
+# GNU-VERNEED-NAME-NEXT:   000:   0 (*local*)       2 ()
 
 # GNU-VERNEED-NAME:      Version needs section '.gnu.version_r' contains 1 entries:
 # GNU-VERNEED-NAME-NEXT:  Addr: 0000000000000000  Offset: 0x000044  Link: 6 (.dynstr)

diff  --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp
index 145c625bdd2b..733b36ef2a06 100644
--- a/llvm/tools/llvm-readobj/ELFDumper.cpp
+++ b/llvm/tools/llvm-readobj/ELFDumper.cpp
@@ -4133,7 +4133,7 @@ void GNUStyle<ELFT>::printVersionSymbolSection(const ELFFile<ELFT> *Obj,
     bool IsDefault;
     Expected<StringRef> NameOrErr =
         this->dumper()->getSymbolVersionByIndex(Ndx, IsDefault);
-    if (!NameOrErr || NameOrErr->empty()) {
+    if (!NameOrErr) {
       if (!NameOrErr) {
         unsigned SecNdx = Sec - &cantFail(Obj->sections()).front();
         this->reportUniqueWarning(createError(


        


More information about the llvm-commits mailing list