1# RUN: llvm-pdbutil yaml2pdb %s -pdb=%t.pdb
2# RUN: lldb-test object-file %t.pdb | FileCheck %s
3
4# CHECK: Plugin name: pdb
5# CHECK: Architecture: x86_64-pc-windows-msvc
6# CHECK: UUID: 61AF583F-29A8-7A6C-4C4C-44205044422E-00000001
7# CHECK: Executable: false
8# CHECK: Stripped: false
9# CHECK: Type: debug info
10# CHECK: Strata: user
11# CHECK: Base VM address: 0xffffffffffffffff
12# CHECK: There are no sections
13
14---
15MSF:
16  SuperBlock:
17    BlockSize:       4096
18    FreeBlockMap:    2
19    NumBlocks:       18
20    NumDirectoryBytes: 116
21    Unknown1:        0
22    BlockMapAddr:    3
23  NumDirectoryBlocks: 1
24  DirectoryBlocks: [ 17 ]
25  NumStreams:      15
26  FileSize:        73728
27StreamSizes:     [ 0, 93, 100, 550, 136, 0, 544, 576, 40, 20, 120, 368,
28                   336, 49, 24 ]
29StreamMap:
30  - Stream:          [  ]
31  - Stream:          [ 16 ]
32  - Stream:          [ 7 ]
33  - Stream:          [ 12 ]
34  - Stream:          [ 14 ]
35  - Stream:          [  ]
36  - Stream:          [ 4 ]
37  - Stream:          [ 5 ]
38  - Stream:          [ 6 ]
39  - Stream:          [ 8 ]
40  - Stream:          [ 9 ]
41  - Stream:          [ 10 ]
42  - Stream:          [ 11 ]
43  - Stream:          [ 13 ]
44  - Stream:          [ 15 ]
45StringTable:
46  - '/tmp/a.cpp'
47PdbStream:
48  Age:             1
49  Guid:            '{61AF583F-29A8-7A6C-4C4C-44205044422E}'
50  Signature:       1062776673
51  Features:        [ VC140 ]
52  Version:         VC70
53DbiStream:
54  VerHeader:       V70
55  Age:             1
56  BuildNumber:     36363
57  PdbDllVersion:   0
58  PdbDllRbld:      0
59  Flags:           0
60  MachineType:     Amd64
61  Modules:
62    - Module:          '/tmp/pdb.obj'
63      ObjFile:         '/tmp/pdb.obj'
64      SourceFiles:
65        - '/tmp/a.cpp'
66      Subsections:
67        - !Lines
68          CodeSize:        28
69          Flags:           [  ]
70          RelocOffset:     0
71          RelocSegment:    1
72          Blocks:
73            - FileName:        '/tmp/a.cpp'
74              Lines:
75                - Offset:          0
76                  LineStart:       1
77                  IsStatement:     false
78                  EndDelta:        0
79                - Offset:          23
80                  LineStart:       2
81                  IsStatement:     false
82                  EndDelta:        0
83              Columns:         []
84        - !FileChecksums
85          Checksums:
86            - FileName:        '/tmp/a.cpp'
87              Kind:            MD5
88              Checksum:        DA1F9D293B90B487ADB2C711137770D3
89      Modi:
90        Signature:       4
91        Records:
92          - Kind:            S_COMPILE3
93            Compile3Sym:
94              Flags:           [  ]
95              Machine:         X64
96              FrontendMajor:   12
97              FrontendMinor:   0
98              FrontendBuild:   0
99              FrontendQFE:     0
100              BackendMajor:    12000
101              BackendMinor:    0
102              BackendBuild:    0
103              BackendQFE:      0
104              Version:         'clang version 12.0.0 (git@github.com:llvm/llvm-project.git 8a08e08db6c2e4a5db485253f3186b0f9e739e15)'
105          - Kind:            S_GPROC32
106            ProcSym:
107              PtrParent:       0
108              PtrEnd:          272
109              PtrNext:         0
110              CodeSize:        28
111              DbgStart:        0
112              DbgEnd:          0
113              FunctionType:    4098
114              Offset:          0
115              Segment:         1
116              Flags:           [  ]
117              DisplayName:     main
118          - Kind:            S_FRAMEPROC
119            FrameProcSym:
120              TotalFrameBytes: 24
121              PaddingFrameBytes: 0
122              OffsetToPadding: 0
123              BytesOfCalleeSavedRegisters: 0
124              OffsetOfExceptionHandler: 0
125              SectionIdOfExceptionHandler: 0
126              Flags:           [  ]
127          - Kind:            S_LOCAL
128            LocalSym:
129              Type:            116
130              Flags:           [ IsParameter ]
131              VarName:         argc
132          - Kind:            S_DEFRANGE_FRAMEPOINTER_REL
133            DefRangeFramePointerRelSym:
134              Offset:          4
135              Range:
136                OffsetStart:     23
137                ISectStart:      1
138                Range:           5
139              Gaps:            []
140          - Kind:            S_LOCAL
141            LocalSym:
142              Type:            4096
143              Flags:           [ IsParameter ]
144              VarName:         argv
145          - Kind:            S_DEFRANGE_FRAMEPOINTER_REL
146            DefRangeFramePointerRelSym:
147              Offset:          8
148              Range:
149                OffsetStart:     23
150                ISectStart:      1
151                Range:           5
152              Gaps:            []
153          - Kind:            S_END
154            ScopeEndSym:     {}
155          - Kind:            S_BUILDINFO
156            BuildInfoSym:
157              BuildId:         4099
158    - Module:          '* Linker *'
159      ObjFile:         ''
160      Modi:
161        Signature:       4
162        Records:
163          - Kind:            S_OBJNAME
164            ObjNameSym:
165              Signature:       0
166              ObjectName:      '* Linker *'
167          - Kind:            S_COMPILE3
168            Compile3Sym:
169              Flags:           [  ]
170              Machine:         X64
171              FrontendMajor:   0
172              FrontendMinor:   0
173              FrontendBuild:   0
174              FrontendQFE:     0
175              BackendMajor:    14
176              BackendMinor:    10
177              BackendBuild:    25019
178              BackendQFE:      0
179              Version:         LLVM Linker
180          - Kind:            S_ENVBLOCK
181            EnvBlockSym:
182              Entries:
183                - cwd
184                - '/tmp'
185                - exe
186                - '/tmp/lld-link'
187                - pdb
188                - '/tmp/a.pdb'
189                - cmd
190                - '/out:a.exe -debug pdb.obj /nodefaultlib /entry:main'
191          - Kind:            S_SECTION
192            SectionSym:
193              SectionNumber:   1
194              Alignment:       12
195              Rva:             4096
196              Length:          28
197              Characteristics: 1610612768
198              Name:            .text
199          - Kind:            S_COFFGROUP
200            CoffGroupSym:
201              Size:            28
202              Characteristics: 1610612768
203              Offset:          0
204              Segment:         1
205              Name:            .text
206          - Kind:            S_SECTION
207            SectionSym:
208              SectionNumber:   2
209              Alignment:       12
210              Rva:             8192
211              Length:          72
212              Characteristics: 1073741888
213              Name:            .rdata
214          - Kind:            S_COFFGROUP
215            CoffGroupSym:
216              Size:            8
217              Characteristics: 1073741888
218              Offset:          64
219              Segment:         2
220              Name:            .xdata
221          - Kind:            S_SECTION
222            SectionSym:
223              SectionNumber:   3
224              Alignment:       12
225              Rva:             12288
226              Length:          12
227              Characteristics: 1073741888
228              Name:            .pdata
229          - Kind:            S_COFFGROUP
230            CoffGroupSym:
231              Size:            12
232              Characteristics: 1073741888
233              Offset:          0
234              Segment:         3
235              Name:            .pdata
236TpiStream:
237  Version:         VC80
238  Records:
239    - Kind:            LF_POINTER
240      Pointer:
241        ReferentType:    1648
242        Attrs:           65548
243    - Kind:            LF_ARGLIST
244      ArgList:
245        ArgIndices:      [ 116, 4096 ]
246    - Kind:            LF_PROCEDURE
247      Procedure:
248        ReturnType:      116
249        CallConv:        NearC
250        Options:         [ None ]
251        ParameterCount:  2
252        ArgumentList:    4097
253IpiStream:
254  Version:         VC80
255  Records:
256    - Kind:            LF_FUNC_ID
257      FuncId:
258        ParentScope:     0
259        FunctionType:    4098
260        Name:            main
261    - Kind:            LF_STRING_ID
262      StringId:
263        Id:              0
264        String:          '/tmp'
265    - Kind:            LF_STRING_ID
266      StringId:
267        Id:              0
268        String:          a.cpp
269    - Kind:            LF_BUILDINFO
270      BuildInfo:
271        ArgIndices:      [ 4097, 0, 4098, 0, 0 ]
272PublicsStream:
273  Records:
274    - Kind:            S_PUB32
275      PublicSym32:
276        Flags:           [ Function ]
277        Offset:          0
278        Segment:         1
279        Name:            main
280...
281