diff options
Diffstat (limited to 'test/DebugInfo/PDB/pdbdump-debug-subsections.test')
| -rw-r--r-- | test/DebugInfo/PDB/pdbdump-debug-subsections.test | 210 |
1 files changed, 210 insertions, 0 deletions
diff --git a/test/DebugInfo/PDB/pdbdump-debug-subsections.test b/test/DebugInfo/PDB/pdbdump-debug-subsections.test new file mode 100644 index 000000000000..52f7bb52da2a --- /dev/null +++ b/test/DebugInfo/PDB/pdbdump-debug-subsections.test @@ -0,0 +1,210 @@ +; RUN: llvm-pdbutil yaml2pdb -pdb=%t.pdb %p/Inputs/debug-subsections.yaml +; RUN: llvm-pdbutil pdb2yaml -all -no-file-headers %t.pdb | FileCheck --check-prefix=YAML %s +; RUN: llvm-pdbutil raw -subsections=all %t.pdb | FileCheck --check-prefix=RAW %s + +YAML: Modules: +YAML-NEXT: - Module: Foo.obj +YAML-NEXT: ObjFile: Foo.obj +YAML-NEXT: Subsections: +YAML-NEXT: - !CrossModuleExports +YAML-NEXT: Exports: +YAML-NEXT: - LocalId: 4852 +YAML-NEXT: GlobalId: 9283 +YAML-NEXT: - LocalId: 2147487875 +YAML-NEXT: GlobalId: 9123 +YAML: - Module: Bar.obj +YAML-NEXT: ObjFile: Bar.obj +YAML-NEXT: Subsections: +YAML-NEXT: - !CrossModuleExports +YAML-NEXT: Exports: +YAML-NEXT: - LocalId: 4265 +YAML-NEXT: GlobalId: 6097 +YAML-NEXT: - LocalId: 4297 +YAML-NEXT: GlobalId: 4677 +YAML-NEXT: - !CrossModuleImports +YAML-NEXT: Imports: +YAML-NEXT: - Module: Foo.obj +YAML-NEXT: Imports: [ 4852, 2147487875 ] +YAML: - Module: 'd:\src\llvm\test\DebugInfo\PDB\Inputs\empty.obj' +YAML-NEXT: ObjFile: 'd:\src\llvm\test\DebugInfo\PDB\Inputs\empty.obj' +YAML-NEXT: SourceFiles: +YAML-NEXT: - 'd:\src\llvm\test\debuginfo\pdb\inputs\empty.cpp' +YAML-NEXT: Subsections: +YAML-NEXT: - !FileChecksums +YAML-NEXT: Checksums: +YAML-NEXT: - FileName: 'd:\src\llvm\test\debuginfo\pdb\inputs\empty.cpp' +YAML-NEXT: Kind: MD5 +YAML-NEXT: Checksum: A0A5BD0D3ECD93FC29D19DE826FBF4BC +YAML-NEXT: - FileName: 'f:\dd\externalapis\windows\10\sdk\inc\winerror.h' +YAML-NEXT: Kind: MD5 +YAML-NEXT: Checksum: 1154D69F5B2650196E1FC34F4134E56B +YAML-NEXT: - !Lines +YAML-NEXT: CodeSize: 10 +YAML-NEXT: Flags: [ ] +YAML-NEXT: RelocOffset: 100016 +YAML-NEXT: RelocSegment: 1 +YAML-NEXT: Blocks: +YAML-NEXT: - FileName: 'd:\src\llvm\test\debuginfo\pdb\inputs\empty.cpp' +YAML-NEXT: Lines: +YAML-NEXT: - Offset: 0 +YAML-NEXT: LineStart: 5 +YAML-NEXT: IsStatement: true +YAML-NEXT: EndDelta: 0 +YAML-NEXT: - Offset: 3 +YAML-NEXT: LineStart: 6 +YAML-NEXT: IsStatement: true +YAML-NEXT: EndDelta: 0 +YAML-NEXT: - Offset: 8 +YAML-NEXT: LineStart: 7 +YAML-NEXT: IsStatement: true +YAML-NEXT: EndDelta: 0 +YAML-NEXT: Columns: +YAML-NEXT: - !InlineeLines +YAML-NEXT: HasExtraFiles: false +YAML-NEXT: Sites: +YAML-NEXT: - FileName: 'f:\dd\externalapis\windows\10\sdk\inc\winerror.h' +YAML-NEXT: LineNum: 26950 +YAML-NEXT: Inlinee: 22767 + + +RAW: DBI Stream { +RAW: Modules [ +RAW-NEXT: { +RAW-NEXT: Name: Foo.obj +RAW: Subsections [ +RAW-NEXT: CrossModuleExports [ +RAW-NEXT: Export { +RAW-NEXT: Local: 0x12F4 +RAW-NEXT: Global: 0x2443 +RAW-NEXT: } +RAW-NEXT: Export { +RAW-NEXT: Local: 0x80001083 +RAW-NEXT: Global: 0x23A3 +RAW-NEXT: } +RAW-NEXT: ] +RAW-NEXT: ] +RAW-NEXT: } +RAW-NEXT: { +RAW-NEXT: Name: Bar.obj +RAW: Subsections [ +RAW-NEXT: CrossModuleExports [ +RAW-NEXT: Export { +RAW-NEXT: Local: 0x10A9 +RAW-NEXT: Global: 0x17D1 +RAW-NEXT: } +RAW-NEXT: Export { +RAW-NEXT: Local: 0x10C9 +RAW-NEXT: Global: 0x1245 +RAW-NEXT: } +RAW-NEXT: ] +RAW-NEXT: CrossModuleImports [ +RAW-NEXT: ModuleImport { +RAW-NEXT: Module: Foo.obj +RAW-NEXT: Imports: [0x12F4, 0x80001083] +RAW-NEXT: } +RAW-NEXT: ] +RAW-NEXT: ] +RAW-NEXT: } +RAW-NEXT: { +RAW-NEXT: Name: d:\src\llvm\test\DebugInfo\PDB\Inputs\empty.obj +RAW: Subsections [ +RAW-NEXT: FileChecksums { +RAW-NEXT: Checksum { +RAW-NEXT: FileName: d:\src\llvm\test\debuginfo\pdb\inputs\empty.cpp +RAW-NEXT: Kind: MD5 (0x1) +RAW-NEXT: Checksum ( +RAW-NEXT: 0000: A0A5BD0D 3ECD93FC 29D19DE8 26FBF4BC |....>...)...&...| +RAW-NEXT: ) +RAW-NEXT: } +RAW-NEXT: Checksum { +RAW-NEXT: FileName: f:\dd\externalapis\windows\10\sdk\inc\winerror.h +RAW-NEXT: Kind: MD5 (0x1) +RAW-NEXT: Checksum ( +RAW-NEXT: 0000: 1154D69F 5B265019 6E1FC34F 4134E56B |.T..[&P.n..OA4.k| +RAW-NEXT: ) +RAW-NEXT: } +RAW-NEXT: } +RAW-NEXT: Lines { +RAW-NEXT: RelocSegment: 1 +RAW-NEXT: RelocOffset: 100016 +RAW-NEXT: CodeSize: 10 +RAW-NEXT: HasColumns: No +RAW-NEXT: FileEntry { +RAW-NEXT: FileName: d:\src\llvm\test\debuginfo\pdb\inputs\empty.cpp +RAW-NEXT: Line { +RAW-NEXT: Offset: 0 +RAW-NEXT: LineNumberStart: 5 +RAW-NEXT: EndDelta: 0 +RAW-NEXT: IsStatement: Yes +RAW-NEXT: } +RAW-NEXT: Line { +RAW-NEXT: Offset: 3 +RAW-NEXT: LineNumberStart: 6 +RAW-NEXT: EndDelta: 0 +RAW-NEXT: IsStatement: Yes +RAW-NEXT: } +RAW-NEXT: Line { +RAW-NEXT: Offset: 8 +RAW-NEXT: LineNumberStart: 7 +RAW-NEXT: EndDelta: 0 +RAW-NEXT: IsStatement: Yes +RAW-NEXT: } +RAW-NEXT: } +RAW-NEXT: } +RAW-NEXT: InlineeLines { +RAW-NEXT: HasExtraFiles: No +RAW-NEXT: Lines [ +RAW-NEXT: Inlinee { +RAW-NEXT: FileName: f:\dd\externalapis\windows\10\sdk\inc\winerror.h +RAW-NEXT: Function { +RAW-NEXT: Index: 0x58ef (unknown function) +RAW-NEXT: } +RAW-NEXT: SourceLine: 26950 +RAW-NEXT: } +RAW-NEXT: ] +RAW-NEXT: } +RAW-NEXT: ] +RAW-NEXT: } +RAW-NEXT: { +RAW-NEXT: Name: ObjFileSubsections +RAW-NEXT: Debug Stream Index: 11 +RAW-NEXT: Object File Name: ObjFileSubsections +RAW-NEXT: Num Files: 0 +RAW-NEXT: Source File Name Idx: 0 +RAW-NEXT: Pdb File Name Idx: 0 +RAW-NEXT: Line Info Byte Size: 0 +RAW-NEXT: C13 Line Info Byte Size: 116 +RAW-NEXT: Symbol Byte Size: 4 +RAW-NEXT: Type Server Index: 0 +RAW-NEXT: Has EC Info: No +RAW-NEXT: Subsections [ +RAW-NEXT: String Table [ +RAW-NEXT: String1 +RAW-NEXT: String2 +RAW-NEXT: String3 +RAW-NEXT: ] +RAW-NEXT: Symbols [ +RAW-NEXT: { +RAW-NEXT: ObjectName { +RAW-NEXT: Signature: 0x0 +RAW-NEXT: ObjectName: ObjFileSubsections +RAW-NEXT: } +RAW-NEXT: } +RAW-NEXT: ] +RAW-NEXT: FrameData [ +RAW-NEXT: Frame { +RAW-NEXT: Rva: 6 +RAW-NEXT: CodeSize: 1 +RAW-NEXT: LocalSize: 2 +RAW-NEXT: ParamsSize: 4 +RAW-NEXT: MaxStackSize: 3 +RAW-NEXT: FrameFunc: MyFunc +RAW-NEXT: PrologSize: 5 +RAW-NEXT: SavedRegsSize: 7 +RAW-NEXT: Flags: 0 +RAW-NEXT: } +RAW-NEXT: ] +RAW-NEXT: ] +RAW-NEXT: } +RAW-NEXT: ] +RAW-NEXT: } |
