• Eric Pouech's avatar
    dbghelp: Preserve PDB's partial order for types of same name. · d12d5c72
    Eric Pouech authored
    The PDB types can contain several times a type definition with an identical
    name. It seems to appear when modifying a type in source (like adding new
    fields to a struct):
    - as the PDB file (generated from first compilation) is updated (and not
      fully rewritten), the debug information for the old type is not flushed;
      a new record (for the same struct name) is emitted, and inserted
      before the old one in the hash table (bucket list).
    
    Even if dbghelp's hash table is different from PDB's internal one (ie
    number of buckets & bucket lists are different), we must maintain the order
    of records of identical names (they end up in the same bucket) as a lookup
    by name *must* return the first record in PDB's order.
    Lookup by name is used:
    - when resolving a forward definition (to get the full UDT definition
      including for example a struct/class fields's list)
    - when searching by type name from dbghelp APIs, like SymGetTypeFromName()
    
    This patch implements the preservation of that order.
    Signed-off-by: 's avatarEric Pouech <eric.pouech@gmail.com>
    d12d5c72
Name
Last commit
Last update
dlls Loading commit data...
documentation Loading commit data...
fonts Loading commit data...
include Loading commit data...
libs Loading commit data...
loader Loading commit data...
nls Loading commit data...
po Loading commit data...
programs Loading commit data...
server Loading commit data...
tools Loading commit data...
.editorconfig Loading commit data...
.mailmap Loading commit data...
ANNOUNCE Loading commit data...
AUTHORS Loading commit data...
COPYING.LIB Loading commit data...
LICENSE Loading commit data...
LICENSE.OLD Loading commit data...
MAINTAINERS Loading commit data...
README Loading commit data...
VERSION Loading commit data...
aclocal.m4 Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...