summaryrefslogtreecommitdiffstats
path: root/lld
diff options
context:
space:
mode:
Diffstat (limited to 'lld')
-rw-r--r--lld/COFF/PDB.cpp4
-rw-r--r--lld/test/COFF/pdb-diff.test26
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: |----------------------------------------+---|
+
+
OpenPOWER on IntegriCloud