mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
[llvm-pdbdump] [yaml2pdb] always include object file name in module info
Summary: Previously, the yaml2pdb subcommand of llvm-pdbdump only included object file names in module info if a module info stream was present. This change makes it so that we include the object file name even if there is no module info stream for the module. As a result, running llvm-pdbdump pdb2yaml -dbi-module-info original.pdb > original.yaml && llvm-pdbdump yaml2pdb -pdb=new.pdb original.yaml && llvm-pdbdump pdb2yaml -dbi-module-info new.pdb > new.yaml now produces identical original.yaml and new.yaml files. Reviewers: amccarth, zturner Reviewed By: zturner Subscribers: fhahn, llvm-commits Differential Revision: https://reviews.llvm.org/D33463 llvm-svn: 303891
This commit is contained in:
parent
e0a5735dce
commit
3d5da45928
14
test/DebugInfo/PDB/pdbdump-objfilename.yaml
Normal file
14
test/DebugInfo/PDB/pdbdump-objfilename.yaml
Normal file
@ -0,0 +1,14 @@
|
||||
# RUN: llvm-pdbdump yaml2pdb -pdb=%T/objfilename.pdb %s
|
||||
# RUN: llvm-pdbdump pdb2yaml -dbi-module-info %T/objfilename.pdb \
|
||||
# RUN: | FileCheck %s
|
||||
#
|
||||
# CHECK: DbiStream:
|
||||
# CHECK: Modules:
|
||||
# CHECK-NEXT: - Module:{{ *}}'C:\src\test.obj'
|
||||
# CHECK-NEXT: ObjFile:{{ *}}'C:\src\test.obj'
|
||||
---
|
||||
DbiStream:
|
||||
Modules:
|
||||
- Module: 'C:\src\test.obj'
|
||||
ObjFile: 'C:\src\test.obj'
|
||||
...
|
@ -525,12 +525,12 @@ static void yamlToPdb(StringRef Path) {
|
||||
DbiBuilder.setVersionHeader(Dbi.VerHeader);
|
||||
for (const auto &MI : Dbi.ModInfos) {
|
||||
auto &ModiBuilder = ExitOnErr(DbiBuilder.addModuleInfo(MI.Mod));
|
||||
ModiBuilder.setObjFileName(MI.Obj);
|
||||
|
||||
for (auto S : MI.SourceFiles)
|
||||
ExitOnErr(DbiBuilder.addModuleSourceFile(MI.Mod, S));
|
||||
if (MI.Modi.hasValue()) {
|
||||
const auto &ModiStream = *MI.Modi;
|
||||
ModiBuilder.setObjFileName(MI.Obj);
|
||||
for (auto Symbol : ModiStream.Symbols)
|
||||
ModiBuilder.addSymbol(Symbol.Record);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user