1 # Checks functionality of PECOFF writer. "nop.obj" is an object that has only
2 # text section. Other data, including data sections, relocations, symbol
3 # tables are not present in nop.obj.
5 # RUN: yaml2obj %p/Inputs/nop.obj.yaml > %t.obj
7 # RUN: lld -flavor link /out:%t1.exe /subsystem:console,3.11 /version:1.25 \
8 # RUN: /entry:start /opt:noref -- %t.obj
9 # RUN: llvm-readobj -file-headers %t1.exe | FileCheck -check-prefix=FILE %s
11 # RUN: lld -flavor link /out:%t2.exe /subsystem:console /entry:start \
12 # RUN: /opt:noref -- %t.obj
13 # RUN: llvm-readobj -sections %t2.exe | FileCheck -check-prefix=SECTIONS %s
15 FILE: Format: COFF-i386
17 FILE-NEXT: AddressSize: 32bit
18 FILE-NEXT: ImageFileHeader {
19 FILE-NEXT: Machine: IMAGE_FILE_MACHINE_I386 (0x14C)
20 FILE-NEXT: SectionCount: 1
21 FILE-NEXT: TimeDateStamp:
22 FILE-NEXT: PointerToSymbolTable: 0x0
23 FILE-NEXT: SymbolCount: 0
24 FILE-NEXT: OptionalHeaderSize: 224
25 FILE-NEXT: Characteristics [ (0x102)
26 FILE-NEXT: IMAGE_FILE_32BIT_MACHINE (0x100)
27 FILE-NEXT: IMAGE_FILE_EXECUTABLE_IMAGE (0x2)
30 FILE-NEXT: ImageOptionalHeader {
31 FILE-NEXT: MajorLinkerVersion: 0
32 FILE-NEXT: MinorLinkerVersion: 0
33 FILE-NEXT: SizeOfCode: 512
34 FILE-NEXT: SizeOfInitializedData: 0
35 FILE-NEXT: SizeOfUninitializedData: 0
36 FILE-NEXT: AddressOfEntryPoint: 0x1000
37 FILE-NEXT: BaseOfCode: 0x1000
38 FILE-NEXT: BaseOfData: 0
39 FILE-NEXT: ImageBase: 0x400000
40 FILE-NEXT: SectionAlignment: 4096
41 FILE-NEXT: FileAlignment: 512
42 FILE-NEXT: MajorOperatingSystemVersion: 3
43 FILE-NEXT: MinorOperatingSystemVersion: 11
44 FILE-NEXT: MajorImageVersion: 1
45 FILE-NEXT: MinorImageVersion: 25
46 FILE-NEXT: MajorSubsystemVersion: 3
47 FILE-NEXT: MinorSubsystemVersion: 11
48 FILE-NEXT: SizeOfImage: 8192
49 FILE-NEXT: SizeOfHeaders: 512
50 FILE-NEXT: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI (0x3)
51 FILE-NEXT: Characteristics [ (0x8540)
52 FILE-NEXT: IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE (0x40)
53 FILE-NEXT: IMAGE_DLL_CHARACTERISTICS_NO_SEH (0x400)
54 FILE-NEXT: IMAGE_DLL_CHARACTERISTICS_NX_COMPAT (0x100)
55 FILE-NEXT: IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE (0x8000)
57 FILE-NEXT: SizeOfStackReserve: 1048576
58 FILE-NEXT: SizeOfStackCommit: 4096
59 FILE-NEXT: SizeOfHeapReserve: 1048576
60 FILE-NEXT: SizeOfHeapCommit: 4096
61 FILE-NEXT: NumberOfRvaAndSize: 16
64 FILE-NEXT: UsedBytesInTheLastPage: 0
65 FILE-NEXT: FileSizeInPages: 0
66 FILE-NEXT: NumberOfRelocationItems: 0
67 FILE-NEXT: HeaderSizeInParagraphs: 0
68 FILE-NEXT: MinimumExtraParagraphs: 0
69 FILE-NEXT: MaximumExtraParagraphs: 0
70 FILE-NEXT: InitialRelativeSS: 0
71 FILE-NEXT: InitialSP: 0
72 FILE-NEXT: Checksum: 0
73 FILE-NEXT: InitialIP: 0
74 FILE-NEXT: InitialRelativeCS: 0
75 FILE-NEXT: AddressOfRelocationTable: 64
76 FILE-NEXT: OverlayNumber: 0
79 FILE-NEXT: AddressOfNewExeHeader: 128
82 SECTIONS: Format: COFF-i386
83 SECTIONS-NEXT: Arch: i386
84 SECTIONS-NEXT: AddressSize: 32bit
85 SECTIONS-NEXT: Sections [
86 SECTIONS-NEXT: Section {
87 SECTIONS-NEXT: Number: 1
88 SECTIONS-NEXT: Name: .text (2E 74 65 78 74 00 00 00)
89 SECTIONS-NEXT: VirtualSize: 0x6
90 SECTIONS-NEXT: VirtualAddress: 0x1000
91 SECTIONS-NEXT: RawDataSize: 512
92 SECTIONS-NEXT: PointerToRawData: 0x200
93 SECTIONS-NEXT: PointerToRelocations: 0x0
94 SECTIONS-NEXT: PointerToLineNumbers: 0x0
95 SECTIONS-NEXT: RelocationCount: 0
96 SECTIONS-NEXT: LineNumberCount: 0
97 SECTIONS-NEXT: Characteristics [
98 SECTIONS-NEXT: IMAGE_SCN_CNT_CODE
99 SECTIONS-NEXT: IMAGE_SCN_MEM_EXECUTE
100 SECTIONS-NEXT: IMAGE_SCN_MEM_READ