Saleem Abdulrasool | 9b7c0af | 2014-03-13 07:02:35 +0000 | [diff] [blame] | 1 | RUN: llvm-readobj -h %p/Inputs/trivial.obj.coff-arm \ |
| 2 | RUN: | FileCheck %s -check-prefix COFF-ARM |
Eric Christopher | 9cad53c | 2013-04-03 18:31:38 +0000 | [diff] [blame] | 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 |
Rui Ueyama | 82ebd8e | 2013-06-12 19:10:33 +0000 | [diff] [blame] | 7 | RUN: llvm-readobj -h %p/Inputs/trivial.exe.coff-i386 \ |
| 8 | RUN: | FileCheck %s -check-prefix PE32 |
Eric Christopher | 9cad53c | 2013-04-03 18:31:38 +0000 | [diff] [blame] | 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 |
Rui Ueyama | 829c439 | 2013-11-14 22:09:08 +0000 | [diff] [blame] | 13 | RUN: llvm-readobj -h %p/Inputs/magic.coff-unknown \ |
| 14 | RUN: | FileCheck %s -check-prefix COFF-UNKNOWN |
Rui Ueyama | e448f9e | 2013-11-15 21:22:02 +0000 | [diff] [blame] | 15 | RUN: llvm-readobj -h %p/Inputs/magic.coff-importlib \ |
| 16 | RUN: | FileCheck %s -check-prefix COFF-IMPORTLIB |
Eric Christopher | 9cad53c | 2013-04-03 18:31:38 +0000 | [diff] [blame] | 17 | |
Saleem Abdulrasool | 9b7c0af | 2014-03-13 07:02:35 +0000 | [diff] [blame] | 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 | |
Eric Christopher | 9cad53c | 2013-04-03 18:31:38 +0000 | [diff] [blame] | 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 |
Rui Ueyama | f078eff | 2014-03-18 23:37:53 +0000 | [diff] [blame] | 42 | COFF32-NEXT: SymbolCount: 9 |
Eric Christopher | 9cad53c | 2013-04-03 18:31:38 +0000 | [diff] [blame] | 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: } |
Rui Ueyama | 82ebd8e | 2013-06-12 19:10:33 +0000 | [diff] [blame] | 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) |
Rui Ueyama | ed64342b | 2013-07-19 23:23:29 +0000 | [diff] [blame] | 131 | PE32-NEXT: SectionCount: 3 |
| 132 | PE32-NEXT: TimeDateStamp: 2013-07-16 00:39:15 (0x51E49633) |
Rui Ueyama | 82ebd8e | 2013-06-12 19:10:33 +0000 | [diff] [blame] | 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 { |
Rui Ueyama | ed64342b | 2013-07-19 23:23:29 +0000 | [diff] [blame] | 142 | PE32-NEXT: MajorLinkerVersion: 11 |
Rui Ueyama | 82ebd8e | 2013-06-12 19:10:33 +0000 | [diff] [blame] | 143 | PE32-NEXT: MinorLinkerVersion: 0 |
| 144 | PE32-NEXT: SizeOfCode: 512 |
Rui Ueyama | ed64342b | 2013-07-19 23:23:29 +0000 | [diff] [blame] | 145 | PE32-NEXT: SizeOfInitializedData: 1024 |
Rui Ueyama | 82ebd8e | 2013-06-12 19:10:33 +0000 | [diff] [blame] | 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 |
Rui Ueyama | ed64342b | 2013-07-19 23:23:29 +0000 | [diff] [blame] | 153 | PE32-NEXT: MajorOperatingSystemVersion: 6 |
| 154 | PE32-NEXT: MinorOperatingSystemVersion: 0 |
Rui Ueyama | 82ebd8e | 2013-06-12 19:10:33 +0000 | [diff] [blame] | 155 | PE32-NEXT: MajorImageVersion: 0 |
| 156 | PE32-NEXT: MinorImageVersion: 0 |
Rui Ueyama | ed64342b | 2013-07-19 23:23:29 +0000 | [diff] [blame] | 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) |
Rui Ueyama | 82ebd8e | 2013-06-12 19:10:33 +0000 | [diff] [blame] | 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 |
Rui Ueyama | ed64342b | 2013-07-19 23:23:29 +0000 | [diff] [blame] | 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: } |
Rui Ueyama | 82ebd8e | 2013-06-12 19:10:33 +0000 | [diff] [blame] | 206 | PE32-NEXT: } |
Rui Ueyama | 829c439 | 2013-11-14 22:09:08 +0000 | [diff] [blame] | 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: } |
Rui Ueyama | e448f9e | 2013-11-15 21:22:02 +0000 | [diff] [blame] | 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: } |