[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