Add an empty DBI stream.

llvm-svn: 283504
This commit is contained in:
Rui Ueyama 2016-10-06 22:52:01 +00:00
parent 2726b88c03
commit 1343fac3ca
2 changed files with 20 additions and 9 deletions

View File

@ -49,9 +49,12 @@ void coff::createPDB(StringRef Path) {
// Should be the current time, but set 0 for reproducibilty. // Should be the current time, but set 0 for reproducibilty.
InfoBuilder.setSignature(0); InfoBuilder.setSignature(0);
InfoBuilder.setVersion(pdb::PdbRaw_ImplVer::PdbImplVC70); InfoBuilder.setVersion(pdb::PdbRaw_ImplVer::PdbImplVC70);
// Add an empty DPI stream.
auto &DbiBuilder = Builder.getDbiBuilder();
DbiBuilder.setVersionHeader(pdb::PdbDbiV110);
// Add an empty TPI stream. // Add an empty TPI stream.
auto &TpiBuilder = Builder.getTpiBuilder(); auto &TpiBuilder = Builder.getTpiBuilder();
TpiBuilder.setVersionHeader(pdb::PdbTpiV80); TpiBuilder.setVersionHeader(pdb::PdbTpiV80);

View File

@ -1,33 +1,41 @@
# RUN: yaml2obj %s > %t.obj # RUN: yaml2obj %s > %t.obj
# RUN: lld-link /debug /pdb:%t.pdb /dll /out:%t.dll /entry:DllMain %t.obj # RUN: lld-link /debug /pdb:%t.pdb /dll /out:%t.dll /entry:DllMain %t.obj
# RUN: llvm-pdbdump pdb2yaml -stream-metadata -stream-directory -pdb-stream \ # RUN: llvm-pdbdump pdb2yaml -stream-metadata -stream-directory -pdb-stream \
# RUN: -ipi-stream %t.pdb | FileCheck %s # RUN: -dbi-stream -ipi-stream %t.pdb | FileCheck %s
# CHECK: MSF: # CHECK: MSF:
# CHECK-NEXT: SuperBlock: # CHECK-NEXT: SuperBlock:
# CHECK-NEXT: BlockSize: 4096 # CHECK-NEXT: BlockSize: 4096
# CHECK-NEXT: FreeBlockMap: # CHECK-NEXT: FreeBlockMap:
# CHECK-NEXT: NumBlocks: 8 # CHECK-NEXT: NumBlocks: 9
# CHECK-NEXT: NumDirectoryBytes: 36 # CHECK-NEXT: NumDirectoryBytes: 40
# CHECK-NEXT: Unknown1: 0 # CHECK-NEXT: Unknown1: 0
# CHECK-NEXT: BlockMapAddr: 3 # CHECK-NEXT: BlockMapAddr: 3
# CHECK-NEXT: NumDirectoryBlocks: 1 # CHECK-NEXT: NumDirectoryBlocks: 1
# CHECK-NEXT: DirectoryBlocks: [ 7 ] # CHECK-NEXT: DirectoryBlocks: [ 8 ]
# CHECK-NEXT: NumStreams: 5 # CHECK-NEXT: NumStreams: 5
# CHECK-NEXT: FileSize: 32768 # CHECK-NEXT: FileSize: 36864
# CHECK-NEXT: StreamSizes: [ 0, 48, 56, 0, 56 ] # CHECK-NEXT: StreamSizes: [ 0, 48, 56, 68, 56 ]
# CHECK-NEXT: StreamMap: # CHECK-NEXT: StreamMap:
# CHECK-NEXT: - Stream: [ ] # CHECK-NEXT: - Stream: [ ]
# CHECK-NEXT: - Stream: [ 4 ] # CHECK-NEXT: - Stream: [ 4 ]
# CHECK-NEXT: - Stream: [ 5 ]
# CHECK-NEXT: - Stream: [ ]
# CHECK-NEXT: - Stream: [ 6 ] # CHECK-NEXT: - Stream: [ 6 ]
# CHECK-NEXT: - Stream: [ 5 ]
# CHECK-NEXT: - Stream: [ 7 ]
# CHECK-NEXT: PdbStream: # CHECK-NEXT: PdbStream:
# CHECK-NEXT: Age: 1 # CHECK-NEXT: Age: 1
# CHECK-NEXT: Guid: '{00000000-0000-0000-0000-000000000000}' # CHECK-NEXT: Guid: '{00000000-0000-0000-0000-000000000000}'
# CHECK-NEXT: Signature: 0 # CHECK-NEXT: Signature: 0
# CHECK-NEXT: Version: VC70 # CHECK-NEXT: Version: VC70
# CHECK-NEXT: NamedStreams: # CHECK-NEXT: NamedStreams:
# CHECK-NEXT: DbiStream:
# CHECK-NEXT: VerHeader: V110
# CHECK-NEXT: Age: 1
# CHECK-NEXT: BuildNumber: 0
# CHECK-NEXT: PdbDllVersion: 0
# CHECK-NEXT: PdbDllRbld: 0
# CHECK-NEXT: Flags: 0
# CHECK-NEXT: MachineType: x86
# CHECK-NEXT: IpiStream: # CHECK-NEXT: IpiStream:
# CHECK-NEXT: Version: VC80 # CHECK-NEXT: Version: VC80
# CHECK-NEXT: Records: # CHECK-NEXT: Records: