[llvm-bugs] [Bug 35633] New: Handle out-of-order CodeView records in Global Type hashing algorithm

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Dec 11 15:22:57 PST 2017


            Bug ID: 35633
           Summary: Handle out-of-order CodeView records in Global Type
                    hashing algorithm
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: DebugInfo
          Assignee: unassignedbugs at nondot.org
          Reporter: zturner at google.com
                CC: llvm-bugs at lists.llvm.org

Occasionally there are some object files whose orderings violate the
topological sorting requirements.  For example, lldiv.obj from msvcrtd.lib
contains this:

0x1000 | LF_LABEL [size = 8] type = near
0x1001 | LF_PROCEDURE [size = 16]
         return type = 0x0003 (void), # args = 0, param list = 0x1002
         calling conv = cdecl, options = None
0x1002 | LF_ARGLIST [size = 8]

where the LF_PROCEDURE record refers to an LF_ARGLIST record which comes
*after* it.  We currently can't handle this, so we hash the numeric value of
the type index instead of the hash of the other record.  What we should do is
keep a list of records that we couldn't translate, and then try to translate
them on a second pass.

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/20171211/81f0a64e/attachment.html>

More information about the llvm-bugs mailing list