This is a (first) MR about optmizing (new) PDB reader.
Context: - game ships with a 1+ GB file and throws an exception at some point in the game, then captures a backtrace with a bunch of dbghelp invocations. - exception is also raised on native but is handled rather quickly (1-2seconds wall time), during what the game completly freezes.
Old PDB reader (first context was on Wine 9.x) crashed when reading the PDB file. Serie starts with a fix for that, but it takes ages to load the PDB file. Context moved to Wine 10.x (with new PDB reader).
Freeze time is about 7-8s. So this serie and subsequent ones will reduce freeze time (current status is 2.6s).
This serie contains: - fix for old PDB reader to avoid crash, - some cleanups in PDB handling (nothing too fancy), - remove the computation of CRC when considering an ELF module, (the only place where this is used if when generating minidump including ELF modules, but the CRC is recomputed anyway). Since the CRC is computed on the whole ELF module image, and depending on number of referenced ELF modules, this can save quite some time (here ~1s).