1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ; The following two object files were generated using the following command:
3 ; D:\> cl /Z7 /c source.c
4 ; with the following contents of D:\source.c:
20 ; using 32-/64-bit versions of CL v17.00.61030 and v18.00.21005.1 respectively.
21 RUN: llvm-readobj -S --codeview --section-symbols %p/Inputs/multifunction-linetables.obj.coff-2012-i368 \
22 RUN: | FileCheck %s -check-prefix MFUN32
23 RUN: llvm-readobj -S --codeview --section-symbols %p/Inputs/multifunction-linetables.obj.coff-2013-i368 \
24 RUN: | FileCheck %s -check-prefix MFUN32
25 RUN: llvm-readobj -S --codeview --section-symbols %p/Inputs/multifunction-linetables.obj.coff-2012-x86_64 \
26 RUN: | FileCheck %s -check-prefix MFUN64
27 RUN: llvm-readobj -S --codeview --section-symbols %p/Inputs/multifunction-linetables.obj.coff-2013-x86_64 \
28 RUN: | FileCheck %s -check-prefix MFUN64
30 MFUN32: CodeViewDebugInfo [
31 MFUN32-NEXT: Section: .debug$S (2)
32 MFUN32-NEXT: Magic: 0x4
33 MFUN32-NEXT: Subsection [
34 MFUN32-NEXT: SubSectionType: Symbols (0xF1)
35 MFUN32-NEXT: SubSectionSize: 0x52
38 MFUN32-NEXT: SubSectionType: FrameData (0xF5)
39 MFUN32-NEXT: SubSectionSize: 0x24
42 MFUN32-NEXT: SubSectionType: Symbols (0xF1)
43 MFUN32-NEXT: SubSectionSize: 0x4B
44 MFUN32: GlobalProcIdSym {
46 MFUN32: DisplayName: x
47 MFUN32: LinkageName: _x
52 MFUN32-NEXT: SubSectionType: Lines (0xF2)
53 MFUN32-NEXT: SubSectionSize: 0x30
54 MFUN32: LinkageName: _x
56 MFUN32-NEXT: Subsection [
57 MFUN32-NEXT: SubSectionType: FrameData (0xF5)
58 MFUN32-NEXT: SubSectionSize: 0x24
61 MFUN32-NEXT: SubSectionType: Symbols (0xF1)
62 MFUN32-NEXT: SubSectionSize: 0x4B
63 MFUN32: GlobalProcIdSym {
65 MFUN32: DisplayName: y
66 MFUN32: LinkageName: _y
70 MFUN32-NEXT: Subsection [
71 MFUN32-NEXT: SubSectionType: Lines (0xF2)
72 MFUN32-NEXT: SubSectionSize: 0x30
73 MFUN32: LinkageName: _y
75 MFUN32-NEXT: Subsection [
76 MFUN32-NEXT: SubSectionType: FrameData (0xF5)
77 MFUN32-NEXT: SubSectionSize: 0x24
80 MFUN32-NEXT: SubSectionType: Symbols (0xF1)
81 MFUN32-NEXT: SubSectionSize: 0x4B
82 MFUN32: GlobalProcIdSym {
83 MFUN32: CodeSize: 0x14
84 MFUN32: DisplayName: f
85 MFUN32: LinkageName: _f
90 MFUN32-NEXT: SubSectionType: Lines (0xF2)
91 MFUN32-NEXT: SubSectionSize: 0x40
92 MFUN32: LinkageName: _f
94 MFUN32-NEXT: Subsection [
95 MFUN32-NEXT: SubSectionType: FileChecksums (0xF4)
96 MFUN32-NEXT: SubSectionSize: 0x18
98 MFUN32-NEXT: Subsection [
99 MFUN32-NEXT: SubSectionType: StringTable (0xF3)
100 MFUN32-NEXT: SubSectionSize: 0x46
102 MFUN32-NEXT: Subsection [
103 MFUN32-NEXT: SubSectionType: Symbols (0xF1)
104 MFUN32-NEXT: SubSectionSize: 0x8
106 MFUN32-NEXT: FunctionLineTable [
107 MFUN32-NEXT LinkageName: _x
108 MFUN32-NEXT Flags: 0x0
109 MFUN32-NEXT CodeSize: 0xA
110 MFUN32-NEXT FilenameSegment [
111 MFUN32-NEXT Filename: d:\source.c
113 MFUN32-NEXT LineNumberStart: 3
114 MFUN32-NEXT LineNumberEndDelta: 0
115 MFUN32-NEXT IsStatement: Yes
118 MFUN32-NEXT LineNumberStart: 4
119 MFUN32-NEXT LineNumberEndDelta: 0
120 MFUN32-NEXT IsStatement: Yes
123 MFUN32-NEXT LineNumberStart: 5
124 MFUN32-NEXT LineNumberEndDelta: 0
125 MFUN32-NEXT IsStatement: Yes
129 MFUN32-NEXT FunctionLineTable [
130 MFUN32-NEXT LinkageName: _y
131 MFUN32-NEXT Flags: 0x0
132 MFUN32-NEXT CodeSize: 0xA
133 MFUN32-NEXT FilenameSegment [
134 MFUN32-NEXT Filename: d:\source.c
136 MFUN32-NEXT LineNumberStart: 7
137 MFUN32-NEXT LineNumberEndDelta: 0
138 MFUN32-NEXT IsStatement: Yes
141 MFUN32-NEXT LineNumberStart: 8
142 MFUN32-NEXT LineNumberEndDelta: 0
143 MFUN32-NEXT IsStatement: Yes
146 MFUN32-NEXT LineNumberStart: 9
147 MFUN32-NEXT LineNumberEndDelta: 0
148 MFUN32-NEXT IsStatement: Yes
152 MFUN32-NEXT FunctionLineTable [
153 MFUN32-NEXT LinkageName: _f
154 MFUN32-NEXT Flags: 0x0
155 MFUN32-NEXT CodeSize: 0x14
156 MFUN32-NEXT FilenameSegment [
157 MFUN32-NEXT Filename: d:\source.c
159 MFUN32-NEXT LineNumberStart: 11
160 MFUN32-NEXT LineNumberEndDelta: 0
161 MFUN32-NEXT IsStatement: Yes
164 MFUN32-NEXT LineNumberStart: 12
165 MFUN32-NEXT LineNumberEndDelta: 0
166 MFUN32-NEXT IsStatement: Yes
169 MFUN32-NEXT LineNumberStart: 13
170 MFUN32-NEXT LineNumberEndDelta: 0
171 MFUN32-NEXT IsStatement: Yes
174 MFUN32-NEXT LineNumberStart: 14
175 MFUN32-NEXT LineNumberEndDelta: 0
176 MFUN32-NEXT IsStatement: Yes
179 MFUN32-NEXT LineNumberStart: 15
180 MFUN32-NEXT LineNumberEndDelta: 0
181 MFUN32-NEXT IsStatement: Yes
187 MFUN64: CodeViewDebugInfo [
189 MFUN64-NEXT: Subsection [
190 MFUN64-NEXT: SubSectionType: Symbols (0xF1)
191 MFUN64-NEXT: SubSectionSize: 0x52
194 MFUN64-NEXT: SubSectionType: Symbols (0xF1)
195 MFUN64-NEXT: SubSectionSize: 0x4B
196 MFUN64: GlobalProcIdSym {
197 MFUN64: CodeSize: 0xE
198 MFUN64: DisplayName: x
199 MFUN64: LinkageName: x
203 MFUN64-NEXT: Subsection [
204 MFUN64-NEXT: SubSectionType: Lines (0xF2)
205 MFUN64-NEXT: SubSectionSize: 0x30
206 MFUN64: LinkageName: x
208 MFUN64-NEXT: Subsection [
209 MFUN64-NEXT: SubSectionType: Symbols (0xF1)
210 MFUN64-NEXT: SubSectionSize: 0x4B
211 MFUN64: GlobalProcIdSym {
212 MFUN64: CodeSize: 0xE
213 MFUN64: DisplayName: y
214 MFUN64: LinkageName: y
218 MFUN64-NEXT: Subsection [
219 MFUN64-NEXT: SubSectionType: Lines (0xF2)
220 MFUN64-NEXT: SubSectionSize: 0x30
221 MFUN64: LinkageName: y
223 MFUN64-NEXT: Subsection [
224 MFUN64-NEXT: SubSectionType: Symbols (0xF1)
225 MFUN64-NEXT: SubSectionSize: 0x4B
226 MFUN64: GlobalProcIdSym {
227 MFUN64: CodeSize: 0x18
228 MFUN64: DisplayName: f
229 MFUN64: LinkageName: f
233 MFUN64-NEXT: Subsection [
234 MFUN64-NEXT: SubSectionType: Lines (0xF2)
235 MFUN64-NEXT: SubSectionSize: 0x40
236 MFUN64: LinkageName: f
238 MFUN64-NEXT: Subsection [
239 MFUN64-NEXT: SubSectionType: FileChecksums (0xF4)
240 MFUN64-NEXT: SubSectionSize: 0x18
242 MFUN64-NEXT: Subsection [
243 MFUN64-NEXT: SubSectionType: StringTable (0xF3)
244 MFUN64-NEXT: SubSectionSize: 0xD
246 MFUN64-NEXT: Subsection [
247 MFUN64-NEXT: SubSectionType: Symbols (0xF1)
248 MFUN64-NEXT: SubSectionSize: 0x8
250 MFUN64-NEXT: FunctionLineTable [
251 MFUN64-NEXT: LinkageName: x
252 MFUN64-NEXT: Flags: 0x0
253 MFUN64-NEXT: CodeSize: 0xE
254 MFUN64-NEXT: FilenameSegment [
255 MFUN64-NEXT: Filename: d:\source.c
257 MFUN64-NEXT: LineNumberStart: 3
258 MFUN64-NEXT: LineNumberEndDelta: 0
259 MFUN64-NEXT: IsStatement: Yes
262 MFUN64-NEXT: LineNumberStart: 4
263 MFUN64-NEXT: LineNumberEndDelta: 0
264 MFUN64-NEXT: IsStatement: Yes
267 MFUN64-NEXT: LineNumberStart: 5
268 MFUN64-NEXT: LineNumberEndDelta: 0
269 MFUN64-NEXT: IsStatement: Yes
273 MFUN64-NEXT: FunctionLineTable [
274 MFUN64-NEXT: LinkageName: y
275 MFUN64-NEXT: Flags: 0x0
276 MFUN64-NEXT: CodeSize: 0xE
277 MFUN64-NEXT: FilenameSegment [
278 MFUN64-NEXT: Filename: d:\source.c
280 MFUN64-NEXT: LineNumberStart: 7
281 MFUN64-NEXT: LineNumberEndDelta: 0
282 MFUN64-NEXT: IsStatement: Yes
285 MFUN64-NEXT: LineNumberStart: 8
286 MFUN64-NEXT: LineNumberEndDelta: 0
287 MFUN64-NEXT: IsStatement: Yes
290 MFUN64-NEXT: LineNumberStart: 9
291 MFUN64-NEXT: LineNumberEndDelta: 0
292 MFUN64-NEXT: IsStatement: Yes
296 MFUN64-NEXT: FunctionLineTable [
297 MFUN64-NEXT: LinkageName: f
298 MFUN64-NEXT: Flags: 0x0
299 MFUN64-NEXT: CodeSize: 0x18
300 MFUN64-NEXT: FilenameSegment [
301 MFUN64-NEXT: Filename: d:\source.c
303 MFUN64-NEXT: LineNumberStart: 11
304 MFUN64-NEXT: LineNumberEndDelta: 0
305 MFUN64-NEXT: IsStatement: Yes
308 MFUN64-NEXT: LineNumberStart: 12
309 MFUN64-NEXT: LineNumberEndDelta: 0
310 MFUN64-NEXT: IsStatement: Yes
313 MFUN64-NEXT: LineNumberStart: 13
314 MFUN64-NEXT: LineNumberEndDelta: 0
315 MFUN64-NEXT: IsStatement: Yes
318 MFUN64-NEXT: LineNumberStart: 14
319 MFUN64-NEXT: LineNumberEndDelta: 0
320 MFUN64-NEXT: IsStatement: Yes
323 MFUN64-NEXT: LineNumberStart: 15
324 MFUN64-NEXT: LineNumberEndDelta: 0
325 MFUN64-NEXT: IsStatement: Yes
331 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
332 ; The following two object files were generated using the following command:
333 ; D:\> cl /Z7 /c input.c
334 ; with the following contents of D:\input.c:
345 ; using 32-/64-bit versions of CL v17.00.61030 and v18.00.21005.1 respectively.
346 RUN: llvm-readobj -S --codeview --section-symbols %p/Inputs/multifile-linetables.obj.coff-2012-i368 \
347 RUN: | FileCheck %s -check-prefix MFILE32
348 RUN: llvm-readobj -S --codeview --section-symbols %p/Inputs/multifile-linetables.obj.coff-2013-i368 \
349 RUN: | FileCheck %s -check-prefix MFILE32
350 RUN: llvm-readobj -S --codeview --section-symbols %p/Inputs/multifile-linetables.obj.coff-2012-x86_64 \
351 RUN: | FileCheck %s -check-prefix MFILE64
352 RUN: llvm-readobj -S --codeview --section-symbols %p/Inputs/multifile-linetables.obj.coff-2013-x86_64 \
353 RUN: | FileCheck %s -check-prefix MFILE64
355 MFILE32: CodeViewDebugInfo [
357 MFILE32-NEXT: Subsection [
358 MFILE32-NEXT: SubSectionType: Symbols (0xF1)
359 MFILE32-NEXT: SubSectionSize: 0x51
361 MFILE32: Subsection [
362 MFILE32-NEXT: SubSectionType: FrameData (0xF5)
363 MFILE32-NEXT: SubSectionSize: 0x24
365 MFILE32: Subsection [
366 MFILE32-NEXT: SubSectionType: Symbols (0xF1)
367 MFILE32-NEXT: SubSectionSize: 0x4B
368 MFILE32: GlobalProcIdSym {
369 MFILE32: CodeSize: 0x14
370 MFILE32: DisplayName: f
371 MFILE32: LinkageName: _f
375 MFILE32-NEXT: Subsection [
376 MFILE32-NEXT: SubSectionType: Lines (0xF2)
377 MFILE32-NEXT: SubSectionSize: 0x64
378 MFILE32: LinkageName: _f
380 MFILE32-NEXT: Subsection [
381 MFILE32-NEXT: SubSectionType: FileChecksums (0xF4)
382 MFILE32-NEXT: SubSectionSize: 0x28
384 MFILE32-NEXT: Subsection [
385 MFILE32-NEXT: SubSectionType: StringTable (0xF3)
386 MFILE32-NEXT: SubSectionSize: 0x57
388 MFILE32-NEXT: Subsection [
389 MFILE32-NEXT: SubSectionType: Symbols (0xF1)
390 MFILE32-NEXT: SubSectionSize: 0x8
392 MFILE32-NEXT: FunctionLineTable [
393 MFILE32-NEXT: LinkageName: _f
394 MFILE32-NEXT: Flags: 0x0
395 MFILE32-NEXT: CodeSize: 0x14
396 MFILE32-NEXT: FilenameSegment [
397 MFILE32-NEXT: Filename: d:\input.c
399 MFILE32-NEXT: LineNumberStart: 3
400 MFILE32-NEXT: LineNumberEndDelta: 0
401 MFILE32-NEXT: IsStatement: Yes
404 MFILE32-NEXT: FilenameSegment [
405 MFILE32-NEXT: Filename: d:\one.c
407 MFILE32-NEXT: LineNumberStart: 1
408 MFILE32-NEXT: LineNumberEndDelta: 0
409 MFILE32-NEXT: IsStatement: Yes
412 MFILE32-NEXT: FilenameSegment [
413 MFILE32-NEXT: Filename: d:\two.c
415 MFILE32-NEXT: LineNumberStart: 2
416 MFILE32-NEXT: LineNumberEndDelta: 0
417 MFILE32-NEXT: IsStatement: Yes
420 MFILE32-NEXT: FilenameSegment [
421 MFILE32-NEXT: Filename: d:\one.c
423 MFILE32-NEXT: LineNumberStart: 7
424 MFILE32-NEXT: LineNumberEndDelta: 0
425 MFILE32-NEXT: IsStatement: Yes
427 MFILE32-NEXT: +0x12 [
428 MFILE32-NEXT: LineNumberStart: 8
429 MFILE32-NEXT: LineNumberEndDelta: 0
430 MFILE32-NEXT: IsStatement: Yes
436 MFILE64: CodeViewDebugInfo [
438 MFILE64-NEXT: Subsection [
439 MFILE64-NEXT: SubSectionType: Symbols (0xF1)
440 MFILE64-NEXT: SubSectionSize: 0x51
442 MFILE64: Subsection [
443 MFILE64-NEXT: SubSectionType: Symbols (0xF1)
444 MFILE64-NEXT: SubSectionSize: 0x4B
445 MFILE64: GlobalProcIdSym {
446 MFILE64: CodeSize: 0x18
447 MFILE64: DisplayName: f
448 MFILE64: LinkageName: f
452 MFILE64-NEXT: Subsection [
453 MFILE64-NEXT: SubSectionType: Lines (0xF2)
454 MFILE64-NEXT: SubSectionSize: 0x64
455 MFILE64: LinkageName: f
457 MFILE64-NEXT: Subsection [
458 MFILE64-NEXT: SubSectionType: FileChecksums (0xF4)
459 MFILE64-NEXT: SubSectionSize: 0x28
461 MFILE64-NEXT: Subsection [
462 MFILE64-NEXT: SubSectionType: StringTable (0xF3)
463 MFILE64-NEXT: SubSectionSize: 0x1E
465 MFILE64-NEXT: Subsection [
466 MFILE64-NEXT: SubSectionType: Symbols (0xF1)
467 MFILE64-NEXT: SubSectionSize: 0x8
469 MFILE64-NEXT: FunctionLineTable [
470 MFILE64-NEXT: LinkageName: f
471 MFILE64-NEXT: Flags: 0x0
472 MFILE64-NEXT: CodeSize: 0x18
473 MFILE64-NEXT: FilenameSegment [
474 MFILE64-NEXT: Filename: d:\input.c
476 MFILE64-NEXT: LineNumberStart: 3
477 MFILE64-NEXT: LineNumberEndDelta: 0
478 MFILE64-NEXT: IsStatement: Yes
481 MFILE64-NEXT: FilenameSegment [
482 MFILE64-NEXT: Filename: d:\one.c
484 MFILE64-NEXT: LineNumberStart: 1
485 MFILE64-NEXT: LineNumberEndDelta: 0
486 MFILE64-NEXT: IsStatement: Yes
489 MFILE64-NEXT: FilenameSegment [
490 MFILE64-NEXT: Filename: d:\two.c
492 MFILE64-NEXT: LineNumberStart: 2
493 MFILE64-NEXT: LineNumberEndDelta: 0
494 MFILE64-NEXT: IsStatement: Yes
497 MFILE64-NEXT: FilenameSegment [
498 MFILE64-NEXT: Filename: d:\one.c
500 MFILE64-NEXT: LineNumberStart: 7
501 MFILE64-NEXT: LineNumberEndDelta: 0
502 MFILE64-NEXT: IsStatement: Yes
504 MFILE64-NEXT: +0x13 [
505 MFILE64-NEXT: LineNumberStart: 8
506 MFILE64-NEXT: LineNumberEndDelta: 0
507 MFILE64-NEXT: IsStatement: Yes
512 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
513 ; The following object files were generated using the following command:
514 ; C:\src> cl /Z7 /Gy /c test.cc
515 ; with the following contents of C:\src\test.cc:
525 ; using 32-version of CL v17.00.61030 and v18.00.21005.1 respectively.
526 RUN: llvm-readobj -S --codeview --section-symbols %p/Inputs/comdat-function-linetables.obj.coff-2012-i386 \
527 RUN: | FileCheck %s -check-prefix MCOMDAT
528 RUN: llvm-readobj -S --codeview --section-symbols %p/Inputs/comdat-function-linetables.obj.coff-2013-i386 \
529 RUN: | FileCheck %s -check-prefix MCOMDAT
531 MCOMDAT: GlobalProcIdSym {
532 MCOMDAT: CodeSize: 0x7
533 MCOMDAT: DisplayName: f
534 MCOMDAT: LinkageName: ?f@@YAHXZ
536 MCOMDAT: FunctionLineTable [
537 MCOMDAT-NEXT: LinkageName: ?f@@YAHXZ
538 MCOMDAT-NEXT: Flags: 0x0
539 MCOMDAT-NEXT: CodeSize: 0x7
540 MCOMDAT-NEXT: FilenameSegment [
541 MCOMDAT-NEXT: Filename: c:\src\test.cc
543 MCOMDAT-NEXT: LineNumberStart: 2
544 MCOMDAT-NEXT: LineNumberEndDelta: 0
545 MCOMDAT-NEXT: IsStatement: Yes
548 MCOMDAT-NEXT: LineNumberStart: 3
549 MCOMDAT-NEXT: LineNumberEndDelta: 0
550 MCOMDAT-NEXT: IsStatement: Yes
553 MCOMDAT-NEXT: LineNumberStart: 4
554 MCOMDAT-NEXT: LineNumberEndDelta: 0
555 MCOMDAT-NEXT: IsStatement: Yes
559 MCOMDAT: GlobalProcIdSym {
560 MCOMDAT: CodeSize: 0x7
561 MCOMDAT: DisplayName: g
562 MCOMDAT: LinkageName: ?g@@YAHXZ
564 MCOMDAT: FunctionLineTable [
565 MCOMDAT-NEXT: LinkageName: ?g@@YAHXZ
566 MCOMDAT-NEXT: Flags: 0x0
567 MCOMDAT-NEXT: CodeSize: 0x7
568 MCOMDAT-NEXT: FilenameSegment [
569 MCOMDAT-NEXT: Filename: c:\src\test.cc
571 MCOMDAT-NEXT: LineNumberStart: 7
572 MCOMDAT-NEXT: LineNumberEndDelta: 0
573 MCOMDAT-NEXT: IsStatement: Yes
576 MCOMDAT-NEXT: LineNumberStart: 8
577 MCOMDAT-NEXT: LineNumberEndDelta: 0
578 MCOMDAT-NEXT: IsStatement: Yes
581 MCOMDAT-NEXT: LineNumberStart: 9
582 MCOMDAT-NEXT: LineNumberEndDelta: 0
583 MCOMDAT-NEXT: IsStatement: Yes