llvm-readobj: zero out timestamp in COFF auto-generated test files.
[oota-llvm.git] / test / tools / llvm-readobj / file-headers.test
1 RUN: llvm-readobj -h %p/Inputs/trivial.obj.coff-arm \
2 RUN:   | FileCheck %s -check-prefix COFF-ARM
3 RUN: llvm-readobj -h %p/Inputs/trivial.obj.coff-i386 \
4 RUN:   | FileCheck %s -check-prefix COFF32
5 RUN: llvm-readobj -h %p/Inputs/trivial.obj.coff-x86-64 \
6 RUN:   | FileCheck %s -check-prefix COFF64
7 RUN: llvm-readobj -h %p/Inputs/trivial.exe.coff-i386 \
8 RUN:   | FileCheck %s -check-prefix PE32
9 RUN: llvm-readobj -h %p/Inputs/trivial.obj.elf-i386 \
10 RUN:   | FileCheck %s -check-prefix ELF32
11 RUN: llvm-readobj -h %p/Inputs/trivial.obj.elf-x86-64 \
12 RUN:   | FileCheck %s -check-prefix ELF64
13 RUN: llvm-readobj -h %p/Inputs/magic.coff-unknown \
14 RUN:   | FileCheck %s -check-prefix COFF-UNKNOWN
15 RUN: llvm-readobj -h %p/Inputs/magic.coff-importlib \
16 RUN:   | FileCheck %s -check-prefix COFF-IMPORTLIB
17
18 COFF-ARM:      File: {{(.*[/\\])?}}trivial.obj.coff-arm
19 COFF-ARM-NEXT: Format: COFF-ARM
20 COFF-ARM-NEXT: Arch: thumb
21 COFF-ARM-NEXT: AddressSize: 32bit
22 COFF-ARM-NEXT: ImageFileHeader {
23 COFF-ARM-NEXT:   Machine: IMAGE_FILE_MACHINE_ARMNT (0x1C4)
24 COFF-ARM-NEXT:   SectionCount: 2
25 COFF-ARM-NEXT:   TimeDateStamp: 2014-03-13 02:48:34 (0x53211C82)
26 COFF-ARM-NEXT:   PointerToSymbolTable: 0xFF
27 COFF-ARM-NEXT:   SymbolCount: 6
28 COFF-ARM-NEXT:   OptionalHeaderSize: 0
29 COFF-ARM-NEXT:   Characteristics [ (0x0)
30 COFF-ARM-NEXT:   ]
31 COFF-ARM-NEXT: }
32
33 COFF32:      File: {{(.*[/\\])?}}trivial.obj.coff-i386
34 COFF32-NEXT: Format: COFF-i386
35 COFF32-NEXT: Arch: i386
36 COFF32-NEXT: AddressSize: 32bit
37 COFF32-NEXT: ImageFileHeader {
38 COFF32-NEXT:   Machine: IMAGE_FILE_MACHINE_I386 (0x14C)
39 COFF32-NEXT:   SectionCount: 2
40 COFF32-NEXT:   TimeDateStamp: 2013-03-20 17:56:46 (0x5149F85E)
41 COFF32-NEXT:   PointerToSymbolTable: 0xA5
42 COFF32-NEXT:   SymbolCount: 9
43 COFF32-NEXT:   OptionalHeaderSize: 0
44 COFF32-NEXT:   Characteristics [ (0x0)
45 COFF32-NEXT:   ]
46 COFF32-NEXT: }
47
48 COFF64:      File: {{(.*[/\\])?}}trivial.obj.coff-x86-64
49 COFF64-NEXT: Format: COFF-x86-64
50 COFF64-NEXT: Arch: x86_64
51 COFF64-NEXT: AddressSize: 64bit
52 COFF64-NEXT: ImageFileHeader {
53 COFF64-NEXT:   Machine: IMAGE_FILE_MACHINE_AMD64 (0x8664)
54 COFF64-NEXT:   SectionCount: 2
55 COFF64-NEXT:   TimeDateStamp: 2013-03-20 17:56:46 (0x5149F85E)
56 COFF64-NEXT:   PointerToSymbolTable: 0xAB
57 COFF64-NEXT:   SymbolCount: 7
58 COFF64-NEXT:   OptionalHeaderSize: 0
59 COFF64-NEXT:   Characteristics [ (0x0)
60 COFF64-NEXT:   ]
61 COFF64-NEXT: }
62
63 ELF32:      File: {{(.*[/\\])?}}trivial.obj.elf-i386
64 ELF32-NEXT: Format: ELF32-i386
65 ELF32-NEXT: Arch: i386
66 ELF32-NEXT: AddressSize: 32bit
67 ELF32-NEXT: LoadName:
68 ELF32-NEXT: ElfHeader {
69 ELF32-NEXT:   Ident {
70 ELF32-NEXT:     Magic: (7F 45 4C 46)
71 ELF32-NEXT:     Class: 32-bit (0x1)
72 ELF32-NEXT:     DataEncoding: LittleEndian (0x1)
73 ELF32-NEXT:     FileVersion: 1
74 ELF32-NEXT:     OS/ABI: GNU/Linux (0x3)
75 ELF32-NEXT:     ABIVersion: 0
76 ELF32-NEXT:     Unused: (00 00 00 00 00 00 00)
77 ELF32-NEXT:   }
78 ELF32-NEXT:   Type: Relocatable (0x1)
79 ELF32-NEXT:   Machine: EM_386 (0x3)
80 ELF32-NEXT:   Version: 1
81 ELF32-NEXT:   Entry: 0x0
82 ELF32-NEXT:   ProgramHeaderOffset: 0x0
83 ELF32-NEXT:   SectionHeaderOffset: 0xC8
84 ELF32-NEXT:   Flags [ (0x0)
85 ELF32-NEXT:   ]
86 ELF32-NEXT:   HeaderSize: 52
87 ELF32-NEXT:   ProgramHeaderEntrySize: 0
88 ELF32-NEXT:   ProgramHeaderCount: 0
89 ELF32-NEXT:   SectionHeaderEntrySize: 40
90 ELF32-NEXT:   SectionHeaderCount: 10
91 ELF32-NEXT:   StringTableSectionIndex: 7
92 ELF32-NEXT: }
93
94 ELF64:      File: {{(.*[/\\])?}}trivial.obj.elf-x86-64
95 ELF64-NEXT: Format: ELF64-x86-64
96 ELF64-NEXT: Arch: x86_64
97 ELF64-NEXT: AddressSize: 64bit
98 ELF64-NEXT: LoadName:
99 ELF64-NEXT: ElfHeader {
100 ELF64-NEXT:   Ident {
101 ELF64-NEXT:     Magic: (7F 45 4C 46)
102 ELF64-NEXT:     Class: 64-bit (0x2)
103 ELF64-NEXT:     DataEncoding: LittleEndian (0x1)
104 ELF64-NEXT:     FileVersion: 1
105 ELF64-NEXT:     OS/ABI: GNU/Linux (0x3)
106 ELF64-NEXT:     ABIVersion: 0
107 ELF64-NEXT:     Unused: (00 00 00 00 00 00 00)
108 ELF64-NEXT:   }
109 ELF64-NEXT:   Type: Relocatable (0x1)
110 ELF64-NEXT:   Machine: EM_X86_64 (0x3E)
111 ELF64-NEXT:   Version: 1
112 ELF64-NEXT:   Entry: 0x0
113 ELF64-NEXT:   ProgramHeaderOffset: 0x0
114 ELF64-NEXT:   SectionHeaderOffset: 0xB8
115 ELF64-NEXT:   Flags [ (0x0)
116 ELF64-NEXT:   ]
117 ELF64-NEXT:   HeaderSize: 64
118 ELF64-NEXT:   ProgramHeaderEntrySize: 0
119 ELF64-NEXT:   ProgramHeaderCount: 0
120 ELF64-NEXT:   SectionHeaderEntrySize: 64
121 ELF64-NEXT:   SectionHeaderCount: 10
122 ELF64-NEXT:   StringTableSectionIndex: 7
123 ELF64-NEXT: }
124
125 PE32:      File: {{(.*[/\\])?}}trivial.exe.coff-i386
126 PE32-NEXT: Format: COFF-i386
127 PE32-NEXT: Arch: i386
128 PE32-NEXT: AddressSize: 32bit
129 PE32-NEXT: ImageFileHeader {
130 PE32-NEXT:   Machine: IMAGE_FILE_MACHINE_I386 (0x14C)
131 PE32-NEXT:   SectionCount: 3
132 PE32-NEXT:   TimeDateStamp: 2013-07-16 00:39:15 (0x51E49633)
133 PE32-NEXT:   PointerToSymbolTable: 0x0
134 PE32-NEXT:   SymbolCount: 0
135 PE32-NEXT:   OptionalHeaderSize: 224
136 PE32-NEXT:   Characteristics [ (0x102)
137 PE32-NEXT:     IMAGE_FILE_32BIT_MACHINE (0x100)
138 PE32-NEXT:     IMAGE_FILE_EXECUTABLE_IMAGE (0x2)
139 PE32-NEXT:   ]
140 PE32-NEXT: }
141 PE32-NEXT: ImageOptionalHeader {
142 PE32-NEXT:   MajorLinkerVersion: 11
143 PE32-NEXT:   MinorLinkerVersion: 0
144 PE32-NEXT:   SizeOfCode: 512
145 PE32-NEXT:   SizeOfInitializedData: 1024
146 PE32-NEXT:   SizeOfUninitializedData: 0
147 PE32-NEXT:   AddressOfEntryPoint: 0x1000
148 PE32-NEXT:   BaseOfCode: 0x1000
149 PE32-NEXT:   BaseOfData: 0x2000
150 PE32-NEXT:   ImageBase: 0x400000
151 PE32-NEXT:   SectionAlignment: 4096
152 PE32-NEXT:   FileAlignment: 512
153 PE32-NEXT:   MajorOperatingSystemVersion: 6
154 PE32-NEXT:   MinorOperatingSystemVersion: 0
155 PE32-NEXT:   MajorImageVersion: 0
156 PE32-NEXT:   MinorImageVersion: 0
157 PE32-NEXT:   MajorSubsystemVersion: 6
158 PE32-NEXT:   MinorSubsystemVersion: 0
159 PE32-NEXT:   SizeOfImage: 16384
160 PE32-NEXT:   SizeOfHeaders: 1024
161 PE32-NEXT:   Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI (0x3)
162 PE32-NEXT:   Subsystem [ (0x8140)
163 PE32-NEXT:     IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE (0x40)
164 PE32-NEXT:     IMAGE_DLL_CHARACTERISTICS_NX_COMPAT (0x100)
165 PE32-NEXT:     IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE (0x8000)
166 PE32-NEXT:   ]
167 PE32-NEXT:   SizeOfStackReserve: 1048576
168 PE32-NEXT:   SizeOfStackCommit: 4096
169 PE32-NEXT:   SizeOfHeapReserve: 1048576
170 PE32-NEXT:   SizeOfHeapCommit: 4096
171 PE32-NEXT:   NumberOfRvaAndSize: 16
172 PE32-NEXT:   DataDirectory {
173 PE32-NEXT:     ExportTableRVA: 0x0
174 PE32-NEXT:     ExportTableSize: 0x0
175 PE32-NEXT:     ImportTableRVA: 0x0
176 PE32-NEXT:     ImportTableSize: 0x0
177 PE32-NEXT:     ResourceTableRVA: 0x0
178 PE32-NEXT:     ResourceTableSize: 0x0
179 PE32-NEXT:     ExceptionTableRVA: 0x0
180 PE32-NEXT:     ExceptionTableSize: 0x0
181 PE32-NEXT:     CertificateTableRVA: 0x0
182 PE32-NEXT:     CertificateTableSize: 0x0
183 PE32-NEXT:     BaseRelocationTableRVA: 0x3000
184 PE32-NEXT:     BaseRelocationTableSize: 0xC
185 PE32-NEXT:     DebugRVA: 0x0
186 PE32-NEXT:     DebugSize: 0x0
187 PE32-NEXT:     ArchitectureRVA: 0x0
188 PE32-NEXT:     ArchitectureSize: 0x0
189 PE32-NEXT:     GlobalPtrRVA: 0x0
190 PE32-NEXT:     GlobalPtrSize: 0x0
191 PE32-NEXT:     TLSTableRVA: 0x0
192 PE32-NEXT:     TLSTableSize: 0x0
193 PE32-NEXT:     LoadConfigTableRVA: 0x0
194 PE32-NEXT:     LoadConfigTableSize: 0x0
195 PE32-NEXT:     BoundImportRVA: 0x0
196 PE32-NEXT:     BoundImportSize: 0x0
197 PE32-NEXT:     IATRVA: 0x0
198 PE32-NEXT:     IATSize: 0x0
199 PE32-NEXT:     DelayImportDescriptorRVA: 0x0
200 PE32-NEXT:     DelayImportDescriptorSize: 0x0
201 PE32-NEXT:     CLRRuntimeHeaderRVA: 0x0
202 PE32-NEXT:     CLRRuntimeHeaderSize: 0x0
203 PE32-NEXT:     ReservedRVA: 0x0
204 PE32-NEXT:     ReservedSize: 0x0
205 PE32-NEXT:   }
206 PE32-NEXT: }
207
208 COFF-UNKNOWN:      Format: COFF-<unknown arch>
209 COFF-UNKNOWN-NEXT: Arch: unknown
210 COFF-UNKNOWN-NEXT: AddressSize: 32bit
211 COFF-UNKNOWN-NEXT: ImageFileHeader {
212 COFF-UNKNOWN-NEXT:   Machine: IMAGE_FILE_MACHINE_UNKNOWN (0x0)
213 COFF-UNKNOWN-NEXT:   SectionCount: 3
214 COFF-UNKNOWN-NEXT:   TimeDateStamp: 2013-11-14 21:19:28 (0x52853E60)
215 COFF-UNKNOWN-NEXT:   PointerToSymbolTable: 0xF8
216 COFF-UNKNOWN-NEXT:   SymbolCount: 11
217 COFF-UNKNOWN-NEXT:   OptionalHeaderSize: 0
218 COFF-UNKNOWN-NEXT:   Characteristics [ (0x0)
219 COFF-UNKNOWN-NEXT:   ]
220 COFF-UNKNOWN-NEXT: }
221
222 COFF-IMPORTLIB:      Format: COFF-<unknown arch>
223 COFF-IMPORTLIB-NEXT: Arch: unknown
224 COFF-IMPORTLIB-NEXT: AddressSize: 32bit
225 COFF-IMPORTLIB-NEXT: ImageFileHeader {
226 COFF-IMPORTLIB-NEXT:   Machine: IMAGE_FILE_MACHINE_UNKNOWN (0x0)
227 COFF-IMPORTLIB-NEXT:   SectionCount: 65535
228 COFF-IMPORTLIB-NEXT:   TimeDateStamp: 1970-09-09 19:52:32 (0x14C0000)
229 COFF-IMPORTLIB-NEXT:   PointerToSymbolTable: 0x528542EB
230 COFF-IMPORTLIB-NEXT:   SymbolCount: 20
231 COFF-IMPORTLIB-NEXT:   OptionalHeaderSize: 0
232 COFF-IMPORTLIB-NEXT:   Characteristics [ (0x8)
233 COFF-IMPORTLIB-NEXT:     IMAGE_FILE_LOCAL_SYMS_STRIPPED (0x8)
234 COFF-IMPORTLIB-NEXT:   ]
235 COFF-IMPORTLIB-NEXT: }