David Anderson : dbghelp: Avoid printing too many "What the heck"
messages from winedbg.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Oct 26 06:32:10 CDT 2006
Module: wine
Branch: master
Commit: c80f5181ff5e1bf7ad99dbea165b07610d3f1f8a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c80f5181ff5e1bf7ad99dbea165b07610d3f1f8a
Author: David Anderson <davea42 at earthlink.net>
Date: Tue Oct 24 21:05:21 2006 -0700
dbghelp: Avoid printing too many "What the heck" messages from winedbg.
---
dlls/dbghelp/dwarf.c | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c
index b1c8572..2f22d9e 100644
--- a/dlls/dbghelp/dwarf.c
+++ b/dlls/dbghelp/dwarf.c
@@ -1095,7 +1095,7 @@ static unsigned dwarf2_map_register(int
switch (regno)
{
- case Wine_DW_no_register: FIXME("What the heck\n"); reg = 0; break;
+ case Wine_DW_no_register: FIXME("What the heck map reg 0x%x\n",regno); reg = 0; break;
/* FIXME: this is a dirty hack */
case Wine_DW_frame_register: reg = 0; break;
case 0: reg = CV_REG_EAX; break;
@@ -1394,8 +1394,16 @@ static struct symt* dwarf2_parse_subprog
subpgm.ctx = ctx;
subpgm.compiland = compiland;
- if (dwarf2_compute_location(ctx, di, DW_AT_frame_base, &subpgm.frame_offset, &subpgm.frame_reg))
+ if (dwarf2_compute_location(ctx, di, DW_AT_frame_base, &subpgm.frame_offset, &subpgm.frame_reg)) {
TRACE("For %s got %ld/%d\n", name.u.string, subpgm.frame_offset, subpgm.frame_reg);
+ if (subpgm.frame_reg == Wine_DW_no_register) {
+ /* Likely a constant, meaning a location list offset.
+ We do not handle those yet. */
+ /*FIXME("need to handle location lists\n"); */
+ subpgm.frame_reg = 0;
+ subpgm.frame_offset = 0;
+ }
+ }
else /* on stack !! */
{
subpgm.frame_reg = 0;
More information about the wine-cvs
mailing list