[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