Module: wine Branch: master Commit: 196f8f070d039a703dc080aa7e4173ecf59476aa URL: http://source.winehq.org/git/wine.git/?a=commit;h=196f8f070d039a703dc080aa7e...
Author: Eric Pouech eric.pouech@orange.fr Date: Tue Apr 6 22:28:24 2010 +0200
dbghelp: Added support for DW_CFA_GNU_args_size.
---
dlls/dbghelp/dwarf.c | 8 ++++++++ dlls/dbghelp/dwarf.h | 5 +++++ 2 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c index 41e2397..4be0f6a 100644 --- a/dlls/dbghelp/dwarf.c +++ b/dlls/dbghelp/dwarf.c @@ -2672,6 +2672,14 @@ static void execute_cfa_instructions(dwarf2_traverse_context_t* ctx, ctx->data += len; break; } + case DW_CFA_GNU_args_size: + /* FIXME: should check that GCC is the compiler for this CU */ + { + ULONG_PTR args = dwarf2_leb128_as_unsigned(ctx); + TRACE("%lx: DW_CFA_GNU_args_size %lu\n", info->ip, args); + /* ignored */ + break; + } default: FIXME("%lx: unknown CFA opcode %02x\n", info->ip, op); break; diff --git a/dlls/dbghelp/dwarf.h b/dlls/dbghelp/dwarf.h index 2a01c1b..23493d6 100644 --- a/dlls/dbghelp/dwarf.h +++ b/dlls/dbghelp/dwarf.h @@ -449,6 +449,11 @@ enum dwarf_call_frame_info DW_CFA_val_offset = 0x14, DW_CFA_val_offset_sf = 0x15, DW_CFA_val_expression = 0x16, + /* GNU extensions */ + DW_CFA_GNU_window_save = 0x2d, + DW_CFA_GNU_args_size = 0x2e, + DW_CFA_GNU_negative_offset_extended = 0x2f, + };
#define DW_EH_PE_native 0x00