This serie tackles several issues encountered while loading PDB files through dbghelp.
It happens that PDB allows to have several type records for user defined types (struct / enums) with the same name. This seems to be generated by a) compiler (when modifying a structure definition between several compilation phases), b) the incremental linker (likely an optimisation of previous case, but not 100% certain when it's triggered). Wine's dbghelp ended up not picking the right record, hence generating errneous outputs. This series: - cleans up some PDB related code - update winedump to display the PDB hash table internals - fixes dbghelp to preserve in Wine's dbghelp hash table the partial order between type records of same name.
v2: - rebased - removed a bunch of stray comments
-- v3: dlls/dbghelp{pdb}: use remap table from PDB hash stream dlls/dbghelp{pdb}: ensure dbghelp's list order in hash table matches PDB's dlls/dbghelp{pdb}: clearly separate the type loading into two passes include/wine/mscvpdb.h: redefine property with bitfields dlls/dbghelp{pdb}: rely on first/last index from type header tools/winedump{pdb}: explore a bit more TPI hash elements