Eric Pouech : dbghelp: Correctly store the addresses of blocks.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Nov 27 12:53:40 CST 2006
Module: wine
Branch: master
Commit: 5b61db4161adbf3f13d981b52c2612bf68c79cdc
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5b61db4161adbf3f13d981b52c2612bf68c79cdc
Author: Eric Pouech <eric.pouech at wanadoo.fr>
Date: Fri Nov 24 22:18:35 2006 +0100
dbghelp: Correctly store the addresses of blocks.
They are stored internally as offsets to the start of the function
which embeds the block.
---
dlls/dbghelp/dwarf.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c
index bf77335..bcd07c3 100644
--- a/dlls/dbghelp/dwarf.c
+++ b/dlls/dbghelp/dwarf.c
@@ -1354,7 +1354,8 @@ static void dwarf2_parse_inlined_subrout
if (!dwarf2_find_attribute(subpgm->ctx, di, DW_AT_high_pc, &high_pc)) high_pc.u.uvalue = 0;
block = symt_open_func_block(subpgm->ctx->module, subpgm->func, parent_block,
- low_pc.u.uvalue, high_pc.u.uvalue - low_pc.u.uvalue);
+ subpgm->ctx->module->module.BaseOfImage + low_pc.u.uvalue - subpgm->func->address,
+ high_pc.u.uvalue - low_pc.u.uvalue);
if (di->abbrev->have_child) /** any interest to not have child ? */
{
@@ -1406,7 +1407,8 @@ static void dwarf2_parse_subprogram_bloc
high_pc.u.uvalue = 0;
block = symt_open_func_block(subpgm->ctx->module, subpgm->func, parent_block,
- low_pc.u.uvalue, high_pc.u.uvalue - low_pc.u.uvalue);
+ subpgm->ctx->module->module.BaseOfImage + low_pc.u.uvalue - subpgm->func->address,
+ high_pc.u.uvalue - low_pc.u.uvalue);
if (di->abbrev->have_child) /** any interest to not have child ? */
{
More information about the wine-cvs
mailing list