[PATCH 00/10] Third step for Dwarf 3/4 support in DbgHelp
Eric Pouech
eric.pouech at gmail.com
Sat Sep 11 03:58:40 CDT 2021
Dwarf3/4 adds a couple of structural modifications:
- either 32bit or 64bit internal offsets
- some attributes size have been changed across version
- some section headers evolution (one more field in line section header)
- GCC added some FORM extensions
This serie adds support for those, and some more code hardening.
This serie should finish covering the structural changes in dwarf3/4, and
the loading of dwarf4 modules should (shriek) be possible, even it lots of
new features of dwarf4 are not supported yet. Expect though lots of FIXME:s
and potential non functional stuff.
When this serie is committed, I'd appreciate feeback of running debugging
stuff with DBGHELP_DWARF_VERSION env variable set to 4.
As wine's modules are still compiled with dwarf2, and distros are moving to
dwarf5, the loadable dwarf4 modules are a scarse resource ;-)
A+
---
Eric Pouech (10):
dbghelp{dwarf}: don't recompute location when said location is complex
dbghelp{dwarf}: properly parse 32 vs bit 64bit entities
dbghelp{dwarf}: correctly handle attributes according to 32bit or 64bit format
dbghelp{dwarf}: Added support for FORM_loc_offset, FORM_sec_offset
dbghelp{dwarf}: Added support for FORM_exprloc
dbghelp{dwarf}: handle errors in dwarf2_fill_attr by returning a boolean
dbghelp{dwarf}: added definitions of some GNU extenstions for FORM:s.
dbghelp{dwarf}: Validate that a string is in the section boundary before using it
dbghelp{dwarf}: Detect auto reference between a dwarf's DIE and its type
dbghelp: Properly parse line number header for DWARF4 debug info
dlls/dbghelp/dwarf.c | 148 +++++++++++++++++++++++++++++++++----------
dlls/dbghelp/dwarf.h | 5 ++
2 files changed, 118 insertions(+), 35 deletions(-)
More information about the wine-devel
mailing list