[PATCH 00/15 v2] Inlines and scopes
Eric Pouech
eric.pouech at gmail.com
Fri Oct 22 02:14:50 CDT 2021
The following series implements inline site and (local) scope contexts
V2:
- reorder patches to have full functionnalities earlier
- added the dwarf backend modifications
Alexandre, if you think this is too big for once, you can decide to split
between those blocks:
[01/08]: stack walk and symbol info for inline contexts (+ dwarf backend
support)
[09/10]: (local) scope management functions
[11/15]: line info for inline context (+ dwarf backend support)
I also recommend using dwarf4 (instead of dwarf2) for using these features.
A+
---
Eric Pouech (15):
dbghelp: introduce symt_inlinesite (SymTagInlineSite) to support inline sites
dbghelp: introduce a couple of helpers to manage inline contexts
dbghelp: added functions to add a range to an inline site
dbghelp: implement StackWalkEx inline features
dbghelp: implement SymFromInlineContext
dbghelp/dwarf: add current block as a field in dwarf2_subprogram_t
dbghelp/dwarf: generate proper inline function
dbghelp/dwarf: now storing each subrange for an inlined function
dbghelp: add local scope information in struct process
dbghelp: implement the SymSetScope* functions
dbghelp: renamed line_info pc_offset into address
dbghelp: let symt_add_func_line() last parameter be an absolute address
dbghelp: in SymGetLine* family, compute displacement relative to line_info's address
dbghelp: added first implementations for SymGetLineFromInlineContext(W)
dbghelp/dwarf: store line numbers and file info for inlined functions
dlls/dbghelp/coff.c | 7 +-
dlls/dbghelp/dbghelp.c | 71 +++++--
dlls/dbghelp/dbghelp_private.h | 108 +++++++++-
dlls/dbghelp/dwarf.c | 205 ++++++++++++++-----
dlls/dbghelp/module.c | 10 +-
dlls/dbghelp/msc.c | 9 +-
dlls/dbghelp/stabs.c | 4 +-
dlls/dbghelp/stack.c | 34 +++-
dlls/dbghelp/symbol.c | 360 ++++++++++++++++++++++++++-------
dlls/dbghelp/type.c | 16 ++
10 files changed, 654 insertions(+), 170 deletions(-)
More information about the wine-devel
mailing list