Our LLVM-style output was inconsistent.
This patch changes the output in the following way:
SHT_GNU_verdef { -> VersionDefinitions [
SHT_GNU_verneed { -> VersionRequirements [
Version symbols [ -> VersionSymbols [
EH_FRAME Header [ -> EHFrameHeader {
Differential revision: https://reviews.llvm.org/D68636
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@375095
91177308-0d34-0410-b5e6-
96231b3b80d8
# Test that multiple sections with the same type does not trigger an error.
# CHECK: ElfHeader {
-# CHECK: SHT_GNU_verdef {
-# CHECK: SHT_GNU_verneed {
+# CHECK: VersionDefinitions [
+# CHECK: VersionRequirements [
# CHECK: CGProfile [
# CHECK: Addrsig [
# LLVM-ALL: Sections [
# LLVM-ALL: Relocations [
# LLVM-ALL: Symbols [
+# LLVM-ALL: EHFrameHeader {
+# LLVM-ALL: .eh_frame section at offset 0x1128 address 0x0:
# LLVM-ALL: ProgramHeaders [
-# LLVM-ALL: Version symbols [
-# LLVM-ALL: SHT_GNU_verdef {
-# LLVM-ALL: SHT_GNU_verneed {
+# LLVM-ALL: VersionSymbols [
+# LLVM-ALL: VersionDefinitions [
+# LLVM-ALL: VersionRequirements [
# LLVM-ALL: Addrsig [
# LLVM-ALL: Notes [
# LLVM-ALL: StackSizes [
# GNU-ALL: There are {{.*}} section headers, starting at offset {{.*}}:
# GNU-ALL: Relocation section '.rela.data' at offset {{.*}} contains {{.*}} entries:
# GNU-ALL: Symbol table '.symtab' contains {{.*}} entries:
-# GNU-ALL: EH_FRAME Header [
+# GNU-ALL: EHFrameHeader {
# GNU-ALL: .eh_frame section at offset {{.*}} address 0x0:
# GNU-ALL: Dynamic section at offset {{.*}} contains {{.*}} entries:
# GNU-ALL: Program Headers:
# RUN: llvm-readobj -V %t | FileCheck %s --check-prefix=LLVM-VERDEF
# RUN: llvm-readelf -V %t | FileCheck %s --check-prefix=GNU-VERDEF
-# LLVM-VERDEF: SHT_GNU_verneed {
+# LLVM-VERDEF: VersionRequirements [
# LLVM-VERDEF-NEXT: Dependency {
# LLVM-VERDEF-NEXT: Version: 1
# LLVM-VERDEF-NEXT: Count: 6
# LLVM-VERDEF-NEXT: }
# LLVM-VERDEF-NEXT: ]
# LLVM-VERDEF-NEXT: }
-# LLVM-VERDEF-NEXT: }
+# LLVM-VERDEF-NEXT: ]
# GNU-VERDEF: Version needs section '.gnu.version_r' contains 1 entries:
# GNU-VERDEF-NEXT: Addr: 0000000000000000 Offset: 0x000200 Link: 6 (.dynstr)
Binding: STB_GLOBAL
...
-# LLVM: Version symbols [
+# LLVM: VersionSymbols [
# LLVM-NEXT: Symbol {
# LLVM-NEXT: Version: 0
# LLVM-NEXT: Name:
# LLVM-NEXT: Name: sym5@v3
# LLVM-NEXT: }
# LLVM-NEXT: ]
-# LLVM-NEXT: SHT_GNU_verdef {
+# LLVM-NEXT: VersionDefinitions [
# LLVM-NEXT: Definition {
# LLVM-NEXT: Version: 1
# LLVM-NEXT: Flags: 0x0
# LLVM-NEXT: Name: VERSION2
# LLVM-NEXT: Predecessor: VERSION1
# LLVM-NEXT: }
-# LLVM-NEXT: }
-# LLVM-NEXT: SHT_GNU_verneed {
+# LLVM-NEXT: ]
+# LLVM-NEXT: VersionRequirements [
# LLVM-NEXT: Dependency {
# LLVM-NEXT: Version: 1
# LLVM-NEXT: Count: 2
# LLVM-NEXT: }
# LLVM-NEXT: ]
# LLVM-NEXT: }
-# LLVM-NEXT: }
+# LLVM-NEXT: ]
# GNU: Version symbols section '.gnu.version' contains 6 entries:
# GNU-NEXT: Addr: 0000000000000000 Offset: 0x000040 Link: 7 (.dynsym)
# RUN: yaml2obj %s > %t.exe
# RUN: llvm-readobj --unwind %t.exe | FileCheck %s
-# CHECK: EH_FRAME Header [
+# CHECK: EHFrameHeader {
# CHECK-NEXT: Address: 0x4013c0
# CHECK-NEXT: Offset: 0xbc
# CHECK-NEXT: Size: 0x3c
# CHECK-NEXT: address: 0x4014f0
# CHECK-NEXT: }
# CHECK-NEXT: }
-# CHECK-NEXT:]
+# CHECK-NEXT:}
# CHECK: .eh_frame section at offset 0xf8 address 0x401400:
# CHECK-NEXT: [0x401400] CIE length=20
# Check we are able to handle the SHT_GNU_verdef sections.
-# CHECK: SHT_GNU_verdef {
+# CHECK: VersionDefinitions [
# CHECK-NEXT: Definition {
# CHECK-NEXT: Version: 1
# CHECK-NEXT: Flags: Base
# CHECK-NEXT: Name: VERSION_2
# CHECK-NEXT: Predecessor: VERSION_3
# CHECK-NEXT: }
-# CHECK-NEXT: }
+# CHECK-NEXT: ]
--- !ELF
FileHeader:
# Check we are able to handle the SHT_GNU_verneed sections.
-# CHECK: SHT_GNU_verneed {
+# CHECK: VersionRequirements [
# CHECK-NEXT: Dependency {
# CHECK-NEXT: Version: 1
# CHECK-NEXT: Count: 2
# CHECK-NEXT: }
# CHECK-NEXT: ]
# CHECK-NEXT: }
-# CHECK-NEXT: }
+# CHECK-NEXT: ]
--- !ELF
FileHeader:
# RUN: yaml2obj --docnum=1 %s -o %t1
# RUN: llvm-readobj -V %t1 | FileCheck %s
-# CHECK: Version symbols [
+# CHECK: VersionSymbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Version: 0
# CHECK-NEXT: Name:
# CHECK-NEXT: Name: f2@v2
# CHECK-NEXT: }
# CHECK-NEXT: ]
-# CHECK-NEXT: SHT_GNU_verdef {
-# CHECK-NEXT: }
-# CHECK-NEXT: SHT_GNU_verneed {
+# CHECK-NEXT: VersionDefinitions [
+# CHECK-NEXT: ]
+# CHECK-NEXT: VersionRequirements [
# CHECK-NEXT: Dependency {
# CHECK-NEXT: Version: 1
# CHECK-NEXT: Count: 2
# CHECK-NEXT: }
# CHECK-NEXT: ]
# CHECK-NEXT: }
-# CHECK-NEXT: }
+# CHECK-NEXT: ]
--- !ELF
FileHeader:
void PrinterContext<ELFT>::printEHFrameHdr(uint64_t EHFrameHdrOffset,
uint64_t EHFrameHdrAddress,
uint64_t EHFrameHdrSize) const {
- ListScope L(W, "EH_FRAME Header");
+ DictScope L(W, "EHFrameHeader");
W.startLine() << format("Address: 0x%" PRIx64 "\n", EHFrameHdrAddress);
W.startLine() << format("Offset: 0x%" PRIx64 "\n", EHFrameHdrOffset);
W.startLine() << format("Size: 0x%" PRIx64 "\n", EHFrameHdrSize);
template <class ELFT>
void LLVMStyle<ELFT>::printVersionSymbolSection(const ELFFile<ELFT> *Obj,
const Elf_Shdr *Sec) {
- ListScope SS(W, "Version symbols");
+ ListScope SS(W, "VersionSymbols");
if (!Sec)
return;
template <class ELFT>
void LLVMStyle<ELFT>::printVersionDefinitionSection(const ELFFile<ELFT> *Obj,
const Elf_Shdr *Sec) {
- DictScope SD(W, "SHT_GNU_verdef");
+ ListScope SD(W, "VersionDefinitions");
if (!Sec)
return;
template <class ELFT>
void LLVMStyle<ELFT>::printVersionDependencySection(const ELFFile<ELFT> *Obj,
const Elf_Shdr *Sec) {
- DictScope SD(W, "SHT_GNU_verneed");
+ ListScope SD(W, "VersionRequirements");
if (!Sec)
return;