330 lines · plain
1# RUN: yaml2obj %s --docnum=1 -o %t.arm2# RUN: llvm-readobj -h %t.arm \3# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.arm --check-prefix ARM4 5# ARM:File: [[FILE]]6# ARM-NEXT:Format: COFF-ARM7# ARM-NEXT:Arch: thumb8# ARM-NEXT:AddressSize: 32bit9# ARM-NEXT:ImageFileHeader {10# ARM-NEXT: Machine: IMAGE_FILE_MACHINE_ARMNT (0x1C4)11# ARM-NEXT: SectionCount: 012# ARM-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0)13# ARM-NEXT: PointerToSymbolTable: 0x014# ARM-NEXT: SymbolCount: 015# ARM-NEXT: StringTableSize: 016# ARM-NEXT: OptionalHeaderSize: 017# ARM-NEXT: Characteristics [ (0x0)18# ARM-NEXT: ]19# ARM-NEXT:}20# ARM-NOT:{{.}}21 22--- !COFF23header:24 Machine: IMAGE_FILE_MACHINE_ARMNT25 Characteristics: [ ]26sections:27symbols:28 29# RUN: yaml2obj %s --docnum=2 -o %t.arm6430# RUN: llvm-readobj -h %t.arm64 \31# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.arm64 --check-prefix ARM6432 33# ARM64:File: [[FILE]]34# ARM64-NEXT:Format: COFF-ARM6435# ARM64-NEXT:Arch: aarch6436# ARM64-NEXT:AddressSize: 64bit37# ARM64-NEXT:ImageFileHeader {38# ARM64-NEXT: Machine: IMAGE_FILE_MACHINE_ARM64 (0xAA64)39# ARM64-NEXT: SectionCount: 040# ARM64-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0)41# ARM64-NEXT: PointerToSymbolTable: 0x042# ARM64-NEXT: SymbolCount: 043# ARM64-NEXT: StringTableSize: 044# ARM64-NEXT: OptionalHeaderSize: 045# ARM64-NEXT: Characteristics [ (0x0)46# ARM64-NEXT: ]47# ARM64-NEXT:}48# ARM64-NOT:{{.}}49 50--- !COFF51header:52 Machine: IMAGE_FILE_MACHINE_ARM6453 Characteristics: [ ]54sections:55symbols:56 57# RUN: yaml2obj %s --docnum=3 -o %t.i38658# RUN: llvm-readobj -h %t.i386 \59# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.i386 --check-prefix I38660 61# I386:File: [[FILE]]62# I386-NEXT:Format: COFF-i38663# I386-NEXT:Arch: i38664# I386-NEXT:AddressSize: 32bit65# I386-NEXT:ImageFileHeader {66# I386-NEXT: Machine: IMAGE_FILE_MACHINE_I386 (0x14C)67# I386-NEXT: SectionCount: 068# I386-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0)69# I386-NEXT: PointerToSymbolTable: 0x070# I386-NEXT: SymbolCount: 071# I386-NEXT: StringTableSize: 072# I386-NEXT: OptionalHeaderSize: 073# I386-NEXT: Characteristics [ (0x0)74# I386-NEXT: ]75# I386-NEXT:}76# I386-NOT:{{.}}77 78--- !COFF79header:80 Machine: IMAGE_FILE_MACHINE_I38681 Characteristics: [ ]82sections:83symbols:84 85# RUN: yaml2obj %s --docnum=4 -o %t.x86-6486# RUN: llvm-readobj -h %t.x86-64 \87# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.x86-64 --check-prefix X86-6488 89# X86-64:File: [[FILE]]90# X86-64-NEXT:Format: COFF-x86-6491# X86-64-NEXT:Arch: x86_6492# X86-64-NEXT:AddressSize: 64bit93# X86-64-NEXT:ImageFileHeader {94# X86-64-NEXT: Machine: IMAGE_FILE_MACHINE_AMD64 (0x8664)95# X86-64-NEXT: SectionCount: 096# X86-64-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0)97# X86-64-NEXT: PointerToSymbolTable: 0x098# X86-64-NEXT: SymbolCount: 099# X86-64-NEXT: StringTableSize: 0100# X86-64-NEXT: OptionalHeaderSize: 0101# X86-64-NEXT: Characteristics [ (0x0)102# X86-64-NEXT: ]103# X86-64-NEXT:}104# X86-64-NOT:{{.}}105 106--- !COFF107header:108 Machine: IMAGE_FILE_MACHINE_AMD64109 Characteristics: [ ]110sections:111symbols:112 113# RUN: yaml2obj %s --docnum=5 -o %t.i386114# RUN: llvm-readobj -h %t.i386 \115# RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.i386 --check-prefix I386-CUSTOM-HEADER116 117# I386-CUSTOM-HEADER:File: [[FILE]]118# I386-CUSTOM-HEADER-NEXT:Format: COFF-i386119# I386-CUSTOM-HEADER-NEXT:Arch: i386120# I386-CUSTOM-HEADER-NEXT:AddressSize: 32bit121# I386-CUSTOM-HEADER-NEXT:ImageFileHeader {122# I386-CUSTOM-HEADER-NEXT: Machine: IMAGE_FILE_MACHINE_I386 (0x14C)123# I386-CUSTOM-HEADER-NEXT: SectionCount: 0124# I386-CUSTOM-HEADER-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0)125# I386-CUSTOM-HEADER-NEXT: PointerToSymbolTable: 0x0126# I386-CUSTOM-HEADER-NEXT: SymbolCount: 0127# I386-CUSTOM-HEADER-NEXT: StringTableSize: 0128# I386-CUSTOM-HEADER-NEXT: OptionalHeaderSize: 224129# I386-CUSTOM-HEADER-NEXT: Characteristics [ (0x102)130# I386-CUSTOM-HEADER-NEXT: IMAGE_FILE_32BIT_MACHINE (0x100)131# I386-CUSTOM-HEADER-NEXT: IMAGE_FILE_EXECUTABLE_IMAGE (0x2)132# I386-CUSTOM-HEADER-NEXT: ]133# I386-CUSTOM-HEADER-NEXT:}134# I386-CUSTOM-HEADER-NEXT:ImageOptionalHeader {135# I386-CUSTOM-HEADER-NEXT: Magic: 0x10B136# I386-CUSTOM-HEADER-NEXT: MajorLinkerVersion: 0137# I386-CUSTOM-HEADER-NEXT: MinorLinkerVersion: 0138# I386-CUSTOM-HEADER-NEXT: SizeOfCode: 0139# I386-CUSTOM-HEADER-NEXT: SizeOfInitializedData: 0140# I386-CUSTOM-HEADER-NEXT: SizeOfUninitializedData: 0141# I386-CUSTOM-HEADER-NEXT: AddressOfEntryPoint: 0x1000142# I386-CUSTOM-HEADER-NEXT: BaseOfCode: 0x0143# I386-CUSTOM-HEADER-NEXT: BaseOfData: 0x0144# I386-CUSTOM-HEADER-NEXT: ImageBase: 0x400000145# I386-CUSTOM-HEADER-NEXT: SectionAlignment: 4096146# I386-CUSTOM-HEADER-NEXT: FileAlignment: 512147# I386-CUSTOM-HEADER-NEXT: MajorOperatingSystemVersion: 6148# I386-CUSTOM-HEADER-NEXT: MinorOperatingSystemVersion: 0149# I386-CUSTOM-HEADER-NEXT: MajorImageVersion: 0150# I386-CUSTOM-HEADER-NEXT: MinorImageVersion: 0151# I386-CUSTOM-HEADER-NEXT: MajorSubsystemVersion: 6152# I386-CUSTOM-HEADER-NEXT: MinorSubsystemVersion: 0153# I386-CUSTOM-HEADER-NEXT: SizeOfImage: 4096154# I386-CUSTOM-HEADER-NEXT: SizeOfHeaders: 512155# I386-CUSTOM-HEADER-NEXT: CheckSum: 0x0156# I386-CUSTOM-HEADER-NEXT: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI (0x3)157# I386-CUSTOM-HEADER-NEXT: Characteristics [ (0x8140)158# I386-CUSTOM-HEADER-NEXT: IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE (0x40)159# I386-CUSTOM-HEADER-NEXT: IMAGE_DLL_CHARACTERISTICS_NX_COMPAT (0x100)160# I386-CUSTOM-HEADER-NEXT: IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE (0x8000)161# I386-CUSTOM-HEADER-NEXT: ]162# I386-CUSTOM-HEADER-NEXT: SizeOfStackReserve: 1048576163# I386-CUSTOM-HEADER-NEXT: SizeOfStackCommit: 4096164# I386-CUSTOM-HEADER-NEXT: SizeOfHeapReserve: 1048576165# I386-CUSTOM-HEADER-NEXT: SizeOfHeapCommit: 4096166# I386-CUSTOM-HEADER-NEXT: NumberOfRvaAndSize: 16167# I386-CUSTOM-HEADER-NEXT: DataDirectory {168# I386-CUSTOM-HEADER-NEXT: ExportTableRVA: 0x0169# I386-CUSTOM-HEADER-NEXT: ExportTableSize: 0x0170# I386-CUSTOM-HEADER-NEXT: ImportTableRVA: 0x0171# I386-CUSTOM-HEADER-NEXT: ImportTableSize: 0x0172# I386-CUSTOM-HEADER-NEXT: ResourceTableRVA: 0x0173# I386-CUSTOM-HEADER-NEXT: ResourceTableSize: 0x0174# I386-CUSTOM-HEADER-NEXT: ExceptionTableRVA: 0x0175# I386-CUSTOM-HEADER-NEXT: ExceptionTableSize: 0x0176# I386-CUSTOM-HEADER-NEXT: CertificateTableRVA: 0x0177# I386-CUSTOM-HEADER-NEXT: CertificateTableSize: 0x0178# I386-CUSTOM-HEADER-NEXT: BaseRelocationTableRVA: 0x0179# I386-CUSTOM-HEADER-NEXT: BaseRelocationTableSize: 0x0180# I386-CUSTOM-HEADER-NEXT: DebugRVA: 0x0181# I386-CUSTOM-HEADER-NEXT: DebugSize: 0x0182# I386-CUSTOM-HEADER-NEXT: ArchitectureRVA: 0x0183# I386-CUSTOM-HEADER-NEXT: ArchitectureSize: 0x0184# I386-CUSTOM-HEADER-NEXT: GlobalPtrRVA: 0x0185# I386-CUSTOM-HEADER-NEXT: GlobalPtrSize: 0x0186# I386-CUSTOM-HEADER-NEXT: TLSTableRVA: 0x0187# I386-CUSTOM-HEADER-NEXT: TLSTableSize: 0x0188# I386-CUSTOM-HEADER-NEXT: LoadConfigTableRVA: 0x0189# I386-CUSTOM-HEADER-NEXT: LoadConfigTableSize: 0x0190# I386-CUSTOM-HEADER-NEXT: BoundImportRVA: 0x0191# I386-CUSTOM-HEADER-NEXT: BoundImportSize: 0x0192# I386-CUSTOM-HEADER-NEXT: IATRVA: 0x0193# I386-CUSTOM-HEADER-NEXT: IATSize: 0x0194# I386-CUSTOM-HEADER-NEXT: DelayImportDescriptorRVA: 0x0195# I386-CUSTOM-HEADER-NEXT: DelayImportDescriptorSize: 0x0196# I386-CUSTOM-HEADER-NEXT: CLRRuntimeHeaderRVA: 0x0197# I386-CUSTOM-HEADER-NEXT: CLRRuntimeHeaderSize: 0x0198# I386-CUSTOM-HEADER-NEXT: ReservedRVA: 0x0199# I386-CUSTOM-HEADER-NEXT: ReservedSize: 0x0200# I386-CUSTOM-HEADER-NEXT: }201# I386-CUSTOM-HEADER-NEXT:}202# I386-CUSTOM-HEADER-NEXT:DOSHeader {203# I386-CUSTOM-HEADER-NEXT: Magic: MZ204# I386-CUSTOM-HEADER-NEXT: UsedBytesInTheLastPage: 0205# I386-CUSTOM-HEADER-NEXT: FileSizeInPages: 0206# I386-CUSTOM-HEADER-NEXT: NumberOfRelocationItems: 0207# I386-CUSTOM-HEADER-NEXT: HeaderSizeInParagraphs: 0208# I386-CUSTOM-HEADER-NEXT: MinimumExtraParagraphs: 0209# I386-CUSTOM-HEADER-NEXT: MaximumExtraParagraphs: 0210# I386-CUSTOM-HEADER-NEXT: InitialRelativeSS: 0211# I386-CUSTOM-HEADER-NEXT: InitialSP: 0212# I386-CUSTOM-HEADER-NEXT: Checksum: 0213# I386-CUSTOM-HEADER-NEXT: InitialIP: 0214# I386-CUSTOM-HEADER-NEXT: InitialRelativeCS: 0215# I386-CUSTOM-HEADER-NEXT: AddressOfRelocationTable: 64216# I386-CUSTOM-HEADER-NEXT: OverlayNumber: 0217# I386-CUSTOM-HEADER-NEXT: OEMid: 0218# I386-CUSTOM-HEADER-NEXT: OEMinfo: 0219# I386-CUSTOM-HEADER-NEXT: AddressOfNewExeHeader: 128220# I386-CUSTOM-HEADER-NEXT:}221# I386-CUSTOM-HEADER-NOT:{{.}}222 223--- !COFF224OptionalHeader:225 AddressOfEntryPoint: 4096226 ImageBase: 4194304227 SectionAlignment: 4096228 FileAlignment: 512229 MajorOperatingSystemVersion: 6230 MinorOperatingSystemVersion: 0231 MajorImageVersion: 0232 MinorImageVersion: 0233 MajorSubsystemVersion: 6234 MinorSubsystemVersion: 0235 Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI236 DLLCharacteristics: [ IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE, IMAGE_DLL_CHARACTERISTICS_NX_COMPAT, IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE ]237 SizeOfStackReserve: 1048576238 SizeOfStackCommit: 4096239 SizeOfHeapReserve: 1048576240 SizeOfHeapCommit: 4096241 ExportTable:242 RelativeVirtualAddress: 0243 Size: 0244 ImportTable:245 RelativeVirtualAddress: 0246 Size: 0247 ResourceTable:248 RelativeVirtualAddress: 0249 Size: 0250 ExceptionTable:251 RelativeVirtualAddress: 0252 Size: 0253 CertificateTable:254 RelativeVirtualAddress: 0255 Size: 0256 BaseRelocationTable:257 RelativeVirtualAddress: 0258 Size: 0259 Debug:260 RelativeVirtualAddress: 0261 Size: 0262 Architecture:263 RelativeVirtualAddress: 0264 Size: 0265 GlobalPtr:266 RelativeVirtualAddress: 0267 Size: 0268 TlsTable:269 RelativeVirtualAddress: 0270 Size: 0271 LoadConfigTable:272 RelativeVirtualAddress: 0273 Size: 0274 BoundImport:275 RelativeVirtualAddress: 0276 Size: 0277 IAT:278 RelativeVirtualAddress: 0279 Size: 0280 DelayImportDescriptor:281 RelativeVirtualAddress: 0282 Size: 0283 ClrRuntimeHeader:284 RelativeVirtualAddress: 0285 Size: 0286header:287 Machine: IMAGE_FILE_MACHINE_I386288 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_32BIT_MACHINE ]289sections:290symbols: []291...292 293# RUN: yaml2obj %s --docnum=6 -o %t.unknown294# RUN: llvm-readobj -h %t.unknown \295# RUN: | FileCheck %s --strict-whitespace --match-full-lines --check-prefix UNKNOWN296 297# UNKNOWN:Format: COFF-<unknown arch>298# UNKNOWN-NEXT:Arch: unknown299# UNKNOWN-NEXT:AddressSize: 32bit300# UNKNOWN-NEXT:ImageFileHeader {301# UNKNOWN-NEXT: Machine: IMAGE_FILE_MACHINE_UNKNOWN (0x0)302# UNKNOWN-NEXT: SectionCount: 0303# UNKNOWN-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0)304# UNKNOWN-NEXT: PointerToSymbolTable: 0x0305# UNKNOWN-NEXT: SymbolCount: 0306# UNKNOWN-NEXT: StringTableSize: 0307# UNKNOWN-NEXT: OptionalHeaderSize: 0308# UNKNOWN-NEXT: Characteristics [ (0x0)309# UNKNOWN-NEXT: ]310# UNKNOWN-NEXT:}311# UNKNOWN-NOT:{{.}}312 313--- !COFF314header:315 Machine: IMAGE_FILE_MACHINE_UNKNOWN316 Characteristics: [ ]317sections:318symbols:319 320# RUN: llvm-readobj -h %p/Inputs/magic.coff-importlib \321# RUN: | FileCheck %s --strict-whitespace --match-full-lines --check-prefix IMPORTLIB322 323# IMPORTLIB:Format: COFF-import-file-i386324# IMPORTLIB-NEXT:Type: code325# IMPORTLIB-NEXT:Name type: noprefix326# IMPORTLIB-NEXT:Export name: func327# IMPORTLIB-NEXT:Symbol: __imp__func328# IMPORTLIB-NEXT:Symbol: _func329# IMPORTLIB-NOT:{{.}}330