From 7f0664f1936a75ce939e4b3f3d6e72da5fcc6a60 Mon Sep 17 00:00:00 2001 From: Alexandre Ganea Date: Tue, 31 Aug 2021 19:03:44 -0400 Subject: [PATCH] [LLD][COFF] Clean paths in PDB even when /pdbsourcepath is omitted Differential Revision: https://reviews.llvm.org/D109030 --- lld/COFF/PDB.cpp | 1 + lld/test/COFF/pdb-relative-source-lines.test | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/lld/COFF/PDB.cpp b/lld/COFF/PDB.cpp index e355857..189bf60 100644 --- a/lld/COFF/PDB.cpp +++ b/lld/COFF/PDB.cpp @@ -266,6 +266,7 @@ static void pdbMakeAbsolute(SmallVectorImpl &fileName) { if (config->pdbSourcePath.empty()) { sys::path::native(fileName); sys::fs::make_absolute(fileName); + sys::path::remove_dots(fileName, true); return; } diff --git a/lld/test/COFF/pdb-relative-source-lines.test b/lld/test/COFF/pdb-relative-source-lines.test index 5470567..cc241c7 100644 --- a/lld/test/COFF/pdb-relative-source-lines.test +++ b/lld/test/COFF/pdb-relative-source-lines.test @@ -37,6 +37,10 @@ RUN: llvm-pdbutil pdb2yaml -modules -module-files -module-syms -subsections=line RUN: ./lld-link -debug "-pdbsourcepath:/usr/src" -entry:main -nodefaultlib -out:out.exe -pdb:out.pdb pdb_lines_1_relative.obj pdb_lines_2_relative.obj RUN: llvm-pdbutil pdb2yaml -modules -module-files -module-syms -subsections=lines,fc %t/out.pdb | FileCheck --check-prefix=POSIX %s +Also check without -pdbsourcepath +RUN: ./lld-link -debug -entry:main -nodefaultlib -out:out.exe -pdb:out.pdb pdb_lines_1_relative.obj pdb_lines_2_relative.obj +RUN: llvm-pdbutil pdb2yaml -modules -module-files -module-syms -subsections=lines,fc %t/out.pdb | FileCheck --check-prefix=ABSOLUTE %s + CHECK-LABEL: - Module: 'c:\src\pdb_lines_1_relative.obj' CHECK-NEXT: ObjFile: 'c:\src\pdb_lines_1_relative.obj' CHECK: SourceFiles: @@ -103,3 +107,6 @@ POSIX-NEXT: - pdb POSIX-NEXT: - '/usr/src/out.pdb' POSIX-NEXT: - cmd POSIX-NEXT: - '-debug -pdbsourcepath:/usr/src -entry:main -nodefaultlib -out:out.exe -pdb:out.pdb pdb_lines_1_relative.obj pdb_lines_2_relative.obj' + +ABSOLUTE-LABEL: StringTable: +ABSOLUTE-NOT: {{/|\\}}.{{/|\\}}pdb_lines_1.c -- 2.7.4