xref: /llvm-project/llvm/test/tools/llvm-objdump/COFF/private-headers.yaml (revision 5f1e509579e49e97c4ad7deb0dd3069393ccd461)
1# RUN: yaml2obj --docnum=1 %s -o %t
2# RUN: llvm-objdump -p %t | FileCheck %s --check-prefix=PE32PLUS --strict-whitespace --match-full-lines
3
4#      PE32PLUS:{{.*}}file format coff-arm64
5# PE32PLUS-NEXT:Characteristics 0x22
6# PE32PLUS-NEXT:	executable
7# PE32PLUS-NEXT:	large address aware
8#PE32PLUS-EMPTY:
9# PE32PLUS-NEXT:Time/Date               {{.*}} 19{{69|70}}
10# PE32PLUS-NEXT:Magic                   020b	(PE32+)
11# PE32PLUS-NEXT:MajorLinkerVersion      0
12# PE32PLUS-NEXT:MinorLinkerVersion      0
13# PE32PLUS-NEXT:SizeOfCode              0000000000000200
14# PE32PLUS-NEXT:SizeOfInitializedData   0000000000000400
15# PE32PLUS-NEXT:SizeOfUninitializedData 0000000000000000
16# PE32PLUS-NEXT:AddressOfEntryPoint     0000000000001000
17# PE32PLUS-NEXT:BaseOfCode              0000000000001000
18# PE32PLUS-NEXT:ImageBase               0000000140000000
19# PE32PLUS-NEXT:SectionAlignment        00001000
20# PE32PLUS-NEXT:FileAlignment           00000200
21# PE32PLUS-NEXT:MajorOSystemVersion     6
22# PE32PLUS-NEXT:MinorOSystemVersion     1
23# PE32PLUS-NEXT:MajorImageVersion       7
24# PE32PLUS-NEXT:MinorImageVersion       2
25# PE32PLUS-NEXT:MajorSubsystemVersion   8
26# PE32PLUS-NEXT:MinorSubsystemVersion   3
27# PE32PLUS-NEXT:Win32Version            00000000
28# PE32PLUS-NEXT:SizeOfImage             00004000
29# PE32PLUS-NEXT:SizeOfHeaders           00000200
30# PE32PLUS-NEXT:CheckSum                00000000
31# PE32PLUS-NEXT:Subsystem               00000003	(Windows CUI)
32# PE32PLUS-NEXT:DllCharacteristics      00008160
33# PE32PLUS-NEXT:					HIGH_ENTROPY_VA
34# PE32PLUS-NEXT:					DYNAMIC_BASE
35# PE32PLUS-NEXT:					NX_COMPAT
36# PE32PLUS-NEXT:					TERMINAL_SERVER_AWARE
37# PE32PLUS-NEXT:SizeOfStackReserve      0000000000100000
38# PE32PLUS-NEXT:SizeOfStackCommit       0000000000001000
39# PE32PLUS-NEXT:SizeOfHeapReserve       0000000000100000
40# PE32PLUS-NEXT:SizeOfHeapCommit        0000000000001000
41# PE32PLUS-NEXT:LoaderFlags             00000000
42# PE32PLUS-NEXT:NumberOfRvaAndSizes     00000010
43#PE32PLUS-EMPTY:
44# PE32PLUS-NEXT:The Data Directory
45# PE32PLUS-NEXT:Entry 0 0000000000000000 00000000 Export Directory [.edata (or where ever we found it)]
46# PE32PLUS-NEXT:Entry 1 0000000000000000 00000000 Import Directory [parts of .idata]
47# PE32PLUS-NEXT:Entry 2 0000000000000000 00000000 Resource Directory [.rsrc]
48# PE32PLUS-NEXT:Entry 3 0000000000003000 00000008 Exception Directory [.pdata]
49# PE32PLUS-NEXT:Entry 4 0000000000000000 00000000 Security Directory
50# PE32PLUS-NEXT:Entry 5 0000000000000000 00000000 Base Relocation Directory [.reloc]
51# PE32PLUS-NEXT:Entry 6 0000000000000000 00000000 Debug Directory
52# PE32PLUS-NEXT:Entry 7 0000000000000000 00000000 Description Directory
53# PE32PLUS-NEXT:Entry 8 0000000000000000 00000000 Special Directory
54# PE32PLUS-NEXT:Entry 9 0000000000000000 00000000 Thread Storage Directory [.tls]
55# PE32PLUS-NEXT:Entry a 0000000000000000 00000000 Load Configuration Directory
56# PE32PLUS-NEXT:Entry b 0000000000000000 00000000 Bound Import Directory
57# PE32PLUS-NEXT:Entry c 0000000000000000 00000000 Import Address Table Directory
58# PE32PLUS-NEXT:Entry d 0000000000000000 00000000 Delay Import Directory
59# PE32PLUS-NEXT:Entry e 0000000000000000 00000000 CLR Runtime Header
60# PE32PLUS-NEXT:Entry f 0000000000000000 00000000 Reserved
61
62--- !COFF
63OptionalHeader:
64  AddressOfEntryPoint: 4096
65  ImageBase:           0x140000000
66  SectionAlignment:    4096
67  FileAlignment:       512
68  MajorOperatingSystemVersion: 6
69  MinorOperatingSystemVersion: 1
70  MajorImageVersion:   7
71  MinorImageVersion:   2
72  MajorSubsystemVersion: 8
73  MinorSubsystemVersion: 3
74  Subsystem:       IMAGE_SUBSYSTEM_WINDOWS_CUI
75  DLLCharacteristics: [ IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA, IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE, IMAGE_DLL_CHARACTERISTICS_NX_COMPAT, IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE ]
76  SizeOfStackReserve:  1048576
77  SizeOfStackCommit:   4096
78  SizeOfHeapReserve:   1048576
79  SizeOfHeapCommit:    4096
80  ExceptionTable:
81    RelativeVirtualAddress: 12288
82    Size:            8
83header:
84  Machine:         IMAGE_FILE_MACHINE_ARM64
85  Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE ]
86sections:
87  - Name:            .text
88    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
89    VirtualAddress:  4096
90    VirtualSize:     4
91    SectionData:     C0035FD6
92  - Name:            .rdata
93    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
94    VirtualAddress:  8192
95    VirtualSize:     12
96    SectionData:     0100400800000000E4E3E3E3
97  - Name:            .pdata
98    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ]
99    VirtualAddress:  12288
100    VirtualSize:     8
101    SectionData:     '0010000000200000'
102symbols:         []
103...
104
105## Test 32-bit object with full Characteristics and DllCharacteristics.
106# RUN: yaml2obj --docnum=2 %s -o %t2
107# RUN: llvm-objdump -p %t2 | FileCheck %s --check-prefix=PE32 --match-full-lines
108#      PE32:{{.*}}file format coff-i386
109#      PE32:Characteristics 0xffbf
110# PE32-NEXT:        relocations stripped
111# PE32-NEXT:        executable
112# PE32-NEXT:        line numbers stripped
113# PE32-NEXT:        symbols stripped
114# PE32-NEXT:        large address aware
115# PE32-NEXT:        little endian
116# PE32-NEXT:        32 bit words
117# PE32-NEXT:        debugging information removed
118# PE32-NEXT:        copy to swap file if on removable media
119# PE32-NEXT:        copy to swap file if on network media
120# PE32-NEXT:        system file
121# PE32-NEXT:        DLL
122# PE32-NEXT:        run only on uniprocessor machine
123# PE32-NEXT:        big endian
124#PE32-EMPTY:
125#      PE32:Time/Date               {{.*}}
126# PE32-NEXT:Magic                   010b	(PE32)
127# PE32-NEXT:MajorLinkerVersion      0
128# PE32-NEXT:MinorLinkerVersion      0
129# PE32-NEXT:SizeOfCode              00000004
130# PE32-NEXT:SizeOfInitializedData   00000000
131# PE32-NEXT:SizeOfUninitializedData 00000000
132# PE32-NEXT:AddressOfEntryPoint     00000000
133# PE32-NEXT:BaseOfCode              00001000
134# PE32-NEXT:BaseOfData              00000000
135# PE32-NEXT:ImageBase               00000000
136# PE32-NEXT:SectionAlignment        00000001
137# PE32-NEXT:FileAlignment           00000001
138# PE32-NEXT:MajorOSystemVersion     0
139# PE32-NEXT:MinorOSystemVersion     0
140# PE32-NEXT:MajorImageVersion       0
141# PE32-NEXT:MinorImageVersion       0
142# PE32-NEXT:MajorSubsystemVersion   0
143# PE32-NEXT:MinorSubsystemVersion   0
144# PE32-NEXT:Win32Version            00000000
145# PE32-NEXT:SizeOfImage             000001a4
146# PE32-NEXT:SizeOfHeaders           000001a0
147# PE32-NEXT:CheckSum                00000000
148# PE32-NEXT:Subsystem               0000000a	(EFI application)
149# PE32-NEXT:DllCharacteristics      0000ffe0
150# PE32-NEXT:					HIGH_ENTROPY_VA
151# PE32-NEXT:					DYNAMIC_BASE
152# PE32-NEXT:					FORCE_INTEGRITY
153# PE32-NEXT:					NX_COMPAT
154# PE32-NEXT:					NO_ISOLATION
155# PE32-NEXT:					NO_SEH
156# PE32-NEXT:					NO_BIND
157# PE32-NEXT:					APPCONTAINER
158# PE32-NEXT:					WDM_DRIVER
159# PE32-NEXT:					GUARD_CF
160# PE32-NEXT:					TERMINAL_SERVER_AWARE
161--- !COFF
162header:
163  Machine:         IMAGE_FILE_MACHINE_I386
164  Characteristics: [ IMAGE_FILE_RELOCS_STRIPPED, IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LINE_NUMS_STRIPPED,
165                     IMAGE_FILE_LOCAL_SYMS_STRIPPED, IMAGE_FILE_AGGRESSIVE_WS_TRIM, IMAGE_FILE_LARGE_ADDRESS_AWARE,
166                     IMAGE_FILE_BYTES_REVERSED_LO, IMAGE_FILE_32BIT_MACHINE, IMAGE_FILE_DEBUG_STRIPPED,
167                     IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP, IMAGE_FILE_NET_RUN_FROM_SWAP, IMAGE_FILE_SYSTEM,
168                     IMAGE_FILE_DLL, IMAGE_FILE_UP_SYSTEM_ONLY, IMAGE_FILE_BYTES_REVERSED_HI ]
169OptionalHeader:
170  Subsystem:          IMAGE_SUBSYSTEM_EFI_APPLICATION
171  DLLCharacteristics: [ IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA, IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE,
172                        IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY, IMAGE_DLL_CHARACTERISTICS_NX_COMPAT,
173                        IMAGE_DLL_CHARACTERISTICS_NO_ISOLATION, IMAGE_DLL_CHARACTERISTICS_NO_SEH,
174                        IMAGE_DLL_CHARACTERISTICS_NO_BIND, IMAGE_DLL_CHARACTERISTICS_APPCONTAINER,
175                        IMAGE_DLL_CHARACTERISTICS_WDM_DRIVER, IMAGE_DLL_CHARACTERISTICS_GUARD_CF,
176                        IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE ]
177sections:
178  - Name:            .text
179    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
180    VirtualAddress:  4096
181    VirtualSize:     4
182    SectionData:     C0035FD6
183symbols:
184