| ## 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 |