1# RUN: yaml2obj %s -o %t
2# RUN: llvm-objcopy %t %t2
3# RUN: llvm-readobj -program-headers %t2 | FileCheck %s
4
5!ELF
6FileHeader:
7  Class:           ELFCLASS64
8  Data:            ELFDATA2LSB
9  Type:            ET_EXEC
10  Machine:         EM_X86_64
11Sections:
12  - Name:            .text
13    Type:            SHT_PROGBITS
14    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
15    Address:         0xAAAA1000
16    AddressAlign:    0x0000000000001000
17    Content:         "00000000"
18  - Name:            .init
19    Type:            SHT_PROGBITS
20    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
21    Content:         "00000000"
22    Address:         0xAAAA1010
23    AddressAlign:    0x0000000000000010
24  - Name:            .data
25    Type:            SHT_PROGBITS
26    Flags:           [ SHF_ALLOC ]
27    Content:         "00000000"
28    Address:         0xAAAA2000
29    AddressAlign:    0x0000000000001000
30ProgramHeaders:
31  - Type: PT_LOAD
32    Flags: [ PF_X, PF_R ]
33    VAddr: 0xAAAA1000
34    PAddr: 0xFFFF1000
35    Sections:
36      - Section: .text
37      - Section: .init
38  - Type: PT_LOAD
39    Flags: [ PF_R ]
40    VAddr: 0xAAAA2000
41    PAddr: 0xFFFF2000
42    Sections:
43      - Section: .data
44
45#CHECK:     ProgramHeaders [
46#CHECK-NEXT:   ProgramHeader {
47#CHECK-NEXT:    Type: PT_LOAD
48#CHECK-NEXT:    Offset: 0x1000
49#CHECK-NEXT:    VirtualAddress: 0xAAAA1000
50#CHECK-NEXT:    PhysicalAddress: 0xFFFF1000
51#CHECK-NEXT:    FileSize: 20
52#CHECK-NEXT:    MemSize: 20
53#CHECK-NEXT:    Flags [
54#CHECK-NEXT:      PF_R
55#CHECK-NEXT:      PF_X
56#CHECK-NEXT:    ]
57#CHECK-NEXT:    Alignment: 4096
58#CHECK-NEXT:  }
59#CHECK-NEXT:  ProgramHeader {
60#CHECK-NEXT:    Type: PT_LOAD
61#CHECK-NEXT:    Offset: 0x2000
62#CHECK-NEXT:    VirtualAddress: 0xAAAA2000
63#CHECK-NEXT:    PhysicalAddress: 0xFFFF2000
64#CHECK-NEXT:    FileSize: 4
65#CHECK-NEXT:    MemSize: 4
66#CHECK-NEXT:    Flags [
67#CHECK-NEXT:      PF_R
68#CHECK-NEXT:    ]
69#CHECK-NEXT:    Alignment: 4096
70#CHECK-NEXT:  }
71#CHECK-NEXT:]
72