[PATCH 00/12] Some dbghelp enhancements for gecko support
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(-)
More information about the wine-patches