Eric Pouech : dbghelp: In dwarf parsing, allow 64 bit wide values.

Alexandre Julliard julliard at winehq.org
Mon Nov 30 10:42:43 CST 2009


Module: wine
Branch: master
Commit: db077e11adbb66f26d2ce7de8b79990a58d0ad2f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=db077e11adbb66f26d2ce7de8b79990a58d0ad2f

Author: Eric Pouech <eric.pouech at orange.fr>
Date:   Sat Nov 28 13:24:01 2009 +0100

dbghelp: In dwarf parsing, allow 64 bit wide values.

---

 dlls/dbghelp/dwarf.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c
index e5617c3..6006202 100644
--- a/dlls/dbghelp/dwarf.c
+++ b/dlls/dbghelp/dwarf.c
@@ -490,7 +490,9 @@ static void dwarf2_fill_attr(const dwarf2_parse_context_t* ctx,
         break;
 
     case DW_FORM_data8:
-        FIXME("Unhandled 64bits support\n");
+        attr->u.block.size = 8;
+        attr->u.block.ptr  = data;
+        data += 8;
         break;
 
     case DW_FORM_ref1:
@@ -1411,6 +1413,11 @@ static void dwarf2_parse_variable(dwarf2_subprogram_t* subpgm,
             break;
 
         case DW_FORM_data8:
+	    v.n1.n2.vt = VT_I1 | VT_BYREF;
+	    v.n1.n2.n3.byref = pool_alloc(&subpgm->ctx->module->pool, value.u.block.size);
+	    memcpy(v.n1.n2.n3.byref, value.u.block.ptr, value.u.block.size);
+	    break;
+
         default:
             FIXME("Unsupported form for const value %s (%lx)\n",
                   name.u.string, value.form);




More information about the wine-cvs mailing list