[PATCH 0/9] Fourth step for Dwarf 3/4 support in dbghelp
Eric Pouech
eric.pouech at gmail.com
Wed Sep 15 03:37:39 CDT 2021
Structure of dwarf info: an image, made of several compilation units, each
compilation unit contains several debug info entries (DIE in dwarf-ish)
We currently parse all of those in one pass. This needs to be reviewed for
Dwarf4:
- a DIE can reference another DIE in another compilation unit
we currently support reference into the same CU only
=> we need to handle parsing of several CU at the same time
- a DIE can reference a DIE in another image (with GNU's extension in
dwarf4, will become standard in dwarf5) => this is used for example to
store all C++ basic debug info (like STL) in a dedicated image, that
is shared across several modules (this case is done at system level)
This serie basically refactors the parsing mechanism to decouple the module
parsing from the compilation unit parsing.
It implements reference to DIE in another CU of same image.
Next serie will focus on reference into another image.
--
Eric Pouech (9):
dbghelp/dwarf: separate cu handling from module handling
dbghelp/dwarf: Moving the symt_cache from the unit context into the module context
dbghelp/dwarf: Keep open and keep track of parse_context_t inside a module_context_t
dbghelp: split in two phases the parsing of a dwarf compilation unit
dbghelp/dwarf: Added ability to get to a DIE in a different CU
dbghelp/dwarf: Properly supporting DW_FORM_ref_addr in type DIE lookup
dbghelp/dwarf: Detect out of section sibling DIE information
dbghelp/dwarf: add reference for a DIE to its CU
programs/winedbg: show dwarf version(s) used for a module
dlls/dbghelp/dwarf.c | 288 ++++++++++++++++++++++++++--------------
programs/winedbg/info.c | 13 +-
2 files changed, 202 insertions(+), 99 deletions(-)
More information about the wine-devel
mailing list