llvm/llvm/test/tools/obj2yaml/ELF/verneed-section.yaml

## Check that we are able to yamalize the SHT_GNU_verneed section.
## Check we don't dump the `Info` field when its value
## is equal to the number of version dependencies.

# RUN: yaml2obj %s -o %t
# RUN: obj2yaml %t | FileCheck %s

# CHECK:      - Name:            .gnu.version_r
# CHECK-NEXT:   Type:            SHT_GNU_verneed
# CHECK-NEXT:   Flags:           [ SHF_ALLOC ]
# CHECK-NEXT:   Address:         0x200250
# CHECK-NEXT:   Link:            .dynstr
# CHECK-NEXT:   AddressAlign:    0x4
# INFO-NEXT:    Info:            0x3
# CHECK-NEXT:   Dependencies:
# CHECK-NEXT:     - Version:         1
# CHECK-NEXT:       File:            dso.so.0
# CHECK-NEXT:       Entries:
# CHECK-NEXT:         - Name:            v1
# CHECK-NEXT:           Hash:            1937
# CHECK-NEXT:           Flags:           10
# CHECK-NEXT:           Other:           3
# CHECK-NEXT:         - Name:            v2
# CHECK-NEXT:           Hash:            1938
# CHECK-NEXT:           Flags:           11
# CHECK-NEXT:           Other:           4
# CHECK-NEXT:     - Version:         1
# CHECK-NEXT:       File:            dso.so.1
# CHECK-NEXT:       Entries:
# CHECK-NEXT:         - Name:            v3
# CHECK-NEXT:           Hash:            1939
# CHECK-NEXT:           Flags:           12
# CHECK-NEXT:           Other:           2

--- !ELF
FileHeader:
  Class: ELFCLASS64
  Data:  ELFDATA2LSB
  Type:  ET_EXEC
  Entry: 0x0000000000201000
Sections:
  - Name:         .gnu.version_r
    Type:         SHT_GNU_verneed
    Flags:        [ SHF_ALLOC ]
    Address:      0x200250
    AddressAlign: 4
    Info:         [[INFO=<none>]]
    Dependencies:
      - Version:         1
        File:            dso.so.0
        Entries:
          - Name:            v1
            Hash:            1937
            Flags:           10
            Other:           3
          - Name:            v2
            Hash:            1938
            Flags:           11
            Other:           4
      - Version:         1
        File:            dso.so.1
        Entries:
          - Name:            v3
            Hash:            1939
            Flags:           12
            Other:           2
DynamicSymbols:
  - Name:    f1
    Binding: STB_GLOBAL

## Check we dump the `Info` field when its value
## is not equal to the number of version dependencies.

# RUN: yaml2obj %s -DINFO=0x3 -o %t.info
# RUN: obj2yaml %t.info | FileCheck %s --check-prefixes=CHECK,INFO