blob: d88029adddf095ae35b45a4800fd08f180cc28f4 [file] [log] [blame]
Eric Christopher9cad53c2013-04-03 18:31:38 +00001RUN: llvm-readobj -h %p/Inputs/trivial.obj.coff-i386 \
2RUN: | FileCheck %s -check-prefix COFF32
3RUN: llvm-readobj -h %p/Inputs/trivial.obj.coff-x86-64 \
4RUN: | FileCheck %s -check-prefix COFF64
Rui Ueyama82ebd8e2013-06-12 19:10:33 +00005RUN: llvm-readobj -h %p/Inputs/trivial.exe.coff-i386 \
6RUN: | FileCheck %s -check-prefix PE32
Eric Christopher9cad53c2013-04-03 18:31:38 +00007RUN: llvm-readobj -h %p/Inputs/trivial.obj.elf-i386 \
8RUN: | FileCheck %s -check-prefix ELF32
9RUN: llvm-readobj -h %p/Inputs/trivial.obj.elf-x86-64 \
10RUN: | FileCheck %s -check-prefix ELF64
Rui Ueyama829c4392013-11-14 22:09:08 +000011RUN: llvm-readobj -h %p/Inputs/magic.coff-unknown \
12RUN: | FileCheck %s -check-prefix COFF-UNKNOWN
Eric Christopher9cad53c2013-04-03 18:31:38 +000013
14COFF32: File: {{(.*[/\\])?}}trivial.obj.coff-i386
15COFF32-NEXT: Format: COFF-i386
16COFF32-NEXT: Arch: i386
17COFF32-NEXT: AddressSize: 32bit
18COFF32-NEXT: ImageFileHeader {
19COFF32-NEXT: Machine: IMAGE_FILE_MACHINE_I386 (0x14C)
20COFF32-NEXT: SectionCount: 2
21COFF32-NEXT: TimeDateStamp: 2013-03-20 17:56:46 (0x5149F85E)
22COFF32-NEXT: PointerToSymbolTable: 0xA5
23COFF32-NEXT: SymbolCount: 7
24COFF32-NEXT: OptionalHeaderSize: 0
25COFF32-NEXT: Characteristics [ (0x0)
26COFF32-NEXT: ]
27COFF32-NEXT: }
28
29COFF64: File: {{(.*[/\\])?}}trivial.obj.coff-x86-64
30COFF64-NEXT: Format: COFF-x86-64
31COFF64-NEXT: Arch: x86_64
32COFF64-NEXT: AddressSize: 64bit
33COFF64-NEXT: ImageFileHeader {
34COFF64-NEXT: Machine: IMAGE_FILE_MACHINE_AMD64 (0x8664)
35COFF64-NEXT: SectionCount: 2
36COFF64-NEXT: TimeDateStamp: 2013-03-20 17:56:46 (0x5149F85E)
37COFF64-NEXT: PointerToSymbolTable: 0xAB
38COFF64-NEXT: SymbolCount: 7
39COFF64-NEXT: OptionalHeaderSize: 0
40COFF64-NEXT: Characteristics [ (0x0)
41COFF64-NEXT: ]
42COFF64-NEXT: }
43
44ELF32: File: {{(.*[/\\])?}}trivial.obj.elf-i386
45ELF32-NEXT: Format: ELF32-i386
46ELF32-NEXT: Arch: i386
47ELF32-NEXT: AddressSize: 32bit
48ELF32-NEXT: LoadName:
49ELF32-NEXT: ElfHeader {
50ELF32-NEXT: Ident {
51ELF32-NEXT: Magic: (7F 45 4C 46)
52ELF32-NEXT: Class: 32-bit (0x1)
53ELF32-NEXT: DataEncoding: LittleEndian (0x1)
54ELF32-NEXT: FileVersion: 1
55ELF32-NEXT: OS/ABI: GNU/Linux (0x3)
56ELF32-NEXT: ABIVersion: 0
57ELF32-NEXT: Unused: (00 00 00 00 00 00 00)
58ELF32-NEXT: }
59ELF32-NEXT: Type: Relocatable (0x1)
60ELF32-NEXT: Machine: EM_386 (0x3)
61ELF32-NEXT: Version: 1
62ELF32-NEXT: Entry: 0x0
63ELF32-NEXT: ProgramHeaderOffset: 0x0
64ELF32-NEXT: SectionHeaderOffset: 0xC8
65ELF32-NEXT: Flags [ (0x0)
66ELF32-NEXT: ]
67ELF32-NEXT: HeaderSize: 52
68ELF32-NEXT: ProgramHeaderEntrySize: 0
69ELF32-NEXT: ProgramHeaderCount: 0
70ELF32-NEXT: SectionHeaderEntrySize: 40
71ELF32-NEXT: SectionHeaderCount: 10
72ELF32-NEXT: StringTableSectionIndex: 7
73ELF32-NEXT: }
74
75ELF64: File: {{(.*[/\\])?}}trivial.obj.elf-x86-64
76ELF64-NEXT: Format: ELF64-x86-64
77ELF64-NEXT: Arch: x86_64
78ELF64-NEXT: AddressSize: 64bit
79ELF64-NEXT: LoadName:
80ELF64-NEXT: ElfHeader {
81ELF64-NEXT: Ident {
82ELF64-NEXT: Magic: (7F 45 4C 46)
83ELF64-NEXT: Class: 64-bit (0x2)
84ELF64-NEXT: DataEncoding: LittleEndian (0x1)
85ELF64-NEXT: FileVersion: 1
86ELF64-NEXT: OS/ABI: GNU/Linux (0x3)
87ELF64-NEXT: ABIVersion: 0
88ELF64-NEXT: Unused: (00 00 00 00 00 00 00)
89ELF64-NEXT: }
90ELF64-NEXT: Type: Relocatable (0x1)
91ELF64-NEXT: Machine: EM_X86_64 (0x3E)
92ELF64-NEXT: Version: 1
93ELF64-NEXT: Entry: 0x0
94ELF64-NEXT: ProgramHeaderOffset: 0x0
95ELF64-NEXT: SectionHeaderOffset: 0xB8
96ELF64-NEXT: Flags [ (0x0)
97ELF64-NEXT: ]
98ELF64-NEXT: HeaderSize: 64
99ELF64-NEXT: ProgramHeaderEntrySize: 0
100ELF64-NEXT: ProgramHeaderCount: 0
101ELF64-NEXT: SectionHeaderEntrySize: 64
102ELF64-NEXT: SectionHeaderCount: 10
103ELF64-NEXT: StringTableSectionIndex: 7
104ELF64-NEXT: }
Rui Ueyama82ebd8e2013-06-12 19:10:33 +0000105
106PE32: File: {{(.*[/\\])?}}trivial.exe.coff-i386
107PE32-NEXT: Format: COFF-i386
108PE32-NEXT: Arch: i386
109PE32-NEXT: AddressSize: 32bit
110PE32-NEXT: ImageFileHeader {
111PE32-NEXT: Machine: IMAGE_FILE_MACHINE_I386 (0x14C)
Rui Ueyamaed64342b2013-07-19 23:23:29 +0000112PE32-NEXT: SectionCount: 3
113PE32-NEXT: TimeDateStamp: 2013-07-16 00:39:15 (0x51E49633)
Rui Ueyama82ebd8e2013-06-12 19:10:33 +0000114PE32-NEXT: PointerToSymbolTable: 0x0
115PE32-NEXT: SymbolCount: 0
116PE32-NEXT: OptionalHeaderSize: 224
117PE32-NEXT: Characteristics [ (0x102)
118PE32-NEXT: IMAGE_FILE_32BIT_MACHINE (0x100)
119PE32-NEXT: IMAGE_FILE_EXECUTABLE_IMAGE (0x2)
120PE32-NEXT: ]
121PE32-NEXT: }
122PE32-NEXT: ImageOptionalHeader {
Rui Ueyamaed64342b2013-07-19 23:23:29 +0000123PE32-NEXT: MajorLinkerVersion: 11
Rui Ueyama82ebd8e2013-06-12 19:10:33 +0000124PE32-NEXT: MinorLinkerVersion: 0
125PE32-NEXT: SizeOfCode: 512
Rui Ueyamaed64342b2013-07-19 23:23:29 +0000126PE32-NEXT: SizeOfInitializedData: 1024
Rui Ueyama82ebd8e2013-06-12 19:10:33 +0000127PE32-NEXT: SizeOfUninitializedData: 0
128PE32-NEXT: AddressOfEntryPoint: 0x1000
129PE32-NEXT: BaseOfCode: 0x1000
130PE32-NEXT: BaseOfData: 0x2000
131PE32-NEXT: ImageBase: 0x400000
132PE32-NEXT: SectionAlignment: 4096
133PE32-NEXT: FileAlignment: 512
Rui Ueyamaed64342b2013-07-19 23:23:29 +0000134PE32-NEXT: MajorOperatingSystemVersion: 6
135PE32-NEXT: MinorOperatingSystemVersion: 0
Rui Ueyama82ebd8e2013-06-12 19:10:33 +0000136PE32-NEXT: MajorImageVersion: 0
137PE32-NEXT: MinorImageVersion: 0
Rui Ueyamaed64342b2013-07-19 23:23:29 +0000138PE32-NEXT: MajorSubsystemVersion: 6
139PE32-NEXT: MinorSubsystemVersion: 0
140PE32-NEXT: SizeOfImage: 16384
141PE32-NEXT: SizeOfHeaders: 1024
142PE32-NEXT: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI (0x3)
Rui Ueyama82ebd8e2013-06-12 19:10:33 +0000143PE32-NEXT: Subsystem [ (0x8140)
144PE32-NEXT: IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE (0x40)
145PE32-NEXT: IMAGE_DLL_CHARACTERISTICS_NX_COMPAT (0x100)
146PE32-NEXT: IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE (0x8000)
147PE32-NEXT: ]
148PE32-NEXT: SizeOfStackReserve: 1048576
149PE32-NEXT: SizeOfStackCommit: 4096
150PE32-NEXT: SizeOfHeapReserve: 1048576
151PE32-NEXT: SizeOfHeapCommit: 4096
152PE32-NEXT: NumberOfRvaAndSize: 16
Rui Ueyamaed64342b2013-07-19 23:23:29 +0000153PE32-NEXT: DataDirectory {
154PE32-NEXT: ExportTableRVA: 0x0
155PE32-NEXT: ExportTableSize: 0x0
156PE32-NEXT: ImportTableRVA: 0x0
157PE32-NEXT: ImportTableSize: 0x0
158PE32-NEXT: ResourceTableRVA: 0x0
159PE32-NEXT: ResourceTableSize: 0x0
160PE32-NEXT: ExceptionTableRVA: 0x0
161PE32-NEXT: ExceptionTableSize: 0x0
162PE32-NEXT: CertificateTableRVA: 0x0
163PE32-NEXT: CertificateTableSize: 0x0
164PE32-NEXT: BaseRelocationTableRVA: 0x3000
165PE32-NEXT: BaseRelocationTableSize: 0xC
166PE32-NEXT: DebugRVA: 0x0
167PE32-NEXT: DebugSize: 0x0
168PE32-NEXT: ArchitectureRVA: 0x0
169PE32-NEXT: ArchitectureSize: 0x0
170PE32-NEXT: GlobalPtrRVA: 0x0
171PE32-NEXT: GlobalPtrSize: 0x0
172PE32-NEXT: TLSTableRVA: 0x0
173PE32-NEXT: TLSTableSize: 0x0
174PE32-NEXT: LoadConfigTableRVA: 0x0
175PE32-NEXT: LoadConfigTableSize: 0x0
176PE32-NEXT: BoundImportRVA: 0x0
177PE32-NEXT: BoundImportSize: 0x0
178PE32-NEXT: IATRVA: 0x0
179PE32-NEXT: IATSize: 0x0
180PE32-NEXT: DelayImportDescriptorRVA: 0x0
181PE32-NEXT: DelayImportDescriptorSize: 0x0
182PE32-NEXT: CLRRuntimeHeaderRVA: 0x0
183PE32-NEXT: CLRRuntimeHeaderSize: 0x0
184PE32-NEXT: ReservedRVA: 0x0
185PE32-NEXT: ReservedSize: 0x0
186PE32-NEXT: }
Rui Ueyama82ebd8e2013-06-12 19:10:33 +0000187PE32-NEXT: }
Rui Ueyama829c4392013-11-14 22:09:08 +0000188
189COFF-UNKNOWN: Format: COFF-<unknown arch>
190COFF-UNKNOWN-NEXT: Arch: unknown
191COFF-UNKNOWN-NEXT: AddressSize: 32bit
192COFF-UNKNOWN-NEXT: ImageFileHeader {
193COFF-UNKNOWN-NEXT: Machine: IMAGE_FILE_MACHINE_UNKNOWN (0x0)
194COFF-UNKNOWN-NEXT: SectionCount: 3
195COFF-UNKNOWN-NEXT: TimeDateStamp: 2013-11-14 21:19:28 (0x52853E60)
196COFF-UNKNOWN-NEXT: PointerToSymbolTable: 0xF8
197COFF-UNKNOWN-NEXT: SymbolCount: 11
198COFF-UNKNOWN-NEXT: OptionalHeaderSize: 0
199COFF-UNKNOWN-NEXT: Characteristics [ (0x0)
200COFF-UNKNOWN-NEXT: ]
201COFF-UNKNOWN-NEXT: }