[PATCH 1/5] [DbgHelp]: added support for DW_CFA_GNU_args_size

Eric Pouech eric.pouech at orange.fr
Tue Apr 6 15:28:24 CDT 2010




A+
---

 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






More information about the wine-patches mailing list