[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