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