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: unassignedb...@nondot.org
          Reporter: brucedaw...@chromium.org
                CC: llvm-bugs@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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to