forked from OSchip/llvm-project
[llvm-readobj] - Always print "Predecessors" for version definition sections.
This is a follow-up discussed in D70495 thread. The current logic is unusual for llvm-readobj. It doesn't print predecessors list when it is empty. This is not good for machine parsers. D70495 had to add this condition during refactoring to reduce amount of changes, in tests, because the original code also had a similar logic. Now seems it is time to get rid of it. This patch does it. Differential revision: https://reviews.llvm.org/D70717
This commit is contained in:
parent
92d5ea5d16
commit
3b35603a56
lld/test/ELF
llvm
test/tools
tools/llvm-readobj
|
@ -84,6 +84,7 @@
|
|||
# DSO-NEXT: Index: 1
|
||||
# DSO-NEXT: Hash: 127830196
|
||||
# DSO-NEXT: Name: shared
|
||||
# DSO-NEXT: Predecessors: []
|
||||
# DSO-NEXT: }
|
||||
# DSO-NEXT: Definition {
|
||||
# DSO-NEXT: Version: 1
|
||||
|
@ -92,6 +93,7 @@
|
|||
# DSO-NEXT: Index: 2
|
||||
# DSO-NEXT: Hash: 1425
|
||||
# DSO-NEXT: Name: V1
|
||||
# DSO-NEXT: Predecessors: []
|
||||
# DSO-NEXT: }
|
||||
# DSO-NEXT: Definition {
|
||||
# DSO-NEXT: Version: 1
|
||||
|
@ -100,6 +102,7 @@
|
|||
# DSO-NEXT: Index: 3
|
||||
# DSO-NEXT: Hash: 1426
|
||||
# DSO-NEXT: Name: V2
|
||||
# DSO-NEXT: Predecessors: []
|
||||
# DSO-NEXT: }
|
||||
# DSO-NEXT: ]
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
# DSO-NEXT: Index: 1
|
||||
# DSO-NEXT: Hash: 127830196
|
||||
# DSO-NEXT: Name: shared
|
||||
# DSO-NEXT: Predecessors: []
|
||||
# DSO-NEXT: }
|
||||
# DSO-NEXT: Definition {
|
||||
# DSO-NEXT: Version: 1
|
||||
|
@ -23,6 +24,7 @@
|
|||
# DSO-NEXT: Index: 2
|
||||
# DSO-NEXT: Hash: 98457184
|
||||
# DSO-NEXT: Name: LIBSAMPLE_1.0
|
||||
# DSO-NEXT: Predecessors: []
|
||||
# DSO-NEXT: }
|
||||
# DSO-NEXT: Definition {
|
||||
# DSO-NEXT: Version: 1
|
||||
|
@ -31,6 +33,7 @@
|
|||
# DSO-NEXT: Index: 3
|
||||
# DSO-NEXT: Hash: 98456416
|
||||
# DSO-NEXT: Name: LIBSAMPLE_2.0
|
||||
# DSO-NEXT: Predecessors: []
|
||||
# DSO-NEXT: }
|
||||
# DSO-NEXT: Definition {
|
||||
# DSO-NEXT: Version: 1
|
||||
|
@ -39,5 +42,6 @@
|
|||
# DSO-NEXT: Index: 4
|
||||
# DSO-NEXT: Hash: 98456672
|
||||
# DSO-NEXT: Name: LIBSAMPLE_3.0
|
||||
# DSO-NEXT: Predecessors: []
|
||||
# DSO-NEXT: }
|
||||
# DSO-NEXT: ]
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
# DSO-NEXT: Index: 1
|
||||
# DSO-NEXT: Hash: 127830196
|
||||
# DSO-NEXT: Name: shared
|
||||
# DSO-NEXT: Predecessors: []
|
||||
# DSO-NEXT: }
|
||||
# DSO-NEXT: Definition {
|
||||
# DSO-NEXT: Version: 1
|
||||
|
@ -41,6 +42,7 @@
|
|||
# DSO-NEXT: Index: 2
|
||||
# DSO-NEXT: Hash: 98457184
|
||||
# DSO-NEXT: Name: LIBSAMPLE_1.0
|
||||
# DSO-NEXT: Predecessors: []
|
||||
# DSO-NEXT: }
|
||||
# DSO-NEXT: Definition {
|
||||
# DSO-NEXT: Version: 1
|
||||
|
@ -49,6 +51,7 @@
|
|||
# DSO-NEXT: Index: 3
|
||||
# DSO-NEXT: Hash: 98456416
|
||||
# DSO-NEXT: Name: LIBSAMPLE_2.0
|
||||
# DSO-NEXT: Predecessors: []
|
||||
# DSO-NEXT: }
|
||||
# DSO-NEXT: Definition {
|
||||
# DSO-NEXT: Version: 1
|
||||
|
@ -57,6 +60,7 @@
|
|||
# DSO-NEXT: Index: 4
|
||||
# DSO-NEXT: Hash: 98456672
|
||||
# DSO-NEXT: Name: LIBSAMPLE_3.0
|
||||
# DSO-NEXT: Predecessors: []
|
||||
# DSO-NEXT: }
|
||||
# DSO-NEXT: ]
|
||||
# DSO-NEXT: VersionRequirements [
|
||||
|
|
|
@ -148,6 +148,7 @@ DynamicSymbols:
|
|||
# LLVM-NEXT: Index: 0
|
||||
# LLVM-NEXT: Hash: 0
|
||||
# LLVM-NEXT: Name: VERSION1
|
||||
# LLVM-NEXT: Predecessors: []
|
||||
# LLVM-NEXT: }
|
||||
# LLVM-NEXT: Definition {
|
||||
# LLVM-NEXT: Version: 1
|
||||
|
@ -157,6 +158,7 @@ DynamicSymbols:
|
|||
# LLVM-NEXT: Index: 0
|
||||
# LLVM-NEXT: Hash: 0
|
||||
# LLVM-NEXT: Name: VERSION1
|
||||
# LLVM-NEXT: Predecessors: []
|
||||
# LLVM-NEXT: }
|
||||
# LLVM-NEXT: Definition {
|
||||
# LLVM-NEXT: Version: 1
|
||||
|
@ -166,6 +168,7 @@ DynamicSymbols:
|
|||
# LLVM-NEXT: Index: 0
|
||||
# LLVM-NEXT: Hash: 0
|
||||
# LLVM-NEXT: Name: VERSION1
|
||||
# LLVM-NEXT: Predecessors: []
|
||||
# LLVM-NEXT: }
|
||||
# LLVM-NEXT: Definition {
|
||||
# LLVM-NEXT: Version: 1
|
||||
|
@ -175,6 +178,7 @@ DynamicSymbols:
|
|||
# LLVM-NEXT: Index: 0
|
||||
# LLVM-NEXT: Hash: 0
|
||||
# LLVM-NEXT: Name: VERSION1
|
||||
# LLVM-NEXT: Predecessors: []
|
||||
# LLVM-NEXT: }
|
||||
# LLVM-NEXT: Definition {
|
||||
# LLVM-NEXT: Version: 1
|
||||
|
@ -186,6 +190,7 @@ DynamicSymbols:
|
|||
# LLVM-NEXT: Index: 2
|
||||
# LLVM-NEXT: Hash: 175630257
|
||||
# LLVM-NEXT: Name: VERSION1
|
||||
# LLVM-NEXT: Predecessors: []
|
||||
# LLVM-NEXT: }
|
||||
# LLVM-NEXT: Definition {
|
||||
# LLVM-NEXT: Version: 1
|
||||
|
@ -436,6 +441,7 @@ DynamicSymbols:
|
|||
# PAST-STRTAB-END-LLVM-NEXT: Index: 0
|
||||
# PAST-STRTAB-END-LLVM-NEXT: Hash: 0
|
||||
# PAST-STRTAB-END-LLVM-NEXT: Name: <invalid vda_name: 5>
|
||||
# PAST-STRTAB-END-LLVM-NEXT: Predecessors: []
|
||||
# PAST-STRTAB-END-LLVM-NEXT: }
|
||||
# PAST-STRTAB-END-LLVM-NEXT: ]
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# CHECK-NEXT: Index: 1
|
||||
# CHECK-NEXT: Hash: 170240160
|
||||
# CHECK-NEXT: Name: dso.so.0
|
||||
# CHECK-NEXT: Predecessors: []
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: Definition {
|
||||
# CHECK-NEXT: Version: 1
|
||||
|
@ -21,6 +22,7 @@
|
|||
# CHECK-NEXT: Index: 2
|
||||
# CHECK-NEXT: Hash: 108387921
|
||||
# CHECK-NEXT: Name: VERSION_1
|
||||
# CHECK-NEXT: Predecessors: []
|
||||
# CHECK-NEXT: }
|
||||
# CHECK-NEXT: Definition {
|
||||
# CHECK-NEXT: Version: 1
|
||||
|
|
|
@ -5826,9 +5826,6 @@ void LLVMStyle<ELFT>::printVersionDefinitionSection(const ELFFile<ELFT> *Obj,
|
|||
W.printNumber("Index", D.Ndx);
|
||||
W.printNumber("Hash", D.Hash);
|
||||
W.printString("Name", D.Name.c_str());
|
||||
|
||||
if (D.AuxV.empty())
|
||||
continue;
|
||||
W.printList(
|
||||
"Predecessors", D.AuxV,
|
||||
[](raw_ostream &OS, const VerdAux &Aux) { OS << Aux.Name.c_str(); });
|
||||
|
|
Loading…
Reference in New Issue