aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-readobj/ELFDumper.cpp
diff options
context:
space:
mode:
authorGeorgii Rymar <grimar@accesssoftek.com>2019-11-18 17:43:50 +0300
committerGeorgii Rymar <grimar@accesssoftek.com>2019-11-20 11:55:55 +0300
commit1cc78fdb6f7d81d58cdafa44b0966708dc8575bf (patch)
tree842113be2319ffb7b06425bf9092ce9ba6442515 /llvm/tools/llvm-readobj/ELFDumper.cpp
parentc54959c00d0b39f357d48c3b4f955d72de4c9fc1 (diff)
downloadllvm-1cc78fdb6f7d81d58cdafa44b0966708dc8575bf.zip
llvm-1cc78fdb6f7d81d58cdafa44b0966708dc8575bf.tar.gz
llvm-1cc78fdb6f7d81d58cdafa44b0966708dc8575bf.tar.bz2
[llvm-readobj/llvm-readelf] - Improve dumping of versioning sections.
Our elf-versioninfo.test is not perfect. It does not properly test how flags are dumped and also we have a bug: they are dumped as enums in LLVM style now, i.e not dumped properly. GNU style uses a `versionFlagToString` method to build a string from flags which seems is consistent with GNU readelf. In this patch I fixed the issues mentioned. Differential revision: https://reviews.llvm.org/D70399
Diffstat (limited to 'llvm/tools/llvm-readobj/ELFDumper.cpp')
-rw-r--r--llvm/tools/llvm-readobj/ELFDumper.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp
index f83331d..b8078ff 100644
--- a/llvm/tools/llvm-readobj/ELFDumper.cpp
+++ b/llvm/tools/llvm-readobj/ELFDumper.cpp
@@ -5730,7 +5730,7 @@ void LLVMStyle<ELFT>::printVersionDefinitionSection(const ELFFile<ELFT> *Obj,
const Elf_Verdef *Verdef = reinterpret_cast<const Elf_Verdef *>(VerdefBuf);
DictScope Def(W, "Definition");
W.printNumber("Version", Verdef->vd_version);
- W.printEnum("Flags", Verdef->vd_flags, makeArrayRef(SymVersionFlags));
+ W.printFlags("Flags", Verdef->vd_flags, makeArrayRef(SymVersionFlags));
W.printNumber("Index", Verdef->vd_ndx);
W.printNumber("Hash", Verdef->vd_hash);
W.printString("Name", StringRef(reinterpret_cast<const char *>(
@@ -5790,7 +5790,7 @@ void LLVMStyle<ELFT>::printVersionDependencySection(const ELFFile<ELFT> *Obj,
reinterpret_cast<const Elf_Vernaux *>(VernauxBuf);
DictScope Entry(W, "Entry");
W.printNumber("Hash", Vernaux->vna_hash);
- W.printEnum("Flags", Vernaux->vna_flags, makeArrayRef(SymVersionFlags));
+ W.printFlags("Flags", Vernaux->vna_flags, makeArrayRef(SymVersionFlags));
W.printNumber("Index", Vernaux->vna_other);
StringRef Name = StringTable.size() > Vernaux->vna_name