Eric Pouech : dbghelp/dwarf: Pass cuhead to loc_compute_frame.

Alexandre Julliard julliard at winehq.org
Mon Sep 27 15:21:43 CDT 2021


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

Author: Eric Pouech <eric.pouech at gmail.com>
Date:   Sun Sep 26 14:46:49 2021 +0200

dbghelp/dwarf: Pass cuhead to loc_compute_frame.

Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dbghelp/dwarf.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c
index 785f6651f11..5f4ff8ad5d3 100644
--- a/dlls/dbghelp/dwarf.c
+++ b/dlls/dbghelp/dwarf.c
@@ -2821,20 +2821,15 @@ static const dwarf2_cuhead_t* get_cuhead_from_func(const struct symt_function* f
 static enum location_error loc_compute_frame(struct process* pcs,
                                              const struct module_format* modfmt,
                                              const struct symt_function* func,
-                                             DWORD_PTR ip, struct location* frame)
+                                             DWORD_PTR ip, const dwarf2_cuhead_t* head,
+                                             struct location* frame)
 {
     struct symt**               psym = NULL;
     struct location*            pframe;
     dwarf2_traverse_context_t   lctx;
     enum location_error         err;
     unsigned int                i;
-    const dwarf2_cuhead_t*      head = get_cuhead_from_func(func);
 
-    if (!head)
-    {
-        FIXME("Shouldn't happen\n");
-        return loc_err_internal;
-    }
     for (i=0; i<vector_length(&func->vchildren); i++)
     {
         psym = vector_at(&func->vchildren, i);
@@ -3663,7 +3658,7 @@ static void dwarf2_location_compute(struct process* pcs,
         /* instruction pointer relative to compiland's start */
         ip = pcs->ctx_frame.InstructionOffset - ((struct symt_compiland*)func->container)->address;
 
-        if ((err = loc_compute_frame(pcs, modfmt, func, ip, &frame)) == 0)
+        if ((err = loc_compute_frame(pcs, modfmt, func, ip, head, &frame)) == 0)
         {
             switch (loc->kind)
             {




More information about the wine-cvs mailing list