134 lines · plain
1# RUN: yaml2obj %p/Inputs/hello32.yaml -o %t.obj2# RUN: lld-link -safeseh:no %t.obj %p/Inputs/std32.lib /subsystem:console \3# RUN: /entry:main@0 /out:%t.exe /appcontainer4# RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=HEADER %s5# RUN: llvm-readobj --coff-imports %t.exe | FileCheck -check-prefix=IMPORTS %s6# RUN: llvm-readobj --coff-basereloc %t.exe | FileCheck -check-prefix=BASEREL %s7 8HEADER: Format: COFF-i3869HEADER-NEXT: Arch: i38610HEADER-NEXT: AddressSize: 32bit11HEADER-NEXT: ImageFileHeader {12HEADER-NEXT: Machine: IMAGE_FILE_MACHINE_I386 (0x14C)13HEADER-NEXT: SectionCount: 414HEADER-NEXT: TimeDateStamp: 15HEADER-NEXT: PointerToSymbolTable: 0x016HEADER-NEXT: SymbolCount: 017HEADER-NEXT: StringTableSize: 018HEADER-NEXT: OptionalHeaderSize: 22419HEADER-NEXT: Characteristics [ (0x102)20HEADER-NEXT: IMAGE_FILE_32BIT_MACHINE (0x100)21HEADER-NEXT: IMAGE_FILE_EXECUTABLE_IMAGE (0x2)22HEADER-NEXT: ]23HEADER-NEXT: }24HEADER-NEXT: ImageOptionalHeader {25HEADER-NEXT: Magic: 0x10B26HEADER-NEXT: MajorLinkerVersion: 1427HEADER-NEXT: MinorLinkerVersion: 028HEADER-NEXT: SizeOfCode: 51229HEADER-NEXT: SizeOfInitializedData: 153630HEADER-NEXT: SizeOfUninitializedData: 031HEADER-NEXT: AddressOfEntryPoint: 0x100032HEADER-NEXT: BaseOfCode: 0x100033HEADER-NEXT: BaseOfData: 0x034HEADER-NEXT: ImageBase: 0x40000035HEADER-NEXT: SectionAlignment: 409636HEADER-NEXT: FileAlignment: 51237HEADER-NEXT: MajorOperatingSystemVersion: 638HEADER-NEXT: MinorOperatingSystemVersion: 039HEADER-NEXT: MajorImageVersion: 040HEADER-NEXT: MinorImageVersion: 041HEADER-NEXT: MajorSubsystemVersion: 642HEADER-NEXT: MinorSubsystemVersion: 043HEADER-NEXT: SizeOfImage: 2048044HEADER-NEXT: SizeOfHeaders: 102445HEADER-NEXT: CheckSum: 0x046HEADER-NEXT: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI (0x3)47HEADER-NEXT: Characteristics [ (0x9140)48HEADER-NEXT: IMAGE_DLL_CHARACTERISTICS_APPCONTAINER (0x1000)49HEADER-NEXT: IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE (0x40)50HEADER-NEXT: IMAGE_DLL_CHARACTERISTICS_NX_COMPAT (0x100)51HEADER-NEXT: IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE (0x8000)52HEADER-NEXT: ]53HEADER-NEXT: SizeOfStackReserve: 104857654HEADER-NEXT: SizeOfStackCommit: 409655HEADER-NEXT: SizeOfHeapReserve: 104857656HEADER-NEXT: SizeOfHeapCommit: 409657HEADER-NEXT: NumberOfRvaAndSize: 1658HEADER-NEXT: DataDirectory {59HEADER-NEXT: ExportTableRVA: 0x060HEADER-NEXT: ExportTableSize: 0x061HEADER-NEXT: ImportTableRVA: 0x200062HEADER-NEXT: ImportTableSize: 0x2863HEADER-NEXT: ResourceTableRVA: 0x064HEADER-NEXT: ResourceTableSize: 0x065HEADER-NEXT: ExceptionTableRVA: 0x066HEADER-NEXT: ExceptionTableSize: 0x067HEADER-NEXT: CertificateTableRVA: 0x068HEADER-NEXT: CertificateTableSize: 0x069HEADER-NEXT: BaseRelocationTableRVA: 0x400070HEADER-NEXT: BaseRelocationTableSize: 0x1071HEADER-NEXT: DebugRVA: 0x072HEADER-NEXT: DebugSize: 0x073HEADER-NEXT: ArchitectureRVA: 0x074HEADER-NEXT: ArchitectureSize: 0x075HEADER-NEXT: GlobalPtrRVA: 0x076HEADER-NEXT: GlobalPtrSize: 0x077HEADER-NEXT: TLSTableRVA: 0x078HEADER-NEXT: TLSTableSize: 0x079HEADER-NEXT: LoadConfigTableRVA: 0x080HEADER-NEXT: LoadConfigTableSize: 0x081HEADER-NEXT: BoundImportRVA: 0x082HEADER-NEXT: BoundImportSize: 0x083HEADER-NEXT: IATRVA: 0x203484HEADER-NEXT: IATSize: 0xC85HEADER-NEXT: DelayImportDescriptorRVA: 0x086HEADER-NEXT: DelayImportDescriptorSize: 0x087HEADER-NEXT: CLRRuntimeHeaderRVA: 0x088HEADER-NEXT: CLRRuntimeHeaderSize: 0x089HEADER-NEXT: ReservedRVA: 0x090HEADER-NEXT: ReservedSize: 0x091HEADER-NEXT: }92HEADER-NEXT: }93HEADER-NEXT: DOSHeader {94HEADER-NEXT: Magic: MZ95HEADER-NEXT: UsedBytesInTheLastPage: 12096HEADER-NEXT: FileSizeInPages: 197HEADER-NEXT: NumberOfRelocationItems: 098HEADER-NEXT: HeaderSizeInParagraphs: 499HEADER-NEXT: MinimumExtraParagraphs: 0100HEADER-NEXT: MaximumExtraParagraphs: 0101HEADER-NEXT: InitialRelativeSS: 0102HEADER-NEXT: InitialSP: 0103HEADER-NEXT: Checksum: 0104HEADER-NEXT: InitialIP: 0105HEADER-NEXT: InitialRelativeCS: 0106HEADER-NEXT: AddressOfRelocationTable: 64107HEADER-NEXT: OverlayNumber: 0108HEADER-NEXT: OEMid: 0109HEADER-NEXT: OEMinfo: 0110HEADER-NEXT: AddressOfNewExeHeader: 120111HEADER-NEXT: }112 113IMPORTS: Format: COFF-i386114IMPORTS: Arch: i386115IMPORTS: AddressSize: 32bit116IMPORTS: Import {117IMPORTS: Name: std32.dll118IMPORTS: ImportLookupTableRVA: 0x2028119IMPORTS: ImportAddressTableRVA: 0x2034120IMPORTS: Symbol: ExitProcess (0)121IMPORTS: Symbol: MessageBoxA (1)122IMPORTS: }123 124BASEREL: BaseReloc [125BASEREL: Entry {126BASEREL: Type: HIGHLOW127BASEREL: Address: 0x1005128BASEREL: }129BASEREL: Entry {130BASEREL: Type: HIGHLOW131BASEREL: Address: 0x100C132BASEREL: }133BASEREL: ]134