## Check we are able to produce a valid SHT_GNU_versym
## section from its description.

# RUN: yaml2obj --docnum=1 %s -o %t1
# RUN: llvm-readobj -V %t1 | FileCheck %s

# CHECK:      VersionSymbols [
# 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: VersionDefinitions [
# CHECK-NEXT: ]
# CHECK-NEXT: VersionRequirements [
# CHECK-NEXT:   Dependency {
# CHECK-NEXT:     Version: 1
# CHECK-NEXT:     Count: 2
# CHECK-NEXT:     FileName: dso.so.0
# 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: ]

--- !ELF
FileHeader:
  Class:           ELFCLASS64
  Data:            ELFDATA2LSB
  Type:            ET_EXEC
  Machine:         EM_X86_64
  Entry:           0x0000000000201000
Sections:
  - Name:            .gnu.version
    Type:            SHT_GNU_versym
    Flags:           [ SHF_ALLOC ]
    Address:         0x0000000000200210
    Link:            .dynsym
    AddressAlign:    0x0000000000000002
    EntSize:         0x0000000000000002
    Entries:         [ 0, 3, 4 ]
  - Name:            .gnu.version_r
    Type:            SHT_GNU_verneed
    Flags:           [ SHF_ALLOC ]
    Address:         0x0000000000200250
    Link:            .dynstr
    AddressAlign:    0x0000000000000004
    Info:            0x0000000000000001
    Dependencies:
      - Version:         1
        File:            dso.so.0
        Entries:         
          - Name:            v1
            Hash:            1937
            Flags:           0
            Other:           3
          - Name:            v2
            Hash:            1938
            Flags:           0
            Other:           4
DynamicSymbols:
  - Name:    f1
    Binding: STB_GLOBAL
  - Name:    f2
    Binding: STB_GLOBAL
...

## Check we are able to set custom sh_entsize field for SHT_GNU_versym section.

# RUN: yaml2obj --docnum=2 %s -o %t2
# RUN: llvm-readelf -S %t2 | FileCheck %s --check-prefix=ENTSIZE

# ENTSIZE: Section Headers:
# ENTSIZE:   [Nr] Name         Type   Address          Off    Size   ES
# ENTSIZE:   [ 1] .gnu.version VERSYM 0000000000000000 000040 000000 03

--- !ELF
FileHeader:
  Class:   ELFCLASS64
  Data:    ELFDATA2LSB
  OSABI:   ELFOSABI_FREEBSD
  Type:    ET_DYN
  Machine: EM_X86_64
Sections:
  - Name:    .gnu.version
    Type:    SHT_GNU_versym
    EntSize: 0x0000000000000003
    Entries: [ ]
