1## Check that with ELF input --private-headers outputs the program header, 2## dynamic section and version definitions. 3# RUN: yaml2obj %s -o %t 4# RUN: llvm-objdump --private-headers %t | FileCheck %s 5 6# CHECK: Program Header: 7# CHECK-NEXT: LOAD off 0x00000000000000b0 vaddr 0x0000000000001000 paddr 0x0000000000001000 align 2**0 8# CHECK-NEXT: filesz 0x000000000000003d memsz 0x000000000000003d flags --- 9# CHECK-NEXT: DYNAMIC off 0x00000000000000cd vaddr 0x000000000000101d paddr 0x000000000000101d align 2**0 10# CHECK-NEXT: filesz 0x0000000000000020 memsz 0x0000000000000020 flags --- 11# CHECK: Dynamic Section: 12# CHECK-NEXT: NEEDED bar 13# CHECK: Version definitions: 14# CHECK-NEXT: 1 0x01 0x075bcd15 foo 15# CHECK-NEXT: 2 0x02 0x3ade68b1 VERSION_1 16# CHECK-NEXT: VERSION_2 17 18--- !ELF 19FileHeader: 20 Class: ELFCLASS64 21 Data: ELFDATA2LSB 22 Type: ET_EXEC 23 Machine: EM_X86_64 24Sections: 25 - Name: .dynstr 26 Type: SHT_STRTAB 27 Address: 0x1000 28 Content: "0062617200666F6F0056455253494F4E5F320056455253494F4E5F3100" 29 # Content is: bar, foo, VERSION_2, VERSION_1 30 - Name: .dynamic 31 Type: SHT_DYNAMIC 32 Flags: [ SHF_ALLOC ] 33 Entries: 34 - Tag: DT_NEEDED 35 Value: 0x1 36 - Tag: DT_NULL 37 Value: 0x0 38 - Name: .gnu.version_d 39 Type: SHT_GNU_verdef 40 Entries: 41 - Version: 1 42 Flags: 1 43 VersionNdx: 1 44 Hash: 123456789 45 Names: 46 - foo 47 - Version: 1 48 Flags: 2 49 VersionNdx: 2 50 Hash: 987654321 51 Names: 52 - VERSION_1 53 - VERSION_2 54ProgramHeaders: 55 - Type: PT_LOAD 56 VAddr: 0x1000 57 FirstSec: .dynstr 58 LastSec: .dynamic 59 - Type: PT_DYNAMIC 60 VAddr: 0x101D 61 FirstSec: .dynamic 62 LastSec: .dynamic 63DynamicSymbols: 64 - Name: bar 65 Binding: STB_GLOBAL 66