From 1cc78fdb6f7d81d58cdafa44b0966708dc8575bf Mon Sep 17 00:00:00 2001 From: Georgii Rymar Date: Mon, 18 Nov 2019 17:43:50 +0300 Subject: [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 --- llvm/tools/llvm-readobj/ELFDumper.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'llvm/tools/llvm-readobj/ELFDumper.cpp') diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp index f83331dbb96..b8078ff7db6 100644 --- a/llvm/tools/llvm-readobj/ELFDumper.cpp +++ b/llvm/tools/llvm-readobj/ELFDumper.cpp @@ -5730,7 +5730,7 @@ void LLVMStyle::printVersionDefinitionSection(const ELFFile *Obj, const Elf_Verdef *Verdef = reinterpret_cast(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( @@ -5790,7 +5790,7 @@ void LLVMStyle::printVersionDependencySection(const ELFFile *Obj, reinterpret_cast(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 -- cgit v1.2.3