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    Subsections:
39      - !Symbols
40        Records:
41          - Kind:            S_GPROC32_ID
42            ProcSym:
43              PtrParent:       0
44              PtrEnd:          0
45              PtrNext:         0
46              CodeSize:        16
47              DbgStart:        0
48              DbgEnd:          0
49              FunctionType:    0
50              Segment:         0
51              Flags:           [  ]
52              DisplayName:     main
53          - Kind:            S_PROC_ID_END
54            ScopeEndSym:
55      - !Lines
56        CodeSize:        16
57        Flags:           [ HasColumnInfo ]
58        RelocOffset:     0
59        RelocSegment:    0
60        Blocks:
61          - FileName:        '\usr\local\google\home\majnemer\llvm\src\tools\lld\<stdin>'
62            Lines:
63              - Offset:          0
64                LineStart:       1
65                IsStatement:     false
66                EndDelta:        0
67            Columns:
68              - StartColumn:     0
69                EndColumn:       0
70      - !FileChecksums
71        Checksums:
72          - FileName:        '\usr\local\google\home\majnemer\llvm\src\tools\lld\<stdin>'
73            Kind:            None
74            Checksum:        ''
75      - !StringTable
76        Strings:
77          - '\usr\local\google\home\majnemer\llvm\src\tools\lld\<stdin>'
78    Relocations:
79      - VirtualAddress:  44
80        SymbolName:      _main
81        Type:            IMAGE_REL_I386_SECREL
82      - VirtualAddress:  48
83        SymbolName:      _main
84        Type:            IMAGE_REL_I386_SECTION
85      - VirtualAddress:  68
86        SymbolName:      _main
87        Type:            IMAGE_REL_I386_SECREL
88      - VirtualAddress:  72
89        SymbolName:      _main
90        Type:            IMAGE_REL_I386_SECTION
91  - Name:            .debug_str
92    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
93    Alignment:       1
94    SectionData:     ''
95  - Name:            .debug_loc
96    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
97    Alignment:       1
98    SectionData:     ''
99  - Name:            .debug_abbrev
100    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
101    Alignment:       1
102    SectionData:     011101250E1305030E10171B0E110112060000023400030E49133F193A0B3B0B02186E0E0000032400030E3E0B0B0B0000042E0011011206E77F194018030E3A0B3B0B49133F19000000
103  - Name:            .debug_info
104    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
105    Alignment:       1
106    SectionData:     54000000040000000000040100000000040037000000000000003F000000000000001000000002720000003B0000000101050300000000780000000374000000050404000000001000000001548000000001013B00000000
107    Relocations:
108      - VirtualAddress:  6
109        SymbolName:      .debug_abbrev
110        Type:            IMAGE_REL_I386_SECREL
111      - VirtualAddress:  12
112        SymbolName:      .debug_str
113        Type:            IMAGE_REL_I386_SECREL
114      - VirtualAddress:  18
115        SymbolName:      .debug_str
116        Type:            IMAGE_REL_I386_SECREL
117      - VirtualAddress:  22
118        SymbolName:      .debug_line
119        Type:            IMAGE_REL_I386_SECREL
120      - VirtualAddress:  26
121        SymbolName:      .debug_str
122        Type:            IMAGE_REL_I386_SECREL
123      - VirtualAddress:  30
124        SymbolName:      .text
125        Type:            IMAGE_REL_I386_DIR32
126      - VirtualAddress:  39
127        SymbolName:      .debug_str
128        Type:            IMAGE_REL_I386_SECREL
129      - VirtualAddress:  51
130        SymbolName:      '?x@@3HA'
131        Type:            IMAGE_REL_I386_DIR32
132      - VirtualAddress:  55
133        SymbolName:      .debug_str
134        Type:            IMAGE_REL_I386_SECREL
135      - VirtualAddress:  60
136        SymbolName:      .debug_str
137        Type:            IMAGE_REL_I386_SECREL
138      - VirtualAddress:  67
139        SymbolName:      .text
140        Type:            IMAGE_REL_I386_DIR32
141      - VirtualAddress:  77
142        SymbolName:      .debug_str
143        Type:            IMAGE_REL_I386_SECREL
144  - Name:            .debug_ranges
145    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
146    Alignment:       1
147    SectionData:     ''
148  - Name:            .debug_pubnames
149    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
150    Alignment:       1
151    SectionData:     1D00000002000000000058000000420000006D61696E0026000000780000000000
152    Relocations:
153      - VirtualAddress:  6
154        SymbolName:      .debug_info
155        Type:            IMAGE_REL_I386_SECREL
156  - Name:            .debug_pubtypes
157    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
158    Alignment:       1
159    SectionData:     16000000020000000000580000003B000000696E740000000000
160    Relocations:
161      - VirtualAddress:  6
162        SymbolName:      .debug_info
163        Type:            IMAGE_REL_I386_SECREL
164  - Name:            .debug_line
165    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
166    Alignment:       1
167    SectionData:     3300000002001E0000000101FB0E0D000101010100000001000001003C737464696E3E000000000000050200000000010AD60202000101
168    Relocations:
169      - VirtualAddress:  43
170        SymbolName:      .text
171        Type:            IMAGE_REL_I386_DIR32
172symbols:
173  - Name:            .text
174    Value:           0
175    SectionNumber:   1
176    SimpleType:      IMAGE_SYM_TYPE_NULL
177    ComplexType:     IMAGE_SYM_DTYPE_NULL
178    StorageClass:    IMAGE_SYM_CLASS_STATIC
179    SectionDefinition:
180      Length:          16
181      NumberOfRelocations: 1
182      NumberOfLinenumbers: 0
183      CheckSum:        0
184      Number:          1
185  - Name:            .data
186    Value:           0
187    SectionNumber:   2
188    SimpleType:      IMAGE_SYM_TYPE_NULL
189    ComplexType:     IMAGE_SYM_DTYPE_NULL
190    StorageClass:    IMAGE_SYM_CLASS_STATIC
191    SectionDefinition:
192      Length:          0
193      NumberOfRelocations: 0
194      NumberOfLinenumbers: 0
195      CheckSum:        0
196      Number:          2
197  - Name:            .bss
198    Value:           0
199    SectionNumber:   3
200    SimpleType:      IMAGE_SYM_TYPE_NULL
201    ComplexType:     IMAGE_SYM_DTYPE_NULL
202    StorageClass:    IMAGE_SYM_CLASS_STATIC
203    SectionDefinition:
204      Length:          4
205      NumberOfRelocations: 0
206      NumberOfLinenumbers: 0
207      CheckSum:        0
208      Number:          3
209  - Name:            '.debug$S'
210    Value:           0
211    SectionNumber:   4
212    SimpleType:      IMAGE_SYM_TYPE_NULL
213    ComplexType:     IMAGE_SYM_DTYPE_NULL
214    StorageClass:    IMAGE_SYM_CLASS_STATIC
215    SectionDefinition:
216      Length:          188
217      NumberOfRelocations: 4
218      NumberOfLinenumbers: 0
219      CheckSum:        0
220      Number:          4
221  - Name:            .debug_str
222    Value:           0
223    SectionNumber:   5
224    SimpleType:      IMAGE_SYM_TYPE_NULL
225    ComplexType:     IMAGE_SYM_DTYPE_NULL
226    StorageClass:    IMAGE_SYM_CLASS_STATIC
227    SectionDefinition:
228      Length:          133
229      NumberOfRelocations: 0
230      NumberOfLinenumbers: 0
231      CheckSum:        0
232      Number:          5
233  - Name:            .debug_loc
234    Value:           0
235    SectionNumber:   6
236    SimpleType:      IMAGE_SYM_TYPE_NULL
237    ComplexType:     IMAGE_SYM_DTYPE_NULL
238    StorageClass:    IMAGE_SYM_CLASS_STATIC
239    SectionDefinition:
240      Length:          0
241      NumberOfRelocations: 0
242      NumberOfLinenumbers: 0
243      CheckSum:        0
244      Number:          6
245  - Name:            .debug_abbrev
246    Value:           0
247    SectionNumber:   7
248    SimpleType:      IMAGE_SYM_TYPE_NULL
249    ComplexType:     IMAGE_SYM_DTYPE_NULL
250    StorageClass:    IMAGE_SYM_CLASS_STATIC
251    SectionDefinition:
252      Length:          74
253      NumberOfRelocations: 0
254      NumberOfLinenumbers: 0
255      CheckSum:        0
256      Number:          7
257  - Name:            .debug_info
258    Value:           0
259    SectionNumber:   8
260    SimpleType:      IMAGE_SYM_TYPE_NULL
261    ComplexType:     IMAGE_SYM_DTYPE_NULL
262    StorageClass:    IMAGE_SYM_CLASS_STATIC
263    SectionDefinition:
264      Length:          88
265      NumberOfRelocations: 12
266      NumberOfLinenumbers: 0
267      CheckSum:        0
268      Number:          8
269  - Name:            .debug_ranges
270    Value:           0
271    SectionNumber:   9
272    SimpleType:      IMAGE_SYM_TYPE_NULL
273    ComplexType:     IMAGE_SYM_DTYPE_NULL
274    StorageClass:    IMAGE_SYM_CLASS_STATIC
275    SectionDefinition:
276      Length:          0
277      NumberOfRelocations: 0
278      NumberOfLinenumbers: 0
279      CheckSum:        0
280      Number:          9
281  - Name:            .debug_pubnames
282    Value:           0
283    SectionNumber:   10
284    SimpleType:      IMAGE_SYM_TYPE_NULL
285    ComplexType:     IMAGE_SYM_DTYPE_NULL
286    StorageClass:    IMAGE_SYM_CLASS_STATIC
287    SectionDefinition:
288      Length:          33
289      NumberOfRelocations: 1
290      NumberOfLinenumbers: 0
291      CheckSum:        0
292      Number:          10
293  - Name:            .debug_pubtypes
294    Value:           0
295    SectionNumber:   11
296    SimpleType:      IMAGE_SYM_TYPE_NULL
297    ComplexType:     IMAGE_SYM_DTYPE_NULL
298    StorageClass:    IMAGE_SYM_CLASS_STATIC
299    SectionDefinition:
300      Length:          26
301      NumberOfRelocations: 1
302      NumberOfLinenumbers: 0
303      CheckSum:        0
304      Number:          11
305  - Name:            .debug_line
306    Value:           0
307    SectionNumber:   12
308    SimpleType:      IMAGE_SYM_TYPE_NULL
309    ComplexType:     IMAGE_SYM_DTYPE_NULL
310    StorageClass:    IMAGE_SYM_CLASS_STATIC
311    SectionDefinition:
312      Length:          55
313      NumberOfRelocations: 1
314      NumberOfLinenumbers: 0
315      CheckSum:        0
316      Number:          12
317  - Name:            '@feat.00'
318    Value:           1
319    SectionNumber:   -1
320    SimpleType:      IMAGE_SYM_TYPE_NULL
321    ComplexType:     IMAGE_SYM_DTYPE_NULL
322    StorageClass:    IMAGE_SYM_CLASS_STATIC
323  - Name:            _main
324    Value:           0
325    SectionNumber:   1
326    SimpleType:      IMAGE_SYM_TYPE_NULL
327    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION
328    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
329  - Name:            '?x@@3HA'
330    Value:           0
331    SectionNumber:   3
332    SimpleType:      IMAGE_SYM_TYPE_NULL
333    ComplexType:     IMAGE_SYM_DTYPE_NULL
334    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL
335...
336