diff options
Diffstat (limited to 'lld')
-rw-r--r-- | lld/COFF/PDB.cpp | 4 | ||||
-rw-r--r-- | lld/test/COFF/pdb-diff.test | 26 |
2 files changed, 24 insertions, 6 deletions
diff --git a/lld/COFF/PDB.cpp b/lld/COFF/PDB.cpp index e0dc58b2a18..02cb1f51e3d 100644 --- a/lld/COFF/PDB.cpp +++ b/lld/COFF/PDB.cpp @@ -315,7 +315,9 @@ static void addObjectsToPDB(BumpPtrAllocator &Alloc, SymbolTable *Symtab, bool InArchive = !File->ParentName.empty(); SmallString<128> Path = InArchive ? File->ParentName : File->getName(); sys::fs::make_absolute(Path); + sys::path::native(Path, llvm::sys::path::Style::windows); StringRef Name = InArchive ? File->getName() : StringRef(Path); + File->ModuleDBI = &ExitOnErr(Builder.getDbiBuilder().addModuleInfo(Name)); File->ModuleDBI->setObjFileName(Path); @@ -414,7 +416,7 @@ void coff::createPDB(StringRef Path, SymbolTable *Symtab, llvm::SmallString<128> NativePath(Path.begin(), Path.end()); llvm::sys::fs::make_absolute(NativePath); - llvm::sys::path::native(NativePath); + llvm::sys::path::native(NativePath, llvm::sys::path::Style::windows); pdb::PDB_UniqueId uuid{}; if (DI) diff --git a/lld/test/COFF/pdb-diff.test b/lld/test/COFF/pdb-diff.test index a6352ab4ef5..93fd5e83b21 100644 --- a/lld/test/COFF/pdb-diff.test +++ b/lld/test/COFF/pdb-diff.test @@ -45,7 +45,7 @@ CHECK-NEXT: | Named Stream "/LinkInfo" | {{[EI]}} | CHECK-NEXT: |------------------------------+---|
CHECK-NEXT: | Named Stream "/src/heade..." | D |
CHECK-NEXT: |------------------------------+---|
-CHECK-NEXT: | Module "{{.*}}pdb-diff.obj" | D |
+CHECK-NEXT: | Module "{{.*}}\pdb-diff.obj" | {{[EI]}} |
CHECK-NEXT: |------------------------------+---|
CHECK-NEXT: | Module "* Linker *" | {{[EI]}} |
CHECK-NEXT: |------------------------------+---|
@@ -59,8 +59,6 @@ CHECK-NEXT: | Public Symbol Hash | D | CHECK-NEXT: |------------------------------+---|
CHECK-NEXT: | Public Symbol Records | D |
CHECK-NEXT: |------------------------------+---|
-CHECK-NEXT: | Module "{{.*}}pdb-diff.obj" | D |
-CHECK-NEXT: |------------------------------+---|
CHECK-NEXT: | New FPO Data | D |
CHECK-NEXT: |------------------------------+---|
CHECK-NEXT: ------------------------------------
@@ -174,9 +172,25 @@ CHECK-NEXT: | Module Count | I | CHECK-NEXT: |----------------------------------------+---|
CHECK-NEXT: | Source File Count | I |
CHECK-NEXT: |----------------------------------------+---|
-CHECK-NEXT: |Module "{{.*}}Inputs/pdb-diff.obj"|
+CHECK-NEXT: |Module "{{.*}}\pdb-diff.obj"|
+CHECK-NEXT: |----------------------------------------+---|
+CHECK-NEXT: | - Modi | I |
CHECK-NEXT: |----------------------------------------+---|
-CHECK-NEXT: | - Modi | D |
+CHECK-NEXT: | - Obj File Name | {{[EI]}} |
+CHECK-NEXT: |----------------------------------------+---|
+CHECK-NEXT: | - Debug Stream | {{[EI]}} |
+CHECK-NEXT: |----------------------------------------+---|
+CHECK-NEXT: | - C11 Byte Size | I |
+CHECK-NEXT: |----------------------------------------+---|
+CHECK-NEXT: | - C13 Byte Size | I |
+CHECK-NEXT: |----------------------------------------+---|
+CHECK-NEXT: | - # of files | I |
+CHECK-NEXT: |----------------------------------------+---|
+CHECK-NEXT: | - Pdb File Path Index | I |
+CHECK-NEXT: |----------------------------------------+---|
+CHECK-NEXT: | - Source File Name Index | I |
+CHECK-NEXT: |----------------------------------------+---|
+CHECK-NEXT: | - Symbol Byte Size | D |
CHECK-NEXT: |----------------------------------------+---|
CHECK-NEXT: | Module "* Linker *" |
CHECK-NEXT: |----------------------------------------+---|
@@ -198,3 +212,5 @@ CHECK-NEXT: | - Source File Name Index | {{[EI]}} | CHECK-NEXT: |----------------------------------------+---|
CHECK-NEXT: | - Symbol Byte Size | D |
CHECK-NEXT: |----------------------------------------+---|
+
+
|