1RUN: llvm-readobj -program-headers %p/../../Object/Inputs/program-headers.elf-i386 \
2RUN:     | FileCheck %s -check-prefix ELF-I386
3RUN: llvm-readobj -program-headers %p/../../Object/Inputs/program-headers.elf-x86-64 \
4RUN:     | FileCheck %s -check-prefix ELF-X86-64
5RUN: llvm-readobj -program-headers %p/../../Object/Inputs/program-headers.mips \
6RUN:     | FileCheck %s -check-prefix ELF-MIPS
7
8ELF-I386:      ProgramHeaders [
9ELF-I386-NEXT:   ProgramHeader {
10ELF-I386-NEXT:     Type: PT_LOAD (0x1)
11ELF-I386-NEXT:     Offset: 0x0
12ELF-I386-NEXT:     VirtualAddress: 0x8048000
13ELF-I386-NEXT:     PhysicalAddress: 0x8048000
14ELF-I386-NEXT:     FileSize: 308
15ELF-I386-NEXT:     MemSize: 308
16ELF-I386-NEXT:     Flags [ (0x5)
17ELF-I386-NEXT:       PF_R (0x4)
18ELF-I386-NEXT:       PF_X (0x1)
19ELF-I386-NEXT:     ]
20ELF-I386-NEXT:     Alignment: 4096
21ELF-I386-NEXT:   }
22ELF-I386-NEXT:   ProgramHeader {
23ELF-I386-NEXT:     Type: PT_GNU_STACK (0x6474E551)
24ELF-I386-NEXT:     Offset: 0x0
25ELF-I386-NEXT:     VirtualAddress: 0x0
26ELF-I386-NEXT:     PhysicalAddress: 0x0
27ELF-I386-NEXT:     FileSize: 0
28ELF-I386-NEXT:     MemSize: 0
29ELF-I386-NEXT:     Flags [ (0x6)
30ELF-I386-NEXT:       PF_R (0x4)
31ELF-I386-NEXT:       PF_W (0x2)
32ELF-I386-NEXT:     ]
33ELF-I386-NEXT:     Alignment: 4
34ELF-I386-NEXT:   }
35ELF-I386-NEXT: ]
36
37ELF-X86-64:      ProgramHeaders [
38ELF-X86-64-NEXT:   ProgramHeader {
39ELF-X86-64-NEXT:     Type: PT_LOAD (0x1)
40ELF-X86-64-NEXT:     Offset: 0x0
41ELF-X86-64-NEXT:     VirtualAddress: 0x400000
42ELF-X86-64-NEXT:     PhysicalAddress: 0x400000
43ELF-X86-64-NEXT:     FileSize: 312
44ELF-X86-64-NEXT:     MemSize: 312
45ELF-X86-64-NEXT:     Flags [ (0x5)
46ELF-X86-64-NEXT:       PF_R (0x4)
47ELF-X86-64-NEXT:       PF_X (0x1)
48ELF-X86-64-NEXT:     ]
49ELF-X86-64-NEXT:     Alignment: 2097152
50ELF-X86-64-NEXT:   }
51ELF-X86-64-NEXT:   ProgramHeader {
52ELF-X86-64-NEXT:     Type: PT_GNU_EH_FRAME (0x6474E550)
53ELF-X86-64-NEXT:     Offset: 0xF4
54ELF-X86-64-NEXT:     VirtualAddress: 0x4000F4
55ELF-X86-64-NEXT:     PhysicalAddress: 0x4000F4
56ELF-X86-64-NEXT:     FileSize: 20
57ELF-X86-64-NEXT:     MemSize: 20
58ELF-X86-64-NEXT:     Flags [ (0x4)
59ELF-X86-64-NEXT:       PF_R (0x4)
60ELF-X86-64-NEXT:     ]
61ELF-X86-64-NEXT:     Alignment: 4
62ELF-X86-64-NEXT:   }
63ELF-X86-64-NEXT:   ProgramHeader {
64ELF-X86-64-NEXT:     Type: PT_GNU_STACK (0x6474E551)
65ELF-X86-64-NEXT:     Offset: 0x0
66ELF-X86-64-NEXT:     VirtualAddress: 0x0
67ELF-X86-64-NEXT:     PhysicalAddress: 0x0
68ELF-X86-64-NEXT:     FileSize: 0
69ELF-X86-64-NEXT:     MemSize: 0
70ELF-X86-64-NEXT:     Flags [ (0x6)
71ELF-X86-64-NEXT:       PF_R (0x4)
72ELF-X86-64-NEXT:       PF_W (0x2)
73ELF-X86-64-NEXT:     ]
74ELF-X86-64-NEXT:     Alignment: 8
75ELF-X86-64-NEXT:   }
76ELF-X86-64-NEXT: ]
77
78ELF-MIPS:      ProgramHeaders [
79ELF-MIPS-NEXT:   ProgramHeader {
80ELF-MIPS-NEXT:     Type: PT_MIPS_REGINFO (0x70000000)
81ELF-MIPS-NEXT:     Offset: 0x74
82ELF-MIPS-NEXT:     VirtualAddress: 0x400074
83ELF-MIPS-NEXT:     PhysicalAddress: 0x400074
84ELF-MIPS-NEXT:     FileSize: 24
85ELF-MIPS-NEXT:     MemSize: 24
86ELF-MIPS-NEXT:     Flags [ (0x4)
87ELF-MIPS-NEXT:       PF_R (0x4)
88ELF-MIPS-NEXT:     ]
89ELF-MIPS-NEXT:     Alignment: 4
90ELF-MIPS-NEXT:   }
91ELF-MIPS-NEXT:   ProgramHeader {
92ELF-MIPS-NEXT:     Type: PT_LOAD (0x1)
93ELF-MIPS-NEXT:     Offset: 0x0
94ELF-MIPS-NEXT:     VirtualAddress: 0x400000
95ELF-MIPS-NEXT:     PhysicalAddress: 0x400000
96ELF-MIPS-NEXT:     FileSize: 160
97ELF-MIPS-NEXT:     MemSize: 160
98ELF-MIPS-NEXT:     Flags [ (0x5)
99ELF-MIPS-NEXT:       PF_R (0x4)
100ELF-MIPS-NEXT:       PF_X (0x1)
101ELF-MIPS-NEXT:     ]
102ELF-MIPS-NEXT:     Alignment: 65536
103ELF-MIPS-NEXT:   }
104ELF-MIPS-NEXT: ]
105