]> granicus.if.org Git - llvm/commitdiff
[llvm-readobj] - Remove excessive fields when dumping "Version symbols".
authorGeorge Rimar <grimar@accesssoftek.com>
Fri, 11 Oct 2019 12:27:11 +0000 (12:27 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Fri, 11 Oct 2019 12:27:11 +0000 (12:27 +0000)
This removes a few fields that are not useful:
"Section Name", "Address", "Offset" and "Link"
(they duplicated the information available under
the "Sections [" tag).

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@374541 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-readobj/all.test
test/tools/llvm-readobj/elf-versioninfo.test
test/tools/yaml2obj/versym-section.yaml
tools/llvm-readobj/ELFDumper.cpp

index cc1aa29504a07a98a3f8b4e6836b4f35b6678db7..6b1a6e9611f311fd30358d7f1d891504e65c5c50 100644 (file)
@@ -11,7 +11,7 @@
 # LLVM-ALL: Relocations [
 # LLVM-ALL: Symbols [
 # LLVM-ALL: ProgramHeaders [
-# LLVM-ALL: Version symbols {
+# LLVM-ALL: Version symbols [
 # LLVM-ALL: SHT_GNU_verdef {
 # LLVM-ALL: SHT_GNU_verneed {
 # LLVM-ALL: Addrsig [
index 606a96a9d4fd090184fa23915a457caf78b3ac4d..a586d2a7c1cd5f99fd7f349d85c38823b1a2851c 100644 (file)
@@ -77,38 +77,32 @@ DynamicSymbols:
     Binding:         STB_GLOBAL
 ...
 
-# LLVM:      Version symbols {
-# LLVM-NEXT:   Section Name: .gnu.version
-# LLVM-NEXT:   Address: 0x0
-# LLVM-NEXT:   Offset: 0x40
-# LLVM-NEXT:   Link: 7
-# LLVM-NEXT:   Symbols [
-# LLVM-NEXT:     Symbol {
-# LLVM-NEXT:       Version: 0
-# LLVM-NEXT:       Name:
-# LLVM-NEXT:     }
-# LLVM-NEXT:     Symbol {
-# LLVM-NEXT:       Version: 2
-# LLVM-NEXT:       Name: sym1@@VERSION1
-# LLVM-NEXT:     }
-# LLVM-NEXT:     Symbol {
-# LLVM-NEXT:       Version: 3
-# LLVM-NEXT:       Name: sym2@@VERSION2
-# LLVM-NEXT:     }
-# LLVM-NEXT:     Symbol {
-# LLVM-NEXT:       Version: 4
-# LLVM-NEXT:       Name: sym3@v1
-# LLVM-NEXT:     }
-# LLVM-NEXT:     Symbol {
-# LLVM-NEXT:       Version: 5
-# LLVM-NEXT:       Name: sym4@v2
-# LLVM-NEXT:     }
-# LLVM-NEXT:     Symbol {
-# LLVM-NEXT:       Version: 6
-# LLVM-NEXT:       Name: sym5@v3
-# LLVM-NEXT:     }
-# LLVM-NEXT:   ]
-# LLVM-NEXT: }
+# LLVM:      Version symbols [
+# LLVM-NEXT:   Symbol {
+# LLVM-NEXT:     Version: 0
+# LLVM-NEXT:     Name:
+# LLVM-NEXT:   }
+# LLVM-NEXT:   Symbol {
+# LLVM-NEXT:     Version: 2
+# LLVM-NEXT:     Name: sym1@@VERSION1
+# LLVM-NEXT:   }
+# LLVM-NEXT:   Symbol {
+# LLVM-NEXT:     Version: 3
+# LLVM-NEXT:     Name: sym2@@VERSION2
+# LLVM-NEXT:   }
+# LLVM-NEXT:   Symbol {
+# LLVM-NEXT:     Version: 4
+# LLVM-NEXT:     Name: sym3@v1
+# LLVM-NEXT:   }
+# LLVM-NEXT:   Symbol {
+# LLVM-NEXT:     Version: 5
+# LLVM-NEXT:     Name: sym4@v2
+# LLVM-NEXT:   }
+# LLVM-NEXT:   Symbol {
+# LLVM-NEXT:     Version: 6
+# LLVM-NEXT:     Name: sym5@v3
+# LLVM-NEXT:   }
+# LLVM-NEXT: ]
 # LLVM-NEXT: SHT_GNU_verdef {
 # LLVM-NEXT:   Definition {
 # LLVM-NEXT:     Version: 1
index bd4f61093e9188fd0c77751a99f26824096b189d..384b41708b3f6577f0631b6f9586c4ae6f282d77 100644 (file)
@@ -4,26 +4,20 @@
 # RUN: yaml2obj --docnum=1 %s -o %t1
 # RUN: llvm-readobj -V %t1 | FileCheck %s
 
-# CHECK:      Version symbols {
-# CHECK-NEXT:   Section Name: .gnu.version
-# CHECK-NEXT:   Address: 0x200210
-# CHECK-NEXT:   Offset: 0x40
-# CHECK-NEXT:   Link: 6
-# CHECK-NEXT:   Symbols [
-# CHECK-NEXT:     Symbol {
-# CHECK-NEXT:       Version: 0
-# CHECK-NEXT:       Name:
-# CHECK-NEXT:     }
-# CHECK-NEXT:     Symbol {
-# CHECK-NEXT:       Version: 3
-# CHECK-NEXT:       Name: f1@v1
-# CHECK-NEXT:     }
-# CHECK-NEXT:     Symbol {
-# CHECK-NEXT:       Version: 4
-# CHECK-NEXT:       Name: f2@v2
-# CHECK-NEXT:     }
-# CHECK-NEXT:   ]
-# CHECK-NEXT: }
+# CHECK:      Version symbols [
+# CHECK-NEXT:   Symbol {
+# CHECK-NEXT:     Version: 0
+# CHECK-NEXT:     Name:
+# CHECK-NEXT:   }
+# CHECK-NEXT:   Symbol {
+# CHECK-NEXT:     Version: 3
+# CHECK-NEXT:     Name: f1@v1
+# CHECK-NEXT:   }
+# CHECK-NEXT:   Symbol {
+# CHECK-NEXT:     Version: 4
+# CHECK-NEXT:     Name: f2@v2
+# CHECK-NEXT:   }
+# CHECK-NEXT: ]
 # CHECK-NEXT: SHT_GNU_verdef {
 # CHECK-NEXT: }
 # CHECK-NEXT: SHT_GNU_verneed {
index 135624539aed5ec4835137ff572d245814e6c5d0..a23e2156fdcd8b37a9ad853efb760cc89f568933 100644 (file)
@@ -5607,23 +5607,16 @@ void LLVMStyle<ELFT>::printProgramHeaders(const ELFO *Obj) {
 template <class ELFT>
 void LLVMStyle<ELFT>::printVersionSymbolSection(const ELFFile<ELFT> *Obj,
                                                 const Elf_Shdr *Sec) {
-  DictScope SS(W, "Version symbols");
+  ListScope SS(W, "Version symbols");
   if (!Sec)
     return;
 
-  StringRef SecName = unwrapOrError(this->FileName, Obj->getSectionName(Sec));
-  W.printNumber("Section Name", SecName, Sec->sh_name);
-  W.printHex("Address", Sec->sh_addr);
-  W.printHex("Offset", Sec->sh_offset);
-  W.printNumber("Link", Sec->sh_link);
-
   const uint8_t *VersymBuf =
       reinterpret_cast<const uint8_t *>(Obj->base() + Sec->sh_offset);
   const ELFDumper<ELFT> *Dumper = this->dumper();
   StringRef StrTable = Dumper->getDynamicStringTable();
 
   // Same number of entries in the dynamic symbol table (DT_SYMTAB).
-  ListScope Syms(W, "Symbols");
   for (const Elf_Sym &Sym : Dumper->dynamic_symbols()) {
     DictScope S(W, "Symbol");
     const Elf_Versym *Versym = reinterpret_cast<const Elf_Versym *>(VersymBuf);