| # RUN: yaml2obj %s --docnum=1 -o %t.arm |
| # RUN: llvm-readobj -h %t.arm \ |
| # RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.arm --check-prefix ARM |
| |
| # ARM:File: [[FILE]] |
| # ARM-NEXT:Format: COFF-ARM |
| # ARM-NEXT:Arch: thumb |
| # ARM-NEXT:AddressSize: 32bit |
| # ARM-NEXT:ImageFileHeader { |
| # ARM-NEXT: Machine: IMAGE_FILE_MACHINE_ARMNT (0x1C4) |
| # ARM-NEXT: SectionCount: 0 |
| # ARM-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0) |
| # ARM-NEXT: PointerToSymbolTable: 0x0 |
| # ARM-NEXT: SymbolCount: 0 |
| # ARM-NEXT: StringTableSize: 0 |
| # ARM-NEXT: OptionalHeaderSize: 0 |
| # ARM-NEXT: Characteristics [ (0x0) |
| # ARM-NEXT: ] |
| # ARM-NEXT:} |
| # ARM-NOT:{{.}} |
| |
| --- !COFF |
| header: |
| Machine: IMAGE_FILE_MACHINE_ARMNT |
| Characteristics: [ ] |
| sections: |
| symbols: |
| |
| # RUN: yaml2obj %s --docnum=2 -o %t.arm64 |
| # RUN: llvm-readobj -h %t.arm64 \ |
| # RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.arm64 --check-prefix ARM64 |
| |
| # ARM64:File: [[FILE]] |
| # ARM64-NEXT:Format: COFF-ARM64 |
| # ARM64-NEXT:Arch: aarch64 |
| # ARM64-NEXT:AddressSize: 64bit |
| # ARM64-NEXT:ImageFileHeader { |
| # ARM64-NEXT: Machine: IMAGE_FILE_MACHINE_ARM64 (0xAA64) |
| # ARM64-NEXT: SectionCount: 0 |
| # ARM64-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0) |
| # ARM64-NEXT: PointerToSymbolTable: 0x0 |
| # ARM64-NEXT: SymbolCount: 0 |
| # ARM64-NEXT: StringTableSize: 0 |
| # ARM64-NEXT: OptionalHeaderSize: 0 |
| # ARM64-NEXT: Characteristics [ (0x0) |
| # ARM64-NEXT: ] |
| # ARM64-NEXT:} |
| # ARM64-NOT:{{.}} |
| |
| --- !COFF |
| header: |
| Machine: IMAGE_FILE_MACHINE_ARM64 |
| Characteristics: [ ] |
| sections: |
| symbols: |
| |
| # RUN: yaml2obj %s --docnum=3 -o %t.i386 |
| # RUN: llvm-readobj -h %t.i386 \ |
| # RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.i386 --check-prefix I386 |
| |
| # I386:File: [[FILE]] |
| # I386-NEXT:Format: COFF-i386 |
| # I386-NEXT:Arch: i386 |
| # I386-NEXT:AddressSize: 32bit |
| # I386-NEXT:ImageFileHeader { |
| # I386-NEXT: Machine: IMAGE_FILE_MACHINE_I386 (0x14C) |
| # I386-NEXT: SectionCount: 0 |
| # I386-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0) |
| # I386-NEXT: PointerToSymbolTable: 0x0 |
| # I386-NEXT: SymbolCount: 0 |
| # I386-NEXT: StringTableSize: 0 |
| # I386-NEXT: OptionalHeaderSize: 0 |
| # I386-NEXT: Characteristics [ (0x0) |
| # I386-NEXT: ] |
| # I386-NEXT:} |
| # I386-NOT:{{.}} |
| |
| --- !COFF |
| header: |
| Machine: IMAGE_FILE_MACHINE_I386 |
| Characteristics: [ ] |
| sections: |
| symbols: |
| |
| # RUN: yaml2obj %s --docnum=4 -o %t.x86-64 |
| # RUN: llvm-readobj -h %t.x86-64 \ |
| # RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.x86-64 --check-prefix X86-64 |
| |
| # X86-64:File: [[FILE]] |
| # X86-64-NEXT:Format: COFF-x86-64 |
| # X86-64-NEXT:Arch: x86_64 |
| # X86-64-NEXT:AddressSize: 64bit |
| # X86-64-NEXT:ImageFileHeader { |
| # X86-64-NEXT: Machine: IMAGE_FILE_MACHINE_AMD64 (0x8664) |
| # X86-64-NEXT: SectionCount: 0 |
| # X86-64-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0) |
| # X86-64-NEXT: PointerToSymbolTable: 0x0 |
| # X86-64-NEXT: SymbolCount: 0 |
| # X86-64-NEXT: StringTableSize: 0 |
| # X86-64-NEXT: OptionalHeaderSize: 0 |
| # X86-64-NEXT: Characteristics [ (0x0) |
| # X86-64-NEXT: ] |
| # X86-64-NEXT:} |
| # X86-64-NOT:{{.}} |
| |
| --- !COFF |
| header: |
| Machine: IMAGE_FILE_MACHINE_AMD64 |
| Characteristics: [ ] |
| sections: |
| symbols: |
| |
| # RUN: yaml2obj %s --docnum=5 -o %t.i386 |
| # RUN: llvm-readobj -h %t.i386 \ |
| # RUN: | FileCheck %s --strict-whitespace --match-full-lines -DFILE=%t.i386 --check-prefix I386-CUSTOM-HEADER |
| |
| # I386-CUSTOM-HEADER:File: [[FILE]] |
| # I386-CUSTOM-HEADER-NEXT:Format: COFF-i386 |
| # I386-CUSTOM-HEADER-NEXT:Arch: i386 |
| # I386-CUSTOM-HEADER-NEXT:AddressSize: 32bit |
| # I386-CUSTOM-HEADER-NEXT:ImageFileHeader { |
| # I386-CUSTOM-HEADER-NEXT: Machine: IMAGE_FILE_MACHINE_I386 (0x14C) |
| # I386-CUSTOM-HEADER-NEXT: SectionCount: 0 |
| # I386-CUSTOM-HEADER-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0) |
| # I386-CUSTOM-HEADER-NEXT: PointerToSymbolTable: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: SymbolCount: 0 |
| # I386-CUSTOM-HEADER-NEXT: StringTableSize: 0 |
| # I386-CUSTOM-HEADER-NEXT: OptionalHeaderSize: 224 |
| # I386-CUSTOM-HEADER-NEXT: Characteristics [ (0x102) |
| # I386-CUSTOM-HEADER-NEXT: IMAGE_FILE_32BIT_MACHINE (0x100) |
| # I386-CUSTOM-HEADER-NEXT: IMAGE_FILE_EXECUTABLE_IMAGE (0x2) |
| # I386-CUSTOM-HEADER-NEXT: ] |
| # I386-CUSTOM-HEADER-NEXT:} |
| # I386-CUSTOM-HEADER-NEXT:ImageOptionalHeader { |
| # I386-CUSTOM-HEADER-NEXT: Magic: 0x10B |
| # I386-CUSTOM-HEADER-NEXT: MajorLinkerVersion: 0 |
| # I386-CUSTOM-HEADER-NEXT: MinorLinkerVersion: 0 |
| # I386-CUSTOM-HEADER-NEXT: SizeOfCode: 0 |
| # I386-CUSTOM-HEADER-NEXT: SizeOfInitializedData: 0 |
| # I386-CUSTOM-HEADER-NEXT: SizeOfUninitializedData: 0 |
| # I386-CUSTOM-HEADER-NEXT: AddressOfEntryPoint: 0x1000 |
| # I386-CUSTOM-HEADER-NEXT: BaseOfCode: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: BaseOfData: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: ImageBase: 0x400000 |
| # I386-CUSTOM-HEADER-NEXT: SectionAlignment: 4096 |
| # I386-CUSTOM-HEADER-NEXT: FileAlignment: 512 |
| # I386-CUSTOM-HEADER-NEXT: MajorOperatingSystemVersion: 6 |
| # I386-CUSTOM-HEADER-NEXT: MinorOperatingSystemVersion: 0 |
| # I386-CUSTOM-HEADER-NEXT: MajorImageVersion: 0 |
| # I386-CUSTOM-HEADER-NEXT: MinorImageVersion: 0 |
| # I386-CUSTOM-HEADER-NEXT: MajorSubsystemVersion: 6 |
| # I386-CUSTOM-HEADER-NEXT: MinorSubsystemVersion: 0 |
| # I386-CUSTOM-HEADER-NEXT: SizeOfImage: 4096 |
| # I386-CUSTOM-HEADER-NEXT: SizeOfHeaders: 512 |
| # I386-CUSTOM-HEADER-NEXT: CheckSum: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI (0x3) |
| # I386-CUSTOM-HEADER-NEXT: Characteristics [ (0x8140) |
| # I386-CUSTOM-HEADER-NEXT: IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE (0x40) |
| # I386-CUSTOM-HEADER-NEXT: IMAGE_DLL_CHARACTERISTICS_NX_COMPAT (0x100) |
| # I386-CUSTOM-HEADER-NEXT: IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE (0x8000) |
| # I386-CUSTOM-HEADER-NEXT: ] |
| # I386-CUSTOM-HEADER-NEXT: SizeOfStackReserve: 1048576 |
| # I386-CUSTOM-HEADER-NEXT: SizeOfStackCommit: 4096 |
| # I386-CUSTOM-HEADER-NEXT: SizeOfHeapReserve: 1048576 |
| # I386-CUSTOM-HEADER-NEXT: SizeOfHeapCommit: 4096 |
| # I386-CUSTOM-HEADER-NEXT: NumberOfRvaAndSize: 16 |
| # I386-CUSTOM-HEADER-NEXT: DataDirectory { |
| # I386-CUSTOM-HEADER-NEXT: ExportTableRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: ExportTableSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: ImportTableRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: ImportTableSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: ResourceTableRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: ResourceTableSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: ExceptionTableRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: ExceptionTableSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: CertificateTableRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: CertificateTableSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: BaseRelocationTableRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: BaseRelocationTableSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: DebugRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: DebugSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: ArchitectureRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: ArchitectureSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: GlobalPtrRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: GlobalPtrSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: TLSTableRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: TLSTableSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: LoadConfigTableRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: LoadConfigTableSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: BoundImportRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: BoundImportSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: IATRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: IATSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: DelayImportDescriptorRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: DelayImportDescriptorSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: CLRRuntimeHeaderRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: CLRRuntimeHeaderSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: ReservedRVA: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: ReservedSize: 0x0 |
| # I386-CUSTOM-HEADER-NEXT: } |
| # I386-CUSTOM-HEADER-NEXT:} |
| # I386-CUSTOM-HEADER-NEXT:DOSHeader { |
| # I386-CUSTOM-HEADER-NEXT: Magic: MZ |
| # I386-CUSTOM-HEADER-NEXT: UsedBytesInTheLastPage: 0 |
| # I386-CUSTOM-HEADER-NEXT: FileSizeInPages: 0 |
| # I386-CUSTOM-HEADER-NEXT: NumberOfRelocationItems: 0 |
| # I386-CUSTOM-HEADER-NEXT: HeaderSizeInParagraphs: 0 |
| # I386-CUSTOM-HEADER-NEXT: MinimumExtraParagraphs: 0 |
| # I386-CUSTOM-HEADER-NEXT: MaximumExtraParagraphs: 0 |
| # I386-CUSTOM-HEADER-NEXT: InitialRelativeSS: 0 |
| # I386-CUSTOM-HEADER-NEXT: InitialSP: 0 |
| # I386-CUSTOM-HEADER-NEXT: Checksum: 0 |
| # I386-CUSTOM-HEADER-NEXT: InitialIP: 0 |
| # I386-CUSTOM-HEADER-NEXT: InitialRelativeCS: 0 |
| # I386-CUSTOM-HEADER-NEXT: AddressOfRelocationTable: 64 |
| # I386-CUSTOM-HEADER-NEXT: OverlayNumber: 0 |
| # I386-CUSTOM-HEADER-NEXT: OEMid: 0 |
| # I386-CUSTOM-HEADER-NEXT: OEMinfo: 0 |
| # I386-CUSTOM-HEADER-NEXT: AddressOfNewExeHeader: 128 |
| # I386-CUSTOM-HEADER-NEXT:} |
| # I386-CUSTOM-HEADER-NOT:{{.}} |
| |
| --- !COFF |
| OptionalHeader: |
| AddressOfEntryPoint: 4096 |
| ImageBase: 4194304 |
| SectionAlignment: 4096 |
| FileAlignment: 512 |
| MajorOperatingSystemVersion: 6 |
| MinorOperatingSystemVersion: 0 |
| MajorImageVersion: 0 |
| MinorImageVersion: 0 |
| MajorSubsystemVersion: 6 |
| MinorSubsystemVersion: 0 |
| Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI |
| DLLCharacteristics: [ IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE, IMAGE_DLL_CHARACTERISTICS_NX_COMPAT, IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE ] |
| SizeOfStackReserve: 1048576 |
| SizeOfStackCommit: 4096 |
| SizeOfHeapReserve: 1048576 |
| SizeOfHeapCommit: 4096 |
| ExportTable: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| ImportTable: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| ResourceTable: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| ExceptionTable: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| CertificateTable: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| BaseRelocationTable: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| Debug: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| Architecture: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| GlobalPtr: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| TlsTable: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| LoadConfigTable: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| BoundImport: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| IAT: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| DelayImportDescriptor: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| ClrRuntimeHeader: |
| RelativeVirtualAddress: 0 |
| Size: 0 |
| header: |
| Machine: IMAGE_FILE_MACHINE_I386 |
| Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_32BIT_MACHINE ] |
| sections: |
| symbols: [] |
| ... |
| |
| # RUN: yaml2obj %s --docnum=6 -o %t.unknown |
| # RUN: llvm-readobj -h %t.unknown \ |
| # RUN: | FileCheck %s --strict-whitespace --match-full-lines --check-prefix UNKNOWN |
| |
| # UNKNOWN:Format: COFF-<unknown arch> |
| # UNKNOWN-NEXT:Arch: unknown |
| # UNKNOWN-NEXT:AddressSize: 32bit |
| # UNKNOWN-NEXT:ImageFileHeader { |
| # UNKNOWN-NEXT: Machine: IMAGE_FILE_MACHINE_UNKNOWN (0x0) |
| # UNKNOWN-NEXT: SectionCount: 0 |
| # UNKNOWN-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0) |
| # UNKNOWN-NEXT: PointerToSymbolTable: 0x0 |
| # UNKNOWN-NEXT: SymbolCount: 0 |
| # UNKNOWN-NEXT: StringTableSize: 0 |
| # UNKNOWN-NEXT: OptionalHeaderSize: 0 |
| # UNKNOWN-NEXT: Characteristics [ (0x0) |
| # UNKNOWN-NEXT: ] |
| # UNKNOWN-NEXT:} |
| # UNKNOWN-NOT:{{.}} |
| |
| --- !COFF |
| header: |
| Machine: IMAGE_FILE_MACHINE_UNKNOWN |
| Characteristics: [ ] |
| sections: |
| symbols: |
| |
| # RUN: llvm-readobj -h %p/Inputs/magic.coff-importlib \ |
| # RUN: | FileCheck %s --strict-whitespace --match-full-lines --check-prefix IMPORTLIB |
| |
| # IMPORTLIB:Format: COFF-import-file |
| # IMPORTLIB-NEXT:Type: code |
| # IMPORTLIB-NEXT:Name type: noprefix |
| # IMPORTLIB-NEXT:Symbol: __imp__func |
| # IMPORTLIB-NEXT:Symbol: _func |
| # IMPORTLIB-NOT:{{.}} |