1 # // Compile with clang-cl -m32 /Z7 /GS- /c t.obj pdb-framedata.cpp
3 # int func(int x, int y) {
7 # int main(int argc, char **argv) {
8 # return func(argc, argc+1);
11 # RUN: yaml2obj %s -o %t.obj
12 # RUN: lld-link %t.obj -debug -entry:main -nodefaultlib -debug -out:%t.exe -pdb:%t.pdb
13 # RUN: llvm-pdbutil dump -fpo %t.pdb | FileCheck %s
16 # CHECK-NEXT: ============================================================
17 # CHECK-NEXT: RVA | Code | Locals | Params | Stack | Prolog | Saved Regs | Has SEH | Has C++EH | Start | Program
18 # CHECK-NEXT: 00001000 | 31 | 0 | 8 | 0 | 6 | 0 | false | false | false | $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
19 # CHECK-NEXT: 00001001 | 30 | 0 | 8 | 0 | 5 | 4 | false | false | false | $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ =
20 # CHECK-NEXT: 00001003 | 28 | 0 | 8 | 0 | 3 | 4 | false | false | false | $T0 $ebp 4 + = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ =
21 # CHECK-NEXT: 00001020 | 53 | 0 | 8 | 0 | 7 | 0 | false | false | false | $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + =
22 # CHECK-NEXT: 00001021 | 52 | 0 | 8 | 0 | 6 | 4 | false | false | false | $T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ =
23 # CHECK-NEXT: 00001023 | 50 | 0 | 8 | 0 | 4 | 4 | false | false | false | $T0 $ebp 4 + = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ =
24 # CHECK-NEXT: 00001024 | 49 | 0 | 8 | 0 | 3 | 8 | false | false | false | $T0 $ebp 4 + = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $esi $T0 8 - ^ =
29 Machine: IMAGE_FILE_MACHINE_I386
33 Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
35 SectionData: 5589E583EC088B450C8B4D088B550803550C8945FC89D0894DF883C4085DC3905589E55683EC148B450C8B4D08C745F8000000008B550883C2018B7508893424895424048945F4894DF0E80000000083C4145E5DC3
38 SymbolName: '?func@@YAHHH@Z'
39 Type: IMAGE_REL_I386_REL32
41 Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
45 Characteristics: [ IMAGE_SCN_CNT_UNINITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
49 Characteristics: [ IMAGE_SCN_LNK_INFO, IMAGE_SCN_LNK_REMOVE ]
51 SectionData: 202F44454641554C544C49423A6C6962636D742E6C6962202F44454641554C544C49423A6F6C646E616D65732E6C6962
53 Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
70 Version: 'clang version 8.0.0 '
74 FrameFunc: '$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = '
82 FrameFunc: '$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = '
90 FrameFunc: '$T0 $ebp 4 + = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = '
110 Flags: [ IsParameter ]
112 - Kind: S_DEFRANGE_REGISTER_REL
113 DefRangeRegisterRelSym:
125 Flags: [ IsParameter ]
127 - Kind: S_DEFRANGE_REGISTER_REL
128 DefRangeRegisterRelSym:
131 BasePointerOffset: 12
137 - Kind: S_PROC_ID_END
145 - FileName: 'D:\src\llvmbuild\cl\Debug\x64\pdb-framedata.cpp'
159 FrameFunc: '$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = '
167 FrameFunc: '$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = '
175 FrameFunc: '$T0 $ebp 4 + = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = '
183 FrameFunc: '$T0 $ebp 4 + = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $esi $T0 8 - ^ = '
203 Flags: [ IsParameter ]
205 - Kind: S_DEFRANGE_REGISTER_REL
206 DefRangeRegisterRelSym:
218 Flags: [ IsParameter ]
220 - Kind: S_DEFRANGE_REGISTER_REL
221 DefRangeRegisterRelSym:
224 BasePointerOffset: 12
230 - Kind: S_PROC_ID_END
238 - FileName: 'D:\src\llvmbuild\cl\Debug\x64\pdb-framedata.cpp'
251 - FileName: 'D:\src\llvmbuild\cl\Debug\x64\pdb-framedata.cpp'
253 Checksum: A611B73E19B77B02646FAAF7CAEB025D
256 - 'D:\src\llvmbuild\cl\Debug\x64\pdb-framedata.cpp'
257 - '$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = '
258 - '$T0 .raSearch = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = '
259 - '$T0 $ebp 4 + = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = '
260 - '$T0 $ebp 4 + = $eip $T0 ^ = $esp $T0 4 + = $ebp $T0 4 - ^ = $esi $T0 8 - ^ = '
264 SymbolName: '?func@@YAHHH@Z'
265 Type: IMAGE_REL_I386_DIR32NB
266 - VirtualAddress: 208
267 SymbolName: '?func@@YAHHH@Z'
268 Type: IMAGE_REL_I386_SECREL
269 - VirtualAddress: 212
270 SymbolName: '?func@@YAHHH@Z'
271 Type: IMAGE_REL_I386_SECTION
272 - VirtualAddress: 244
274 Type: IMAGE_REL_I386_SECREL
275 - VirtualAddress: 248
277 Type: IMAGE_REL_I386_SECTION
278 - VirtualAddress: 276
280 Type: IMAGE_REL_I386_SECREL
281 - VirtualAddress: 280
283 Type: IMAGE_REL_I386_SECTION
284 - VirtualAddress: 296
285 SymbolName: '?func@@YAHHH@Z'
286 Type: IMAGE_REL_I386_SECREL
287 - VirtualAddress: 300
288 SymbolName: '?func@@YAHHH@Z'
289 Type: IMAGE_REL_I386_SECTION
290 - VirtualAddress: 344
292 Type: IMAGE_REL_I386_DIR32NB
293 - VirtualAddress: 516
295 Type: IMAGE_REL_I386_SECREL
296 - VirtualAddress: 520
298 Type: IMAGE_REL_I386_SECTION
299 - VirtualAddress: 555
301 Type: IMAGE_REL_I386_SECREL
302 - VirtualAddress: 559
304 Type: IMAGE_REL_I386_SECTION
305 - VirtualAddress: 590
307 Type: IMAGE_REL_I386_SECREL
308 - VirtualAddress: 594
310 Type: IMAGE_REL_I386_SECTION
311 - VirtualAddress: 612
313 Type: IMAGE_REL_I386_SECREL
314 - VirtualAddress: 616
316 Type: IMAGE_REL_I386_SECTION
318 Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_DISCARDABLE, IMAGE_SCN_MEM_READ ]
323 ArgIndices: [ 116, 116 ]
342 ArgIndices: [ 116, 4099 ]
355 - Name: .llvm_addrsig
356 Characteristics: [ IMAGE_SCN_LNK_REMOVE ]
363 SimpleType: IMAGE_SYM_TYPE_NULL
364 ComplexType: IMAGE_SYM_DTYPE_NULL
365 StorageClass: IMAGE_SYM_CLASS_STATIC
368 NumberOfRelocations: 1
369 NumberOfLinenumbers: 0
375 SimpleType: IMAGE_SYM_TYPE_NULL
376 ComplexType: IMAGE_SYM_DTYPE_NULL
377 StorageClass: IMAGE_SYM_CLASS_STATIC
380 NumberOfRelocations: 0
381 NumberOfLinenumbers: 0
387 SimpleType: IMAGE_SYM_TYPE_NULL
388 ComplexType: IMAGE_SYM_DTYPE_NULL
389 StorageClass: IMAGE_SYM_CLASS_STATIC
392 NumberOfRelocations: 0
393 NumberOfLinenumbers: 0
399 SimpleType: IMAGE_SYM_TYPE_NULL
400 ComplexType: IMAGE_SYM_DTYPE_NULL
401 StorageClass: IMAGE_SYM_CLASS_STATIC
404 NumberOfRelocations: 0
405 NumberOfLinenumbers: 0
411 SimpleType: IMAGE_SYM_TYPE_NULL
412 ComplexType: IMAGE_SYM_DTYPE_NULL
413 StorageClass: IMAGE_SYM_CLASS_STATIC
416 NumberOfRelocations: 18
417 NumberOfLinenumbers: 0
423 SimpleType: IMAGE_SYM_TYPE_NULL
424 ComplexType: IMAGE_SYM_DTYPE_NULL
425 StorageClass: IMAGE_SYM_CLASS_STATIC
428 NumberOfRelocations: 0
429 NumberOfLinenumbers: 0
432 - Name: .llvm_addrsig
435 SimpleType: IMAGE_SYM_TYPE_NULL
436 ComplexType: IMAGE_SYM_DTYPE_NULL
437 StorageClass: IMAGE_SYM_CLASS_STATIC
440 NumberOfRelocations: 0
441 NumberOfLinenumbers: 0
447 SimpleType: IMAGE_SYM_TYPE_NULL
448 ComplexType: IMAGE_SYM_DTYPE_NULL
449 StorageClass: IMAGE_SYM_CLASS_STATIC
450 - Name: '?func@@YAHHH@Z'
453 SimpleType: IMAGE_SYM_TYPE_NULL
454 ComplexType: IMAGE_SYM_DTYPE_FUNCTION
455 StorageClass: IMAGE_SYM_CLASS_EXTERNAL
459 SimpleType: IMAGE_SYM_TYPE_NULL
460 ComplexType: IMAGE_SYM_DTYPE_FUNCTION
461 StorageClass: IMAGE_SYM_CLASS_EXTERNAL