[PATCH 00/10] Second step for Dwarf3/4 support in dbghelp
Eric Pouech
eric.pouech at gmail.com
Wed Sep 8 01:33:43 CDT 2021
One major change of Dwarf3/4 over Dwarf2 is that the size of some attributes
(like addresses among others) is parametrized at the level of a compilation
unit.
Current dbghelp code stores such CU header parameters at the module's
level (assuming it's the same across all CU:s of a module).
This serie:
- mainly changes the internal data model by attaching those parameters at
the CU level (except for .eh_frame section)
- it also allows to enable loading of dwarf3/4 debug info if the
DBGHELP_DWARF_VERSION environment variable is set to 3 or 4.
I don't recommend at this stage using this variable; it's better to delay
until next serie (which shall cover the rest of the syntaxic changes in
dwarf format; more series afterwards will cover more semantic changes and
extensions).
A+
---
Eric Pouech (10):
dbghelp{dwarf}: Allow tweaking from env variable which DWARF version is to be loaded.
dbghelp{dwarf}: introdicting dwarf2_cuhead_s a structure to hold compilation unit parsing info
dbghelp{dwarf}: share compilation unit header information
dbghelp{dwarf}: add word size parameter to parse_addr() internal function
dbghelp{dwarf}: now pass dwarf2_cuhead_t for addr details to swallow_attribute
dbghelp{dwarf}: now passing a parse_cuhead_t to compute_location()
dbghelp{dwarf}: passing word_size as a parameter to a couple of frame related functions
dbghelp{dwarf}: now using word_size from cuhead_t
dbghelp{dwarf}: passing dwarf2_cuhead_t to lookuploclist()
dbghelp{dwarf}: initialize module's word_size at module load time
dlls/dbghelp/dbghelp_private.h | 1 +
dlls/dbghelp/dwarf.c | 167 ++++++++++++++++++++-------------
dlls/dbghelp/symbol.c | 1 +
3 files changed, 103 insertions(+), 66 deletions(-)
More information about the wine-devel
mailing list