file-headers.test revision 76e70f340c09ba759ad96d8dfe416b64f24bc287
1RUN: 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
5RUN: llvm-readobj -h %p/Inputs/trivial.obj.elf-i386 \
6RUN:   | FileCheck %s -check-prefix ELF32
7RUN: llvm-readobj -h %p/Inputs/trivial.obj.elf-x86-64 \
8RUN:   | FileCheck %s -check-prefix ELF64
9
10COFF32:      File: {{(.*[/\\])?}}trivial.obj.coff-i386
11COFF32-NEXT: Format: COFF-i386
12COFF32-NEXT: Arch: i386
13COFF32-NEXT: AddressSize: 32bit
14COFF32-NEXT: ImageFileHeader {
15COFF32-NEXT:   Machine: IMAGE_FILE_MACHINE_I386 (0x14C)
16COFF32-NEXT:   SectionCount: 2
17COFF32-NEXT:   TimeDateStamp: 2013-03-20 17:56:46 (0x5149F85E)
18COFF32-NEXT:   PointerToSymbolTable: 0xA5
19COFF32-NEXT:   SymbolCount: 7
20COFF32-NEXT:   OptionalHeaderSize: 0
21COFF32-NEXT:   Characteristics [ (0x0)
22COFF32-NEXT:   ]
23COFF32-NEXT: }
24
25COFF64:      File: {{(.*[/\\])?}}trivial.obj.coff-x86-64
26COFF64-NEXT: Format: COFF-x86-64
27COFF64-NEXT: Arch: x86_64
28COFF64-NEXT: AddressSize: 64bit
29COFF64-NEXT: ImageFileHeader {
30COFF64-NEXT:   Machine: IMAGE_FILE_MACHINE_AMD64 (0x8664)
31COFF64-NEXT:   SectionCount: 2
32COFF64-NEXT:   TimeDateStamp: 2013-03-20 17:56:46 (0x5149F85E)
33COFF64-NEXT:   PointerToSymbolTable: 0xAB
34COFF64-NEXT:   SymbolCount: 7
35COFF64-NEXT:   OptionalHeaderSize: 0
36COFF64-NEXT:   Characteristics [ (0x0)
37COFF64-NEXT:   ]
38COFF64-NEXT: }
39
40ELF32:      File: {{(.*[/\\])?}}trivial.obj.elf-i386
41ELF32-NEXT: Format: ELF32-i386
42ELF32-NEXT: Arch: i386
43ELF32-NEXT: AddressSize: 32bit
44ELF32-NEXT: LoadName:
45ELF32-NEXT: ElfHeader {
46ELF32-NEXT:   Ident {
47ELF32-NEXT:     Magic: (7F 45 4C 46)
48ELF32-NEXT:     Class: 32-bit (0x1)
49ELF32-NEXT:     DataEncoding: LittleEndian (0x1)
50ELF32-NEXT:     FileVersion: 1
51ELF32-NEXT:     OS/ABI: GNU/Linux (0x3)
52ELF32-NEXT:     ABIVersion: 0
53ELF32-NEXT:     Unused: (00 00 00 00 00 00 00)
54ELF32-NEXT:   }
55ELF32-NEXT:   Type: Relocatable (0x1)
56ELF32-NEXT:   Machine: EM_386 (0x3)
57ELF32-NEXT:   Version: 1
58ELF32-NEXT:   Entry: 0x0
59ELF32-NEXT:   ProgramHeaderOffset: 0x0
60ELF32-NEXT:   SectionHeaderOffset: 0xC8
61ELF32-NEXT:   Flags [ (0x0)
62ELF32-NEXT:   ]
63ELF32-NEXT:   HeaderSize: 52
64ELF32-NEXT:   ProgramHeaderEntrySize: 0
65ELF32-NEXT:   ProgramHeaderCount: 0
66ELF32-NEXT:   SectionHeaderEntrySize: 40
67ELF32-NEXT:   SectionHeaderCount: 10
68ELF32-NEXT:   StringTableSectionIndex: 7
69ELF32-NEXT: }
70
71ELF64:      File: {{(.*[/\\])?}}trivial.obj.elf-x86-64
72ELF64-NEXT: Format: ELF64-x86-64
73ELF64-NEXT: Arch: x86_64
74ELF64-NEXT: AddressSize: 64bit
75ELF64-NEXT: LoadName:
76ELF64-NEXT: ElfHeader {
77ELF64-NEXT:   Ident {
78ELF64-NEXT:     Magic: (7F 45 4C 46)
79ELF64-NEXT:     Class: 64-bit (0x2)
80ELF64-NEXT:     DataEncoding: LittleEndian (0x1)
81ELF64-NEXT:     FileVersion: 1
82ELF64-NEXT:     OS/ABI: GNU/Linux (0x3)
83ELF64-NEXT:     ABIVersion: 0
84ELF64-NEXT:     Unused: (00 00 00 00 00 00 00)
85ELF64-NEXT:   }
86ELF64-NEXT:   Type: Relocatable (0x1)
87ELF64-NEXT:   Machine: EM_X86_64 (0x3E)
88ELF64-NEXT:   Version: 1
89ELF64-NEXT:   Entry: 0x0
90ELF64-NEXT:   ProgramHeaderOffset: 0x0
91ELF64-NEXT:   SectionHeaderOffset: 0xB8
92ELF64-NEXT:   Flags [ (0x0)
93ELF64-NEXT:   ]
94ELF64-NEXT:   HeaderSize: 64
95ELF64-NEXT:   ProgramHeaderEntrySize: 0
96ELF64-NEXT:   ProgramHeaderCount: 0
97ELF64-NEXT:   SectionHeaderEntrySize: 64
98ELF64-NEXT:   SectionHeaderCount: 10
99ELF64-NEXT:   StringTableSectionIndex: 7
100ELF64-NEXT: }
101