[llvm] r358078 - [llvm-readobj] Should declare `ListScope` for `verneed` entries.

Xing GUO via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 10 05:47:21 PDT 2019


Author: higuoxing
Date: Wed Apr 10 05:47:21 2019
New Revision: 358078

URL: http://llvm.org/viewvc/llvm-project?rev=358078&view=rev
Log:
[llvm-readobj] Should declare `ListScope` for `verneed` entries.

Summary: YAML mappings require keys to be unique. See: https://yaml.org/spec/1.2/spec.html#id2764652

Reviewers: jhenderson, grimar, rupprecht, espindola, ruiu

Reviewed By: ruiu

Subscribers: ruiu, emaste, arichardson, MaskRay, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D60438

Modified:
    llvm/trunk/test/tools/llvm-readobj/elf-versioninfo.test
    llvm/trunk/test/tools/yaml2obj/verneed-section.yaml
    llvm/trunk/test/tools/yaml2obj/versym-section.yaml
    llvm/trunk/tools/llvm-readobj/ELFDumper.cpp

Modified: llvm/trunk/test/tools/llvm-readobj/elf-versioninfo.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-readobj/elf-versioninfo.test?rev=358078&r1=358077&r2=358078&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-readobj/elf-versioninfo.test (original)
+++ llvm/trunk/test/tools/llvm-readobj/elf-versioninfo.test Wed Apr 10 05:47:21 2019
@@ -92,29 +92,33 @@ LLVM-VERNEED-NEXT:   Dependency {
 LLVM-VERNEED-NEXT:     Version: 1
 LLVM-VERNEED-NEXT:     Count: 2
 LLVM-VERNEED-NEXT:     FileName: verneed1.so.0
-LLVM-VERNEED-NEXT:     Entry {
-LLVM-VERNEED-NEXT:       Hash: 1938
-LLVM-VERNEED-NEXT:       Flags: 0x0
-LLVM-VERNEED-NEXT:       Index: 3
-LLVM-VERNEED-NEXT:       Name: v2
-LLVM-VERNEED-NEXT:     }
-LLVM-VERNEED-NEXT:     Entry {
-LLVM-VERNEED-NEXT:       Hash: 1939
-LLVM-VERNEED-NEXT:       Flags: 0x0
-LLVM-VERNEED-NEXT:       Index: 2
-LLVM-VERNEED-NEXT:       Name: v3
-LLVM-VERNEED-NEXT:     }
+LLVM-VERNEED-NEXT:     Entries [
+LLVM-VERNEED-NEXT:       Entry {
+LLVM-VERNEED-NEXT:         Hash: 1938
+LLVM-VERNEED-NEXT:         Flags: 0x0
+LLVM-VERNEED-NEXT:         Index: 3
+LLVM-VERNEED-NEXT:         Name: v2
+LLVM-VERNEED-NEXT:       }
+LLVM-VERNEED-NEXT:       Entry {
+LLVM-VERNEED-NEXT:         Hash: 1939
+LLVM-VERNEED-NEXT:         Flags: 0x0
+LLVM-VERNEED-NEXT:         Index: 2
+LLVM-VERNEED-NEXT:         Name: v3
+LLVM-VERNEED-NEXT:       }
+LLVM-VERNEED-NEXT:     ]
 LLVM-VERNEED-NEXT:   }
 LLVM-VERNEED-NEXT:   Dependency {
 LLVM-VERNEED-NEXT:     Version: 1
 LLVM-VERNEED-NEXT:     Count: 1
 LLVM-VERNEED-NEXT:     FileName: verneed2.so.0
-LLVM-VERNEED-NEXT:     Entry {
-LLVM-VERNEED-NEXT:       Hash: 1937
-LLVM-VERNEED-NEXT:       Flags: 0x0
-LLVM-VERNEED-NEXT:       Index: 4
-LLVM-VERNEED-NEXT:       Name: v1
-LLVM-VERNEED-NEXT:     }
+LLVM-VERNEED-NEXT:     Entries [
+LLVM-VERNEED-NEXT:       Entry {
+LLVM-VERNEED-NEXT:         Hash: 1937
+LLVM-VERNEED-NEXT:         Flags: 0x0
+LLVM-VERNEED-NEXT:         Index: 4
+LLVM-VERNEED-NEXT:         Name: v1
+LLVM-VERNEED-NEXT:       }
+LLVM-VERNEED-NEXT:     ]
 LLVM-VERNEED-NEXT:   }
 LLVM-VERNEED-NEXT: }
 

Modified: llvm/trunk/test/tools/yaml2obj/verneed-section.yaml
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/yaml2obj/verneed-section.yaml?rev=358078&r1=358077&r2=358078&view=diff
==============================================================================
--- llvm/trunk/test/tools/yaml2obj/verneed-section.yaml (original)
+++ llvm/trunk/test/tools/yaml2obj/verneed-section.yaml Wed Apr 10 05:47:21 2019
@@ -8,29 +8,33 @@
 # CHECK-NEXT:     Version: 1
 # CHECK-NEXT:     Count: 2
 # CHECK-NEXT:     FileName: dso.so.0
-# CHECK-NEXT:     Entry {
-# CHECK-NEXT:       Hash: 1937
-# CHECK-NEXT:       Flags: 0xA
-# CHECK-NEXT:       Index: 3
-# CHECK-NEXT:       Name: v1
-# CHECK-NEXT:     }
-# CHECK-NEXT:     Entry {
-# CHECK-NEXT:       Hash: 1938
-# CHECK-NEXT:       Flags: 0xB
-# CHECK-NEXT:       Index: 4
-# CHECK-NEXT:       Name: v2
-# CHECK-NEXT:     }
+# CHECK-NEXT:     Entries [
+# CHECK-NEXT:       Entry {
+# CHECK-NEXT:         Hash: 1937
+# CHECK-NEXT:         Flags: 0xA
+# CHECK-NEXT:         Index: 3
+# CHECK-NEXT:         Name: v1
+# CHECK-NEXT:       }
+# CHECK-NEXT:       Entry {
+# CHECK-NEXT:         Hash: 1938
+# CHECK-NEXT:         Flags: 0xB
+# CHECK-NEXT:         Index: 4
+# CHECK-NEXT:         Name: v2
+# CHECK-NEXT:       }
+# CHECK-NEXT:     ]
 # CHECK-NEXT:   }
 # CHECK-NEXT:   Dependency {
 # CHECK-NEXT:     Version: 1
 # CHECK-NEXT:     Count: 1
 # CHECK-NEXT:     FileName: dso.so.1
-# CHECK-NEXT:     Entry {
-# CHECK-NEXT:       Hash: 1939
-# CHECK-NEXT:       Flags: 0xC
-# CHECK-NEXT:       Index: 2
-# CHECK-NEXT:       Name: v3
-# CHECK-NEXT:     }
+# CHECK-NEXT:     Entries [
+# CHECK-NEXT:       Entry {
+# CHECK-NEXT:         Hash: 1939
+# CHECK-NEXT:         Flags: 0xC
+# CHECK-NEXT:         Index: 2
+# CHECK-NEXT:         Name: v3
+# CHECK-NEXT:       }
+# CHECK-NEXT:     ]
 # CHECK-NEXT:   }
 # CHECK-NEXT: }
 

Modified: llvm/trunk/test/tools/yaml2obj/versym-section.yaml
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/yaml2obj/versym-section.yaml?rev=358078&r1=358077&r2=358078&view=diff
==============================================================================
--- llvm/trunk/test/tools/yaml2obj/versym-section.yaml (original)
+++ llvm/trunk/test/tools/yaml2obj/versym-section.yaml Wed Apr 10 05:47:21 2019
@@ -31,18 +31,20 @@
 # CHECK-NEXT:     Version: 1
 # CHECK-NEXT:     Count: 2
 # CHECK-NEXT:     FileName: dso.so.0
-# CHECK-NEXT:     Entry {
-# CHECK-NEXT:       Hash: 1937
-# CHECK-NEXT:       Flags: 0x0
-# CHECK-NEXT:       Index: 3
-# CHECK-NEXT:       Name: v1
-# CHECK-NEXT:     }
-# CHECK-NEXT:     Entry {
-# CHECK-NEXT:       Hash: 1938
-# CHECK-NEXT:       Flags: 0x0
-# CHECK-NEXT:       Index: 4
-# CHECK-NEXT:       Name: v2
-# CHECK-NEXT:     }
+# CHECK-NEXT:     Entries [
+# CHECK-NEXT:       Entry {
+# CHECK-NEXT:         Hash: 1937
+# CHECK-NEXT:         Flags: 0x0
+# CHECK-NEXT:         Index: 3
+# CHECK-NEXT:         Name: v1
+# CHECK-NEXT:       }
+# CHECK-NEXT:       Entry {
+# CHECK-NEXT:         Hash: 1938
+# CHECK-NEXT:         Flags: 0x0
+# CHECK-NEXT:         Index: 4
+# CHECK-NEXT:         Name: v2
+# CHECK-NEXT:       }
+# CHECK-NEXT:     ]
 # CHECK-NEXT:   }
 # CHECK-NEXT: }
 

Modified: llvm/trunk/tools/llvm-readobj/ELFDumper.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-readobj/ELFDumper.cpp?rev=358078&r1=358077&r2=358078&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-readobj/ELFDumper.cpp (original)
+++ llvm/trunk/tools/llvm-readobj/ELFDumper.cpp Wed Apr 10 05:47:21 2019
@@ -4635,6 +4635,7 @@ void LLVMStyle<ELFT>::printVersionDepend
                       Obj->base() + StrTab->sh_offset + Verneed->vn_file)));
 
     const uint8_t *VernauxBuf = VerneedBuf + Verneed->vn_aux;
+    ListScope L(W, "Entries");
     for (unsigned J = 0; J < Verneed->vn_cnt; ++J) {
       const Elf_Vernaux *Vernaux =
           reinterpret_cast<const Elf_Vernaux *>(VernauxBuf);




More information about the llvm-commits mailing list