[llvm-bugs] [Bug 38126] New: lld doesn't normalize pdb paths leading to paths such as debug_component\./base.dll.pdb
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue Jul 10 17:09:24 PDT 2018
https://bugs.llvm.org/show_bug.cgi?id=38126
Bug ID: 38126
Summary: lld doesn't normalize pdb paths leading to paths such
as debug_component\./base.dll.pdb
Product: lld
Version: unspecified
Hardware: PC
OS: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: COFF
Assignee: unassignedbugs at nondot.org
Reporter: brucedawson at chromium.org
CC: llvm-bugs at lists.llvm.org
Chrome's build system passes a mixture of forward and back slashes as path
separators. link.exe normalizes all of these and creates a minimal/canonical
path to the PDB inside of the PDB file. This can be seen with:
> dumpbin /headers base.dll | find /i "rsds"
Typical output is like this:
5B36C745 cv 50 00461348 460348 Format: RSDS,
{841F5EF3-1C48-4817-A3D5-C7F30CD90E9D}, 7,
c:\src\chromium3\src\out\debug_component\./base.dll.pdb
In particular note the "debug_component\./base.dll.pdb" portion. With link.exe
this is "debug_component\base.dll.pdb"
This is important because with recent versions of WPA (maybe only with the most
recent version?) this prevents symbol loading from working, completely.
This makes ETW profiling of Chrome somewhere between impossible and extremely
difficult so this is important to fix promptly.
Given an ETW trace you can see the paths which it is using for symbol lookup
with this command:
"xperf -i "testtrace_with_patched_base.etl" -tle -tti -a symcache -quiet
-imageid -dbgid"
However the dumpbin technique is much simpler.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20180711/4d333b35/attachment.html>
More information about the llvm-bugs
mailing list