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: Magic: 0x4
32 MFUN32-NEXT: Subsection [
33 MFUN32-NEXT: Type: 0xF1
34 MFUN32-NEXT: PayloadSize: 0x52
36 MFUN32-NEXT: Subsection [
37 MFUN32-NEXT: Type: 0xF5
38 MFUN32-NEXT: PayloadSize: 0x24
40 MFUN32-NEXT: Subsection [
41 MFUN32-NEXT: Type: 0xF1
42 MFUN32-NEXT: PayloadSize: 0x4B
44 MFUN32-NEXT: DisplayName: x
45 MFUN32-NEXT: Section: _x
46 MFUN32-NEXT: CodeSize: 0xA
50 MFUN32-NEXT: Subsection [
51 MFUN32-NEXT: Type: 0xF2
52 MFUN32-NEXT: PayloadSize: 0x30
53 MFUN32: LinkageName: _x
55 MFUN32-NEXT: Subsection [
56 MFUN32-NEXT: Type: 0xF5
57 MFUN32-NEXT: PayloadSize: 0x24
59 MFUN32-NEXT: Subsection [
60 MFUN32-NEXT: Type: 0xF1
61 MFUN32-NEXT: PayloadSize: 0x4B
63 MFUN32-NEXT: DisplayName: y
64 MFUN32-NEXT: Section: _y
65 MFUN32-NEXT: CodeSize: 0xA
69 MFUN32-NEXT: Subsection [
70 MFUN32-NEXT: Type: 0xF2
71 MFUN32-NEXT: PayloadSize: 0x30
72 MFUN32: LinkageName: _y
74 MFUN32-NEXT: Subsection [
75 MFUN32-NEXT: Type: 0xF5
76 MFUN32-NEXT: PayloadSize: 0x24
78 MFUN32-NEXT: Subsection [
79 MFUN32-NEXT: Type: 0xF1
80 MFUN32-NEXT: PayloadSize: 0x4B
82 MFUN32-NEXT: DisplayName: f
83 MFUN32-NEXT: Section: _f
84 MFUN32-NEXT: CodeSize: 0x14
88 MFUN32-NEXT: Subsection [
89 MFUN32-NEXT: Type: 0xF2
90 MFUN32-NEXT: PayloadSize: 0x40
91 MFUN32: LinkageName: _f
93 MFUN32-NEXT: Subsection [
94 MFUN32-NEXT: Type: 0xF4
95 MFUN32-NEXT: PayloadSize: 0x18
97 MFUN32-NEXT: Subsection [
98 MFUN32-NEXT: Type: 0xF3
99 MFUN32-NEXT: PayloadSize: 0x46
101 MFUN32-NEXT: Subsection [
102 MFUN32-NEXT: Type: 0xF1
103 MFUN32-NEXT: PayloadSize: 0x8
105 MFUN32-NEXT: FunctionLineTable [
106 MFUN32-NEXT LinkageName: _x
107 MFUN32-NEXT Flags: 0x0
108 MFUN32-NEXT CodeSize: 0xA
109 MFUN32-NEXT FilenameSegment [
110 MFUN32-NEXT Filename: d:\source.c
112 MFUN32-NEXT LineNumberStart: 3
113 MFUN32-NEXT LineNumberEndDelta: 0
114 MFUN32-NEXT IsStatement: Yes
117 MFUN32-NEXT LineNumberStart: 4
118 MFUN32-NEXT LineNumberEndDelta: 0
119 MFUN32-NEXT IsStatement: Yes
122 MFUN32-NEXT LineNumberStart: 5
123 MFUN32-NEXT LineNumberEndDelta: 0
124 MFUN32-NEXT IsStatement: Yes
128 MFUN32-NEXT FunctionLineTable [
129 MFUN32-NEXT LinkageName: _y
130 MFUN32-NEXT Flags: 0x0
131 MFUN32-NEXT CodeSize: 0xA
132 MFUN32-NEXT FilenameSegment [
133 MFUN32-NEXT Filename: d:\source.c
135 MFUN32-NEXT LineNumberStart: 7
136 MFUN32-NEXT LineNumberEndDelta: 0
137 MFUN32-NEXT IsStatement: Yes
140 MFUN32-NEXT LineNumberStart: 8
141 MFUN32-NEXT LineNumberEndDelta: 0
142 MFUN32-NEXT IsStatement: Yes
145 MFUN32-NEXT LineNumberStart: 9
146 MFUN32-NEXT LineNumberEndDelta: 0
147 MFUN32-NEXT IsStatement: Yes
151 MFUN32-NEXT FunctionLineTable [
152 MFUN32-NEXT LinkageName: _f
153 MFUN32-NEXT Flags: 0x0
154 MFUN32-NEXT CodeSize: 0x14
155 MFUN32-NEXT FilenameSegment [
156 MFUN32-NEXT Filename: d:\source.c
158 MFUN32-NEXT LineNumberStart: 11
159 MFUN32-NEXT LineNumberEndDelta: 0
160 MFUN32-NEXT IsStatement: Yes
163 MFUN32-NEXT LineNumberStart: 12
164 MFUN32-NEXT LineNumberEndDelta: 0
165 MFUN32-NEXT IsStatement: Yes
168 MFUN32-NEXT LineNumberStart: 13
169 MFUN32-NEXT LineNumberEndDelta: 0
170 MFUN32-NEXT IsStatement: Yes
173 MFUN32-NEXT LineNumberStart: 14
174 MFUN32-NEXT LineNumberEndDelta: 0
175 MFUN32-NEXT IsStatement: Yes
178 MFUN32-NEXT LineNumberStart: 15
179 MFUN32-NEXT LineNumberEndDelta: 0
180 MFUN32-NEXT IsStatement: Yes
186 MFUN64: CodeViewDebugInfo [
187 MFUN64-NEXT: Magic: 0x4
188 MFUN64-NEXT: Subsection [
189 MFUN64-NEXT: Type: 0xF1
190 MFUN64-NEXT: PayloadSize: 0x52
192 MFUN64-NEXT: Subsection [
193 MFUN64-NEXT: Type: 0xF1
194 MFUN64-NEXT: PayloadSize: 0x4B
196 MFUN64-NEXT: DisplayName: x
197 MFUN64-NEXT: Section: x
198 MFUN64-NEXT: CodeSize: 0xE
202 MFUN64-NEXT: Subsection [
203 MFUN64-NEXT: Type: 0xF2
204 MFUN64-NEXT: PayloadSize: 0x30
205 MFUN64: LinkageName: x
207 MFUN64-NEXT: Subsection [
208 MFUN64-NEXT: Type: 0xF1
209 MFUN64-NEXT: PayloadSize: 0x4B
211 MFUN64-NEXT: DisplayName: y
212 MFUN64-NEXT: Section: y
213 MFUN64-NEXT: CodeSize: 0xE
217 MFUN64-NEXT: Subsection [
218 MFUN64-NEXT: Type: 0xF2
219 MFUN64-NEXT: PayloadSize: 0x30
220 MFUN64: LinkageName: y
222 MFUN64-NEXT: Subsection [
223 MFUN64-NEXT: Type: 0xF1
224 MFUN64-NEXT: PayloadSize: 0x4B
226 MFUN64-NEXT: DisplayName: f
227 MFUN64-NEXT: Section: f
228 MFUN64-NEXT: CodeSize: 0x18
232 MFUN64-NEXT: Subsection [
233 MFUN64-NEXT: Type: 0xF2
234 MFUN64-NEXT: PayloadSize: 0x40
235 MFUN64: LinkageName: f
237 MFUN64-NEXT: Subsection [
238 MFUN64-NEXT: Type: 0xF4
239 MFUN64-NEXT: PayloadSize: 0x18
241 MFUN64-NEXT: Subsection [
242 MFUN64-NEXT: Type: 0xF3
243 MFUN64-NEXT: PayloadSize: 0xD
245 MFUN64-NEXT: Subsection [
246 MFUN64-NEXT: Type: 0xF1
247 MFUN64-NEXT: PayloadSize: 0x8
249 MFUN64-NEXT: FunctionLineTable [
250 MFUN64-NEXT: LinkageName: x
251 MFUN64-NEXT: Flags: 0x0
252 MFUN64-NEXT: CodeSize: 0xE
253 MFUN64-NEXT: FilenameSegment [
254 MFUN64-NEXT: Filename: d:\source.c
256 MFUN64-NEXT: LineNumberStart: 3
257 MFUN64-NEXT: LineNumberEndDelta: 0
258 MFUN64-NEXT: IsStatement: Yes
261 MFUN64-NEXT: LineNumberStart: 4
262 MFUN64-NEXT: LineNumberEndDelta: 0
263 MFUN64-NEXT: IsStatement: Yes
266 MFUN64-NEXT: LineNumberStart: 5
267 MFUN64-NEXT: LineNumberEndDelta: 0
268 MFUN64-NEXT: IsStatement: Yes
272 MFUN64-NEXT: FunctionLineTable [
273 MFUN64-NEXT: LinkageName: y
274 MFUN64-NEXT: Flags: 0x0
275 MFUN64-NEXT: CodeSize: 0xE
276 MFUN64-NEXT: FilenameSegment [
277 MFUN64-NEXT: Filename: d:\source.c
279 MFUN64-NEXT: LineNumberStart: 7
280 MFUN64-NEXT: LineNumberEndDelta: 0
281 MFUN64-NEXT: IsStatement: Yes
284 MFUN64-NEXT: LineNumberStart: 8
285 MFUN64-NEXT: LineNumberEndDelta: 0
286 MFUN64-NEXT: IsStatement: Yes
289 MFUN64-NEXT: LineNumberStart: 9
290 MFUN64-NEXT: LineNumberEndDelta: 0
291 MFUN64-NEXT: IsStatement: Yes
295 MFUN64-NEXT: FunctionLineTable [
296 MFUN64-NEXT: LinkageName: f
297 MFUN64-NEXT: Flags: 0x0
298 MFUN64-NEXT: CodeSize: 0x18
299 MFUN64-NEXT: FilenameSegment [
300 MFUN64-NEXT: Filename: d:\source.c
302 MFUN64-NEXT: LineNumberStart: 11
303 MFUN64-NEXT: LineNumberEndDelta: 0
304 MFUN64-NEXT: IsStatement: Yes
307 MFUN64-NEXT: LineNumberStart: 12
308 MFUN64-NEXT: LineNumberEndDelta: 0
309 MFUN64-NEXT: IsStatement: Yes
312 MFUN64-NEXT: LineNumberStart: 13
313 MFUN64-NEXT: LineNumberEndDelta: 0
314 MFUN64-NEXT: IsStatement: Yes
317 MFUN64-NEXT: LineNumberStart: 14
318 MFUN64-NEXT: LineNumberEndDelta: 0
319 MFUN64-NEXT: IsStatement: Yes
322 MFUN64-NEXT: LineNumberStart: 15
323 MFUN64-NEXT: LineNumberEndDelta: 0
324 MFUN64-NEXT: IsStatement: Yes
330 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
331 ; The following two object files were generated using the following command:
332 ; D:\> cl /Z7 /c input.c
333 ; with the following contents of D:\input.c:
344 ; using 32-/64-bit versions of CL v17.00.61030 and v18.00.21005.1 respectively.
345 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2012-i368 \
346 RUN: | FileCheck %s -check-prefix MFILE32
347 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2013-i368 \
348 RUN: | FileCheck %s -check-prefix MFILE32
349 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2012-x86_64 \
350 RUN: | FileCheck %s -check-prefix MFILE64
351 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2013-x86_64 \
352 RUN: | FileCheck %s -check-prefix MFILE64
354 MFILE32: CodeViewDebugInfo [
355 MFILE32-NEXT: Magic: 0x4
356 MFILE32-NEXT: Subsection [
357 MFILE32-NEXT: Type: 0xF1
358 MFILE32-NEXT: PayloadSize: 0x51
360 MFILE32-NEXT: Subsection [
361 MFILE32-NEXT: Type: 0xF5
362 MFILE32-NEXT: PayloadSize: 0x24
364 MFILE32-NEXT: Subsection [
365 MFILE32-NEXT: Type: 0xF1
366 MFILE32-NEXT: PayloadSize: 0x4B
368 MFILE32-NEXT: DisplayName: f
369 MFILE32-NEXT: Section: _f
370 MFILE32-NEXT: CodeSize: 0x14
372 MFILE32-NEXT: ProcEnd
374 MFILE32-NEXT: Subsection [
375 MFILE32-NEXT: Type: 0xF2
376 MFILE32-NEXT: PayloadSize: 0x64
377 MFILE32: LinkageName: _f
379 MFILE32-NEXT: Subsection [
380 MFILE32-NEXT: Type: 0xF4
381 MFILE32-NEXT: PayloadSize: 0x28
383 MFILE32-NEXT: Subsection [
384 MFILE32-NEXT: Type: 0xF3
385 MFILE32-NEXT: PayloadSize: 0x57
387 MFILE32-NEXT: Subsection [
388 MFILE32-NEXT: Type: 0xF1
389 MFILE32-NEXT: PayloadSize: 0x8
391 MFILE32-NEXT: FunctionLineTable [
392 MFILE32-NEXT: LinkageName: _f
393 MFILE32-NEXT: Flags: 0x0
394 MFILE32-NEXT: CodeSize: 0x14
395 MFILE32-NEXT: FilenameSegment [
396 MFILE32-NEXT: Filename: d:\input.c
398 MFILE32-NEXT: LineNumberStart: 3
399 MFILE32-NEXT: LineNumberEndDelta: 0
400 MFILE32-NEXT: IsStatement: Yes
403 MFILE32-NEXT: FilenameSegment [
404 MFILE32-NEXT: Filename: d:\one.c
406 MFILE32-NEXT: LineNumberStart: 1
407 MFILE32-NEXT: LineNumberEndDelta: 0
408 MFILE32-NEXT: IsStatement: Yes
411 MFILE32-NEXT: FilenameSegment [
412 MFILE32-NEXT: Filename: d:\two.c
414 MFILE32-NEXT: LineNumberStart: 2
415 MFILE32-NEXT: LineNumberEndDelta: 0
416 MFILE32-NEXT: IsStatement: Yes
419 MFILE32-NEXT: FilenameSegment [
420 MFILE32-NEXT: Filename: d:\one.c
422 MFILE32-NEXT: LineNumberStart: 7
423 MFILE32-NEXT: LineNumberEndDelta: 0
424 MFILE32-NEXT: IsStatement: Yes
426 MFILE32-NEXT: +0x12 [
427 MFILE32-NEXT: LineNumberStart: 8
428 MFILE32-NEXT: LineNumberEndDelta: 0
429 MFILE32-NEXT: IsStatement: Yes
435 MFILE64: CodeViewDebugInfo [
436 MFILE64-NEXT: Magic: 0x4
437 MFILE64-NEXT: Subsection [
438 MFILE64-NEXT: Type: 0xF1
439 MFILE64-NEXT: PayloadSize: 0x51
441 MFILE64-NEXT: Subsection [
442 MFILE64-NEXT: Type: 0xF1
443 MFILE64-NEXT: PayloadSize: 0x4B
445 MFILE64-NEXT: DisplayName: f
446 MFILE64-NEXT: Section: f
447 MFILE64-NEXT: CodeSize: 0x18
449 MFILE64-NEXT: ProcEnd
451 MFILE64-NEXT: Subsection [
452 MFILE64-NEXT: Type: 0xF2
453 MFILE64-NEXT: PayloadSize: 0x64
454 MFILE64: LinkageName: f
456 MFILE64-NEXT: Subsection [
457 MFILE64-NEXT: Type: 0xF4
458 MFILE64-NEXT: PayloadSize: 0x28
460 MFILE64-NEXT: Subsection [
461 MFILE64-NEXT: Type: 0xF3
462 MFILE64-NEXT: PayloadSize: 0x1E
464 MFILE64-NEXT: Subsection [
465 MFILE64-NEXT: Type: 0xF1
466 MFILE64-NEXT: PayloadSize: 0x8
468 MFILE64-NEXT: FunctionLineTable [
469 MFILE64-NEXT: LinkageName: f
470 MFILE64-NEXT: Flags: 0x0
471 MFILE64-NEXT: CodeSize: 0x18
472 MFILE64-NEXT: FilenameSegment [
473 MFILE64-NEXT: Filename: d:\input.c
475 MFILE64-NEXT: LineNumberStart: 3
476 MFILE64-NEXT: LineNumberEndDelta: 0
477 MFILE64-NEXT: IsStatement: Yes
480 MFILE64-NEXT: FilenameSegment [
481 MFILE64-NEXT: Filename: d:\one.c
483 MFILE64-NEXT: LineNumberStart: 1
484 MFILE64-NEXT: LineNumberEndDelta: 0
485 MFILE64-NEXT: IsStatement: Yes
488 MFILE64-NEXT: FilenameSegment [
489 MFILE64-NEXT: Filename: d:\two.c
491 MFILE64-NEXT: LineNumberStart: 2
492 MFILE64-NEXT: LineNumberEndDelta: 0
493 MFILE64-NEXT: IsStatement: Yes
496 MFILE64-NEXT: FilenameSegment [
497 MFILE64-NEXT: Filename: d:\one.c
499 MFILE64-NEXT: LineNumberStart: 7
500 MFILE64-NEXT: LineNumberEndDelta: 0
501 MFILE64-NEXT: IsStatement: Yes
503 MFILE64-NEXT: +0x13 [
504 MFILE64-NEXT: LineNumberStart: 8
505 MFILE64-NEXT: LineNumberEndDelta: 0
506 MFILE64-NEXT: IsStatement: Yes
511 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
512 ; The following object files were generated using the following command:
513 ; C:\src> cl /Z7 /Gy /c test.cc
514 ; with the following contents of C:\src\test.cc:
524 ; using 32-version of CL v17.00.61030 and v18.00.21005.1 respectively.
525 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/comdat-function-linetables.obj.coff-2012-i386 \
526 RUN: | FileCheck %s -check-prefix MCOMDAT
527 RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/comdat-function-linetables.obj.coff-2013-i386 \
528 RUN: | FileCheck %s -check-prefix MCOMDAT
531 MCOMDAT-NEXT: DisplayName: f
532 MCOMDAT-NEXT: Section: ?f@@YAHXZ
533 MCOMDAT-NEXT: CodeSize: 0x7
535 MCOMDAT: FunctionLineTable [
536 MCOMDAT-NEXT: LinkageName: ?f@@YAHXZ
537 MCOMDAT-NEXT: Flags: 0x0
538 MCOMDAT-NEXT: CodeSize: 0x7
539 MCOMDAT-NEXT: FilenameSegment [
540 MCOMDAT-NEXT: Filename: c:\src\test.cc
542 MCOMDAT-NEXT: LineNumberStart: 2
543 MCOMDAT-NEXT: LineNumberEndDelta: 0
544 MCOMDAT-NEXT: IsStatement: Yes
547 MCOMDAT-NEXT: LineNumberStart: 3
548 MCOMDAT-NEXT: LineNumberEndDelta: 0
549 MCOMDAT-NEXT: IsStatement: Yes
552 MCOMDAT-NEXT: LineNumberStart: 4
553 MCOMDAT-NEXT: LineNumberEndDelta: 0
554 MCOMDAT-NEXT: IsStatement: Yes
559 MCOMDAT-NEXT: DisplayName: g
560 MCOMDAT-NEXT: Section: ?g@@YAHXZ
561 MCOMDAT-NEXT: CodeSize: 0x7
563 MCOMDAT: FunctionLineTable [
564 MCOMDAT-NEXT: LinkageName: ?g@@YAHXZ
565 MCOMDAT-NEXT: Flags: 0x0
566 MCOMDAT-NEXT: CodeSize: 0x7
567 MCOMDAT-NEXT: FilenameSegment [
568 MCOMDAT-NEXT: Filename: c:\src\test.cc
570 MCOMDAT-NEXT: LineNumberStart: 7
571 MCOMDAT-NEXT: LineNumberEndDelta: 0
572 MCOMDAT-NEXT: IsStatement: Yes
575 MCOMDAT-NEXT: LineNumberStart: 8
576 MCOMDAT-NEXT: LineNumberEndDelta: 0
577 MCOMDAT-NEXT: IsStatement: Yes
580 MCOMDAT-NEXT: LineNumberStart: 9
581 MCOMDAT-NEXT: LineNumberEndDelta: 0
582 MCOMDAT-NEXT: IsStatement: Yes