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-linetables %p/Inputs/multifunction-linetables.obj.coff-2012-i368 \
22 RUN: | FileCheck %s -check-prefix MFUN32
23 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifunction-linetables.obj.coff-2013-i368 \
24 RUN: | FileCheck %s -check-prefix MFUN32
25 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifunction-linetables.obj.coff-2012-x86_64 \
26 RUN: | FileCheck %s -check-prefix MFUN64
27 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifunction-linetables.obj.coff-2013-x86_64 \
28 RUN: | FileCheck %s -check-prefix MFUN64
30 MFUN32: CodeViewLineTables [
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: FunctionName: 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: FunctionName: _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: FunctionName: 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: FunctionName: _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: FunctionName: 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: FunctionName: _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: FunctionName: _x
107 MFUN32-NEXT: CodeSize: 0xA
108 MFUN32-NEXT: FilenameSegment [
109 MFUN32-NEXT: Filename: d:\source.c
115 MFUN32-NEXT: FunctionLineTable [
116 MFUN32-NEXT: FunctionName: _y
117 MFUN32-NEXT: CodeSize: 0xA
118 MFUN32-NEXT: FilenameSegment [
119 MFUN32-NEXT: Filename: d:\source.c
125 MFUN32-NEXT: FunctionLineTable [
126 MFUN32-NEXT: FunctionName: _f
127 MFUN32-NEXT: CodeSize: 0x14
128 MFUN32-NEXT: FilenameSegment [
129 MFUN32-NEXT: Filename: d:\source.c
130 MFUN32-NEXT: +0x0: 11
131 MFUN32-NEXT: +0x3: 12
132 MFUN32-NEXT: +0x8: 13
133 MFUN32-NEXT: +0xD: 14
134 MFUN32-NEXT: +0x12: 15
139 MFUN64: CodeViewLineTables [
140 MFUN64-NEXT: Magic: 0x4
141 MFUN64-NEXT: Subsection [
142 MFUN64-NEXT: Type: 0xF1
143 MFUN64-NEXT: PayloadSize: 0x52
145 MFUN64-NEXT: Subsection [
146 MFUN64-NEXT: Type: 0xF1
147 MFUN64-NEXT: PayloadSize: 0x4B
149 MFUN64-NEXT: FunctionName: x
150 MFUN64-NEXT: Section: x
151 MFUN64-NEXT: CodeSize: 0xE
155 MFUN64-NEXT: Subsection [
156 MFUN64-NEXT: Type: 0xF2
157 MFUN64-NEXT: PayloadSize: 0x30
158 MFUN64: FunctionName: x
160 MFUN64-NEXT: Subsection [
161 MFUN64-NEXT: Type: 0xF1
162 MFUN64-NEXT: PayloadSize: 0x4B
164 MFUN64-NEXT: FunctionName: y
165 MFUN64-NEXT: Section: y
166 MFUN64-NEXT: CodeSize: 0xE
170 MFUN64-NEXT: Subsection [
171 MFUN64-NEXT: Type: 0xF2
172 MFUN64-NEXT: PayloadSize: 0x30
173 MFUN64: FunctionName: y
175 MFUN64-NEXT: Subsection [
176 MFUN64-NEXT: Type: 0xF1
177 MFUN64-NEXT: PayloadSize: 0x4B
179 MFUN64-NEXT: FunctionName: f
180 MFUN64-NEXT: Section: f
181 MFUN64-NEXT: CodeSize: 0x18
185 MFUN64-NEXT: Subsection [
186 MFUN64-NEXT: Type: 0xF2
187 MFUN64-NEXT: PayloadSize: 0x40
188 MFUN64: FunctionName: f
190 MFUN64-NEXT: Subsection [
191 MFUN64-NEXT: Type: 0xF4
192 MFUN64-NEXT: PayloadSize: 0x18
194 MFUN64-NEXT: Subsection [
195 MFUN64-NEXT: Type: 0xF3
196 MFUN64-NEXT: PayloadSize: 0xD
198 MFUN64-NEXT: Subsection [
199 MFUN64-NEXT: Type: 0xF1
200 MFUN64-NEXT: PayloadSize: 0x8
202 MFUN64-NEXT: FunctionLineTable [
203 MFUN64-NEXT: FunctionName: x
204 MFUN64-NEXT: CodeSize: 0xE
205 MFUN64-NEXT: FilenameSegment [
206 MFUN64-NEXT: Filename: d:\source.c
212 MFUN64-NEXT: FunctionLineTable [
213 MFUN64-NEXT: FunctionName: y
214 MFUN64-NEXT: CodeSize: 0xE
215 MFUN64-NEXT: FilenameSegment [
216 MFUN64-NEXT: Filename: d:\source.c
222 MFUN64-NEXT: FunctionLineTable [
223 MFUN64-NEXT: FunctionName: f
224 MFUN64-NEXT: CodeSize: 0x18
225 MFUN64-NEXT: FilenameSegment [
226 MFUN64-NEXT: Filename: d:\source.c
227 MFUN64-NEXT: +0x0: 11
228 MFUN64-NEXT: +0x4: 12
229 MFUN64-NEXT: +0x9: 13
230 MFUN64-NEXT: +0xE: 14
231 MFUN64-NEXT: +0x13: 15
236 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
237 ; The following two object files were generated using the following command:
238 ; D:\> cl /Z7 /c input.c
239 ; with the following contents of D:\input.c:
250 ; using 32-/64-bit versions of CL v17.00.61030 and v18.00.21005.1 respectively.
251 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifile-linetables.obj.coff-2012-i368 \
252 RUN: | FileCheck %s -check-prefix MFILE32
253 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifile-linetables.obj.coff-2013-i368 \
254 RUN: | FileCheck %s -check-prefix MFILE32
255 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifile-linetables.obj.coff-2012-x86_64 \
256 RUN: | FileCheck %s -check-prefix MFILE64
257 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifile-linetables.obj.coff-2013-x86_64 \
258 RUN: | FileCheck %s -check-prefix MFILE64
260 MFILE32: CodeViewLineTables [
261 MFILE32-NEXT: Magic: 0x4
262 MFILE32-NEXT: Subsection [
263 MFILE32-NEXT: Type: 0xF1
264 MFILE32-NEXT: PayloadSize: 0x51
266 MFILE32-NEXT: Subsection [
267 MFILE32-NEXT: Type: 0xF5
268 MFILE32-NEXT: PayloadSize: 0x24
270 MFILE32-NEXT: Subsection [
271 MFILE32-NEXT: Type: 0xF1
272 MFILE32-NEXT: PayloadSize: 0x4B
274 MFILE32-NEXT: FunctionName: f
275 MFILE32-NEXT: Section: _f
276 MFILE32-NEXT: CodeSize: 0x14
278 MFILE32-NEXT: ProcEnd
280 MFILE32-NEXT: Subsection [
281 MFILE32-NEXT: Type: 0xF2
282 MFILE32-NEXT: PayloadSize: 0x64
283 MFILE32: FunctionName: _f
285 MFILE32-NEXT: Subsection [
286 MFILE32-NEXT: Type: 0xF4
287 MFILE32-NEXT: PayloadSize: 0x28
289 MFILE32-NEXT: Subsection [
290 MFILE32-NEXT: Type: 0xF3
291 MFILE32-NEXT: PayloadSize: 0x57
293 MFILE32-NEXT: Subsection [
294 MFILE32-NEXT: Type: 0xF1
295 MFILE32-NEXT: PayloadSize: 0x8
297 MFILE32-NEXT: FunctionLineTable [
298 MFILE32-NEXT: FunctionName: _f
299 MFILE32-NEXT: CodeSize: 0x14
300 MFILE32-NEXT: FilenameSegment [
301 MFILE32-NEXT: Filename: d:\input.c
302 MFILE32-NEXT: +0x0: 3
304 MFILE32-NEXT: FilenameSegment [
305 MFILE32-NEXT: Filename: d:\one.c
306 MFILE32-NEXT: +0x3: 1
308 MFILE32-NEXT: FilenameSegment [
309 MFILE32-NEXT: Filename: d:\two.c
310 MFILE32-NEXT: +0x8: 2
312 MFILE32-NEXT: FilenameSegment [
313 MFILE32-NEXT: Filename: d:\one.c
314 MFILE32-NEXT: +0xD: 7
315 MFILE32-NEXT: +0x12: 8
320 MFILE64: CodeViewLineTables [
321 MFILE64-NEXT: Magic: 0x4
322 MFILE64-NEXT: Subsection [
323 MFILE64-NEXT: Type: 0xF1
324 MFILE64-NEXT: PayloadSize: 0x51
326 MFILE64-NEXT: Subsection [
327 MFILE64-NEXT: Type: 0xF1
328 MFILE64-NEXT: PayloadSize: 0x4B
330 MFILE64-NEXT: FunctionName: f
331 MFILE64-NEXT: Section: f
332 MFILE64-NEXT: CodeSize: 0x18
334 MFILE64-NEXT: ProcEnd
336 MFILE64-NEXT: Subsection [
337 MFILE64-NEXT: Type: 0xF2
338 MFILE64-NEXT: PayloadSize: 0x64
339 MFILE64: FunctionName: f
341 MFILE64-NEXT: Subsection [
342 MFILE64-NEXT: Type: 0xF4
343 MFILE64-NEXT: PayloadSize: 0x28
345 MFILE64-NEXT: Subsection [
346 MFILE64-NEXT: Type: 0xF3
347 MFILE64-NEXT: PayloadSize: 0x1E
349 MFILE64-NEXT: Subsection [
350 MFILE64-NEXT: Type: 0xF1
351 MFILE64-NEXT: PayloadSize: 0x8
353 MFILE64-NEXT: FunctionLineTable [
354 MFILE64-NEXT: FunctionName: f
355 MFILE64-NEXT: CodeSize: 0x18
356 MFILE64-NEXT: FilenameSegment [
357 MFILE64-NEXT: Filename: d:\input.c
358 MFILE64-NEXT: +0x0: 3
360 MFILE64-NEXT: FilenameSegment [
361 MFILE64-NEXT: Filename: d:\one.c
362 MFILE64-NEXT: +0x4: 1
364 MFILE64-NEXT: FilenameSegment [
365 MFILE64-NEXT: Filename: d:\two.c
366 MFILE64-NEXT: +0x9: 2
368 MFILE64-NEXT: FilenameSegment [
369 MFILE64-NEXT: Filename: d:\one.c
370 MFILE64-NEXT: +0xE: 7
371 MFILE64-NEXT: +0x13: 8
376 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
377 ; The following object files were generated using the following command:
378 ; C:\src> cl /Z7 /Gy /c test.cc
379 ; with the following contents of C:\src\test.cc:
389 ; using 32-version of CL v17.00.61030 and v18.00.21005.1 respectively.
390 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/comdat-function-linetables.obj.coff-2012-i386 \
391 RUN: | FileCheck %s -check-prefix MCOMDAT
392 RUN: llvm-readobj -s -codeview-linetables %p/Inputs/comdat-function-linetables.obj.coff-2013-i386 \
393 RUN: | FileCheck %s -check-prefix MCOMDAT
396 MCOMDAT-NEXT: FunctionName: f
397 MCOMDAT-NEXT: Section: ?f@@YAHXZ
398 MCOMDAT-NEXT: CodeSize: 0x7
400 MCOMDAT: FunctionLineTable [
401 MCOMDAT-NEXT: FunctionName: ?f@@YAHXZ
402 MCOMDAT-NEXT: CodeSize: 0x7
403 MCOMDAT-NEXT: FilenameSegment [
404 MCOMDAT-NEXT: Filename: c:\src\test.cc
405 MCOMDAT-NEXT: +0x0: 2
406 MCOMDAT-NEXT: +0x3: 3
407 MCOMDAT-NEXT: +0x5: 4
411 MCOMDAT-NEXT: FunctionName: g
412 MCOMDAT-NEXT: Section: ?g@@YAHXZ
413 MCOMDAT-NEXT: CodeSize: 0x7
415 MCOMDAT: FunctionLineTable [
416 MCOMDAT-NEXT: FunctionName: ?g@@YAHXZ
417 MCOMDAT-NEXT: CodeSize: 0x7
418 MCOMDAT-NEXT: FilenameSegment [
419 MCOMDAT-NEXT: Filename: c:\src\test.cc
420 MCOMDAT-NEXT: +0x0: 7
421 MCOMDAT-NEXT: +0x3: 8
422 MCOMDAT-NEXT: +0x5: 9