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