1# RUN: yaml2obj < %s > %t.obj
2# RUN: lld-link /debug /out:%t.exe /entry:main %t.obj
3# RUN: llvm-readobj -sections %t.exe | FileCheck %s
4
5# CHECK: Name: .text
6# CHECK: Name: .debug_abbrev
7# CHECK: Name: .debug_info
8# CHECK: Name: .debug_line
9# CHECK: Name: .debug_pubnames
10# CHECK: Name: .debug_pubtypes
11# CHECK: Name: .reloc
12
13
14--- !COFF
15header:
16  Machine:         IMAGE_FILE_MACHINE_I386
17  Characteristics: [  ]
18sections:
19  - Name:            .text
20    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
21    Alignment:       16
22    SectionData:     508D0500000000C70424000000005AC3
23    Relocations:
24      - VirtualAddress:  3
25        SymbolName:      '?x@@3HA'
26        Type:            IMAGE_REL_I386_DIR32
27  - Name:            .data
28    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
29    Alignment:       4
30    SectionData:     ''
31  - Name:            .bss
32    Characteristics: [ IMAGE_SCN_CNT_UNINITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
33    Alignment:       4
34    SectionData:     ''
35  - Name:            '.debug$S'
36    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
37    Alignment:       1
38    SectionData:     04000000F1000000300000002A00471100000000000000000000000010000000000000000000000000000000000000000000006D61696E0002004F11F200000024000000000000000000010010000000000000000100000018000000000000000100000000000000F4000000080000000100000000000000F30000003C000000005C7573725C6C6F63616C5C676F6F676C655C686F6D655C6D616A6E656D65725C6C6C766D5C7372635C746F6F6C735C6C6C645C3C737464696E3E00
39    Relocations:
40      - VirtualAddress:  44
41        SymbolName:      _main
42        Type:            IMAGE_REL_I386_SECREL
43      - VirtualAddress:  48
44        SymbolName:      _main
45        Type:            IMAGE_REL_I386_SECTION
46      - VirtualAddress:  68
47        SymbolName:      _main
48        Type:            IMAGE_REL_I386_SECREL
49      - VirtualAddress:  72
50        SymbolName:      _main
51        Type:            IMAGE_REL_I386_SECTION
52  - Name:            .debug_str
53    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
54    Alignment:       1
55    SectionData:     ''
56  - Name:            .debug_loc
57    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
58    Alignment:       1
59    SectionData:     ''
60  - Name:            .debug_abbrev
61    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
62    Alignment:       1
63    SectionData:     011101250E1305030E10171B0E110112060000023400030E49133F193A0B3B0B02186E0E0000032400030E3E0B0B0B0000042E0011011206E77F194018030E3A0B3B0B49133F19000000
64  - Name:            .debug_info
65    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
66    Alignment:       1
67    SectionData:     54000000040000000000040100000000040037000000000000003F000000000000001000000002720000003B0000000101050300000000780000000374000000050404000000001000000001548000000001013B00000000
68    Relocations:
69      - VirtualAddress:  6
70        SymbolName:      .debug_abbrev
71        Type:            IMAGE_REL_I386_SECREL
72      - VirtualAddress:  12
73        SymbolName:      .debug_str
74        Type:            IMAGE_REL_I386_SECREL
75      - VirtualAddress:  18
76        SymbolName:      .debug_str
77        Type:            IMAGE_REL_I386_SECREL
78      - VirtualAddress:  22
79        SymbolName:      .debug_line
80        Type:            IMAGE_REL_I386_SECREL
81      - VirtualAddress:  26
82        SymbolName:      .debug_str
83        Type:            IMAGE_REL_I386_SECREL
84      - VirtualAddress:  30
85        SymbolName:      .text
86        Type:            IMAGE_REL_I386_DIR32
87      - VirtualAddress:  39
88        SymbolName:      .debug_str
89        Type:            IMAGE_REL_I386_SECREL
90      - VirtualAddress:  51
91        SymbolName:      '?x@@3HA'
92        Type:            IMAGE_REL_I386_DIR32
93      - VirtualAddress:  55
94        SymbolName:      .debug_str
95        Type:            IMAGE_REL_I386_SECREL
96      - VirtualAddress:  60
97        SymbolName:      .debug_str
98        Type:            IMAGE_REL_I386_SECREL
99      - VirtualAddress:  67
100        SymbolName:      .text
101        Type:            IMAGE_REL_I386_DIR32
102      - VirtualAddress:  77
103        SymbolName:      .debug_str
104        Type:            IMAGE_REL_I386_SECREL
105  - Name:            .debug_ranges
106    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
107    Alignment:       1
108    SectionData:     ''
109  - Name:            .debug_pubnames
110    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
111    Alignment:       1
112    SectionData:     1D00000002000000000058000000420000006D61696E0026000000780000000000
113    Relocations:
114      - VirtualAddress:  6
115        SymbolName:      .debug_info
116        Type:            IMAGE_REL_I386_SECREL
117  - Name:            .debug_pubtypes
118    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
119    Alignment:       1
120    SectionData:     16000000020000000000580000003B000000696E740000000000
121    Relocations:
122      - VirtualAddress:  6
123        SymbolName:      .debug_info
124        Type:            IMAGE_REL_I386_SECREL
125  - Name:            .debug_line
126    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
127    Alignment:       1
128    SectionData:     3300000002001E0000000101FB0E0D000101010100000001000001003C737464696E3E000000000000050200000000010AD60202000101
129    Relocations:
130      - VirtualAddress:  43
131        SymbolName:      .text
132        Type:            IMAGE_REL_I386_DIR32
133symbols:
134  - Name:            .text
135    Value:           0
136    SectionNumber:   1
137    SimpleType:      IMAGE_SYM_TYPE_NULL
138    ComplexType:     IMAGE_SYM_DTYPE_NULL
139    StorageClass:    IMAGE_SYM_CLASS_STATIC
140    SectionDefinition:
141      Length:          16
142      NumberOfRelocations: 1
143      NumberOfLinenumbers: 0
144      CheckSum:        0
145      Number:          1
146  - Name:            .data
147    Value:           0
148    SectionNumber:   2
149    SimpleType:      IMAGE_SYM_TYPE_NULL
150    ComplexType:     IMAGE_SYM_DTYPE_NULL
151    StorageClass:    IMAGE_SYM_CLASS_STATIC
152    SectionDefinition:
153      Length:          0
154      NumberOfRelocations: 0
155      NumberOfLinenumbers: 0
156      CheckSum:        0
157      Number:          2
158  - Name:            .bss
159    Value:           0
160    SectionNumber:   3
161    SimpleType:      IMAGE_SYM_TYPE_NULL
162    ComplexType:     IMAGE_SYM_DTYPE_NULL
163    StorageClass:    IMAGE_SYM_CLASS_STATIC
164    SectionDefinition:
165      Length:          4
166      NumberOfRelocations: 0
167      NumberOfLinenumbers: 0
168      CheckSum:        0
169      Number:          3
170  - Name:            '.debug$S'
171    Value:           0
172    SectionNumber:   4
173    SimpleType:      IMAGE_SYM_TYPE_NULL
174    ComplexType:     IMAGE_SYM_DTYPE_NULL
175    StorageClass:    IMAGE_SYM_CLASS_STATIC
176    SectionDefinition:
177      Length:          188
178      NumberOfRelocations: 4
179      NumberOfLinenumbers: 0
180      CheckSum:        0
181      Number:          4
182  - Name:            .debug_str
183    Value:           0
184    SectionNumber:   5
185    SimpleType:      IMAGE_SYM_TYPE_NULL
186    ComplexType:     IMAGE_SYM_DTYPE_NULL
187    StorageClass:    IMAGE_SYM_CLASS_STATIC
188    SectionDefinition:
189      Length:          133
190      NumberOfRelocations: 0
191      NumberOfLinenumbers: 0
192      CheckSum:        0
193      Number:          5
194  - Name:            .debug_loc
195    Value:           0
196    SectionNumber:   6
197    SimpleType:      IMAGE_SYM_TYPE_NULL
198    ComplexType:     IMAGE_SYM_DTYPE_NULL
199    StorageClass:    IMAGE_SYM_CLASS_STATIC
200    SectionDefinition:
201      Length:          0
202      NumberOfRelocations: 0
203      NumberOfLinenumbers: 0
204      CheckSum:        0
205      Number:          6
206  - Name:            .debug_abbrev
207    Value:           0
208    SectionNumber:   7
209    SimpleType:      IMAGE_SYM_TYPE_NULL
210    ComplexType:     IMAGE_SYM_DTYPE_NULL
211    StorageClass:    IMAGE_SYM_CLASS_STATIC
212    SectionDefinition:
213      Length:          74
214      NumberOfRelocations: 0
215      NumberOfLinenumbers: 0
216      CheckSum:        0
217      Number:          7
218  - Name:            .debug_info
219    Value:           0
220    SectionNumber:   8
221    SimpleType:      IMAGE_SYM_TYPE_NULL
222    ComplexType:     IMAGE_SYM_DTYPE_NULL
223    StorageClass:    IMAGE_SYM_CLASS_STATIC
224    SectionDefinition:
225      Length:          88
226      NumberOfRelocations: 12
227      NumberOfLinenumbers: 0
228      CheckSum:        0
229      Number:          8
230  - Name:            .debug_ranges
231    Value:           0
232    SectionNumber:   9
233    SimpleType:      IMAGE_SYM_TYPE_NULL
234    ComplexType:     IMAGE_SYM_DTYPE_NULL
235    StorageClass:    IMAGE_SYM_CLASS_STATIC
236    SectionDefinition:
237      Length:          0
238      NumberOfRelocations: 0
239      NumberOfLinenumbers: 0
240      CheckSum:        0
241      Number:          9
242  - Name:            .debug_pubnames
243    Value:           0
244    SectionNumber:   10
245    SimpleType:      IMAGE_SYM_TYPE_NULL
246    ComplexType:     IMAGE_SYM_DTYPE_NULL
247    StorageClass:    IMAGE_SYM_CLASS_STATIC
248    SectionDefinition:
249      Length:          33
250      NumberOfRelocations: 1
251      NumberOfLinenumbers: 0
252      CheckSum:        0
253      Number:          10
254  - Name:            .debug_pubtypes
255    Value:           0
256    SectionNumber:   11
257    SimpleType:      IMAGE_SYM_TYPE_NULL
258    ComplexType:     IMAGE_SYM_DTYPE_NULL
259    StorageClass:    IMAGE_SYM_CLASS_STATIC
260    SectionDefinition:
261      Length:          26
262      NumberOfRelocations: 1
263      NumberOfLinenumbers: 0
264      CheckSum:        0
265      Number:          11
266  - Name:            .debug_line
267    Value:           0
268    SectionNumber:   12
269    SimpleType:      IMAGE_SYM_TYPE_NULL
270    ComplexType:     IMAGE_SYM_DTYPE_NULL
271    StorageClass:    IMAGE_SYM_CLASS_STATIC
272    SectionDefinition:
273      Length:          55
274      NumberOfRelocations: 1
275      NumberOfLinenumbers: 0
276      CheckSum:        0
277      Number:          12
278  - Name:            '@feat.00'
279    Value:           1
280    SectionNumber:   -1
281    SimpleType:      IMAGE_SYM_TYPE_NULL
282    ComplexType:     IMAGE_SYM_DTYPE_NULL
283    StorageClass:    IMAGE_SYM_CLASS_STATIC
284  - Name:            _main
285    Value:           0
286    SectionNumber:   1
287    SimpleType:      IMAGE_SYM_TYPE_NULL
288    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
289    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
290  - Name:            '?x@@3HA'
291    Value:           0
292    SectionNumber:   3
293    SimpleType:      IMAGE_SYM_TYPE_NULL
294    ComplexType:     IMAGE_SYM_DTYPE_NULL
295    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
296...
297