[PATCH 00/12] Some dbghelp enhancements for gecko support

Eric Pouech eric.pouech at orange.fr
Tue Mar 8 14:30:28 CST 2011

Jacek ping'ed me about winedbg/dbghelp not being able to fully support gecko (especially for preparing the 1.2 release).
The following patchset enhance winedbg/dbghelp support:
- proper support for method management in dwarf debug format (now being able to step/break/... on methods
  as one is supposed to do on functions)
- proper C++ namespace support
- fixed some COFF bugs
- performance increase, especially for very large files (gecko being one on them). performance loss on regular files
  is merely perceptible (<+1% from my testing) but give more than 90% speed increase on large files.

A huge thank you to Jacek for his various efforts to test several versions of this patchset.

However, there are still a couple of issues to be fixed on winedbg/dbghelp, especially on stack backtracing.
But let first get this one committed.


Eric Pouech (12):
      [DbgHelp]: when parsing dwarf debug info, silence ptr_to_member and imported_declaration entries
      [DbgHelp]: manage more precisely the inline attribute
      [DbgHelp]: now adding hierarchical information in die object
      [DbgHelp]: added support for namespace support out of dwarf debug format
      [DbgHelp]: in dwarf debug format, correctly manage the DW_AT_specification attribute
      [DbgHelp]: now storing the compiland into the parse context
      [DbgHelp]: added support for parsing methods (in C++ classes) for dwarf debug format
      [DbgHelp]: when parsing a subprogram in dwarf debug format, properly handle scoping for functions with both declaration & definition
      [DbgHelp]: quirk for supporting anonymous UDT (class, struct, enum...)
      [DbgHelp]: added helper to get global address out of symt, instead of going though symt_get_info
      [DbgHelp]: when build the by address lookup table, speed up resorting by always taking into account that existing symbols are already sorted
      [DbgHelp]: fix bug in managing COFF files' array

 dlls/dbghelp/coff.c            |   25 +-
 dlls/dbghelp/dbghelp_private.h |    2 
 dlls/dbghelp/dwarf.c           |  596 +++++++++++++++++++++++-----------------
 dlls/dbghelp/dwarf.h           |    6 
 dlls/dbghelp/elf_module.c      |    4 
 dlls/dbghelp/macho_module.c    |    2 
 dlls/dbghelp/symbol.c          |   73 +++--
 dlls/dbghelp/type.c            |   80 +++--
 8 files changed, 454 insertions(+), 334 deletions(-)

Eric Pouech

More information about the wine-patches mailing list