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

76 lines
2.4 KiB
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