blob: b900e365f202442a6492318cfefefd2f45c45c51 [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
11
12COFF32: File: {{(.*[/\\])?}}trivial.obj.coff-i386
13COFF32-NEXT: Format: COFF-i386
14COFF32-NEXT: Arch: i386
15COFF32-NEXT: AddressSize: 32bit
16COFF32-NEXT: ImageFileHeader {
17COFF32-NEXT: Machine: IMAGE_FILE_MACHINE_I386 (0x14C)
18COFF32-NEXT: SectionCount: 2
19COFF32-NEXT: TimeDateStamp: 2013-03-20 17:56:46 (0x5149F85E)
20COFF32-NEXT: PointerToSymbolTable: 0xA5
21COFF32-NEXT: SymbolCount: 7
22COFF32-NEXT: OptionalHeaderSize: 0
23COFF32-NEXT: Characteristics [ (0x0)
24COFF32-NEXT: ]
25COFF32-NEXT: }
26
27COFF64: File: {{(.*[/\\])?}}trivial.obj.coff-x86-64
28COFF64-NEXT: Format: COFF-x86-64
29COFF64-NEXT: Arch: x86_64
30COFF64-NEXT: AddressSize: 64bit
31COFF64-NEXT: ImageFileHeader {
32COFF64-NEXT: Machine: IMAGE_FILE_MACHINE_AMD64 (0x8664)
33COFF64-NEXT: SectionCount: 2
34COFF64-NEXT: TimeDateStamp: 2013-03-20 17:56:46 (0x5149F85E)
35COFF64-NEXT: PointerToSymbolTable: 0xAB
36COFF64-NEXT: SymbolCount: 7
37COFF64-NEXT: OptionalHeaderSize: 0
38COFF64-NEXT: Characteristics [ (0x0)
39COFF64-NEXT: ]
40COFF64-NEXT: }
41
42ELF32: File: {{(.*[/\\])?}}trivial.obj.elf-i386
43ELF32-NEXT: Format: ELF32-i386
44ELF32-NEXT: Arch: i386
45ELF32-NEXT: AddressSize: 32bit
46ELF32-NEXT: LoadName:
47ELF32-NEXT: ElfHeader {
48ELF32-NEXT: Ident {
49ELF32-NEXT: Magic: (7F 45 4C 46)
50ELF32-NEXT: Class: 32-bit (0x1)
51ELF32-NEXT: DataEncoding: LittleEndian (0x1)
52ELF32-NEXT: FileVersion: 1
53ELF32-NEXT: OS/ABI: GNU/Linux (0x3)
54ELF32-NEXT: ABIVersion: 0
55ELF32-NEXT: Unused: (00 00 00 00 00 00 00)
56ELF32-NEXT: }
57ELF32-NEXT: Type: Relocatable (0x1)
58ELF32-NEXT: Machine: EM_386 (0x3)
59ELF32-NEXT: Version: 1
60ELF32-NEXT: Entry: 0x0
61ELF32-NEXT: ProgramHeaderOffset: 0x0
62ELF32-NEXT: SectionHeaderOffset: 0xC8
63ELF32-NEXT: Flags [ (0x0)
64ELF32-NEXT: ]
65ELF32-NEXT: HeaderSize: 52
66ELF32-NEXT: ProgramHeaderEntrySize: 0
67ELF32-NEXT: ProgramHeaderCount: 0
68ELF32-NEXT: SectionHeaderEntrySize: 40
69ELF32-NEXT: SectionHeaderCount: 10
70ELF32-NEXT: StringTableSectionIndex: 7
71ELF32-NEXT: }
72
73ELF64: File: {{(.*[/\\])?}}trivial.obj.elf-x86-64
74ELF64-NEXT: Format: ELF64-x86-64
75ELF64-NEXT: Arch: x86_64
76ELF64-NEXT: AddressSize: 64bit
77ELF64-NEXT: LoadName:
78ELF64-NEXT: ElfHeader {
79ELF64-NEXT: Ident {
80ELF64-NEXT: Magic: (7F 45 4C 46)
81ELF64-NEXT: Class: 64-bit (0x2)
82ELF64-NEXT: DataEncoding: LittleEndian (0x1)
83ELF64-NEXT: FileVersion: 1
84ELF64-NEXT: OS/ABI: GNU/Linux (0x3)
85ELF64-NEXT: ABIVersion: 0
86ELF64-NEXT: Unused: (00 00 00 00 00 00 00)
87ELF64-NEXT: }
88ELF64-NEXT: Type: Relocatable (0x1)
89ELF64-NEXT: Machine: EM_X86_64 (0x3E)
90ELF64-NEXT: Version: 1
91ELF64-NEXT: Entry: 0x0
92ELF64-NEXT: ProgramHeaderOffset: 0x0
93ELF64-NEXT: SectionHeaderOffset: 0xB8
94ELF64-NEXT: Flags [ (0x0)
95ELF64-NEXT: ]
96ELF64-NEXT: HeaderSize: 64
97ELF64-NEXT: ProgramHeaderEntrySize: 0
98ELF64-NEXT: ProgramHeaderCount: 0
99ELF64-NEXT: SectionHeaderEntrySize: 64
100ELF64-NEXT: SectionHeaderCount: 10
101ELF64-NEXT: StringTableSectionIndex: 7
102ELF64-NEXT: }
Rui Ueyama82ebd8e2013-06-12 19:10:33 +0000103
104PE32: File: {{(.*[/\\])?}}trivial.exe.coff-i386
105PE32-NEXT: Format: COFF-i386
106PE32-NEXT: Arch: i386
107PE32-NEXT: AddressSize: 32bit
108PE32-NEXT: ImageFileHeader {
109PE32-NEXT: Machine: IMAGE_FILE_MACHINE_I386 (0x14C)
Rui Ueyamaed64342b2013-07-19 23:23:29 +0000110PE32-NEXT: SectionCount: 3
111PE32-NEXT: TimeDateStamp: 2013-07-16 00:39:15 (0x51E49633)
Rui Ueyama82ebd8e2013-06-12 19:10:33 +0000112PE32-NEXT: PointerToSymbolTable: 0x0
113PE32-NEXT: SymbolCount: 0
114PE32-NEXT: OptionalHeaderSize: 224
115PE32-NEXT: Characteristics [ (0x102)
116PE32-NEXT: IMAGE_FILE_32BIT_MACHINE (0x100)
117PE32-NEXT: IMAGE_FILE_EXECUTABLE_IMAGE (0x2)
118PE32-NEXT: ]
119PE32-NEXT: }
120PE32-NEXT: ImageOptionalHeader {
Rui Ueyamaed64342b2013-07-19 23:23:29 +0000121PE32-NEXT: MajorLinkerVersion: 11
Rui Ueyama82ebd8e2013-06-12 19:10:33 +0000122PE32-NEXT: MinorLinkerVersion: 0
123PE32-NEXT: SizeOfCode: 512
Rui Ueyamaed64342b2013-07-19 23:23:29 +0000124PE32-NEXT: SizeOfInitializedData: 1024
Rui Ueyama82ebd8e2013-06-12 19:10:33 +0000125PE32-NEXT: SizeOfUninitializedData: 0
126PE32-NEXT: AddressOfEntryPoint: 0x1000
127PE32-NEXT: BaseOfCode: 0x1000
128PE32-NEXT: BaseOfData: 0x2000
129PE32-NEXT: ImageBase: 0x400000
130PE32-NEXT: SectionAlignment: 4096
131PE32-NEXT: FileAlignment: 512
Rui Ueyamaed64342b2013-07-19 23:23:29 +0000132PE32-NEXT: MajorOperatingSystemVersion: 6
133PE32-NEXT: MinorOperatingSystemVersion: 0
Rui Ueyama82ebd8e2013-06-12 19:10:33 +0000134PE32-NEXT: MajorImageVersion: 0
135PE32-NEXT: MinorImageVersion: 0
Rui Ueyamaed64342b2013-07-19 23:23:29 +0000136PE32-NEXT: MajorSubsystemVersion: 6
137PE32-NEXT: MinorSubsystemVersion: 0
138PE32-NEXT: SizeOfImage: 16384
139PE32-NEXT: SizeOfHeaders: 1024
140PE32-NEXT: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI (0x3)
Rui Ueyama82ebd8e2013-06-12 19:10:33 +0000141PE32-NEXT: Subsystem [ (0x8140)
142PE32-NEXT: IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE (0x40)
143PE32-NEXT: IMAGE_DLL_CHARACTERISTICS_NX_COMPAT (0x100)
144PE32-NEXT: IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE (0x8000)
145PE32-NEXT: ]
146PE32-NEXT: SizeOfStackReserve: 1048576
147PE32-NEXT: SizeOfStackCommit: 4096
148PE32-NEXT: SizeOfHeapReserve: 1048576
149PE32-NEXT: SizeOfHeapCommit: 4096
150PE32-NEXT: NumberOfRvaAndSize: 16
Rui Ueyamaed64342b2013-07-19 23:23:29 +0000151PE32-NEXT: DataDirectory {
152PE32-NEXT: ExportTableRVA: 0x0
153PE32-NEXT: ExportTableSize: 0x0
154PE32-NEXT: ImportTableRVA: 0x0
155PE32-NEXT: ImportTableSize: 0x0
156PE32-NEXT: ResourceTableRVA: 0x0
157PE32-NEXT: ResourceTableSize: 0x0
158PE32-NEXT: ExceptionTableRVA: 0x0
159PE32-NEXT: ExceptionTableSize: 0x0
160PE32-NEXT: CertificateTableRVA: 0x0
161PE32-NEXT: CertificateTableSize: 0x0
162PE32-NEXT: BaseRelocationTableRVA: 0x3000
163PE32-NEXT: BaseRelocationTableSize: 0xC
164PE32-NEXT: DebugRVA: 0x0
165PE32-NEXT: DebugSize: 0x0
166PE32-NEXT: ArchitectureRVA: 0x0
167PE32-NEXT: ArchitectureSize: 0x0
168PE32-NEXT: GlobalPtrRVA: 0x0
169PE32-NEXT: GlobalPtrSize: 0x0
170PE32-NEXT: TLSTableRVA: 0x0
171PE32-NEXT: TLSTableSize: 0x0
172PE32-NEXT: LoadConfigTableRVA: 0x0
173PE32-NEXT: LoadConfigTableSize: 0x0
174PE32-NEXT: BoundImportRVA: 0x0
175PE32-NEXT: BoundImportSize: 0x0
176PE32-NEXT: IATRVA: 0x0
177PE32-NEXT: IATSize: 0x0
178PE32-NEXT: DelayImportDescriptorRVA: 0x0
179PE32-NEXT: DelayImportDescriptorSize: 0x0
180PE32-NEXT: CLRRuntimeHeaderRVA: 0x0
181PE32-NEXT: CLRRuntimeHeaderSize: 0x0
182PE32-NEXT: ReservedRVA: 0x0
183PE32-NEXT: ReservedSize: 0x0
184PE32-NEXT: }
Rui Ueyama82ebd8e2013-06-12 19:10:33 +0000185PE32-NEXT: }