dbghelp: In dwarf debug functions, use register name instead of register value.

This commit is contained in:
Eric Pouech 2011-03-13 21:31:17 +01:00 committed by Alexandre Julliard
parent a26ed12676
commit 6d7c2e02d8
1 changed files with 12 additions and 7 deletions

View File

@ -677,10 +677,12 @@ compute_location(dwarf2_traverse_context_t* ctx, struct location* loc,
*/ */
if (!piece_found) if (!piece_found)
{ {
DWORD cvreg = dwarf2_map_register(op - DW_OP_reg0);
if (loc->reg != Wine_DW_no_register) if (loc->reg != Wine_DW_no_register)
FIXME("Only supporting one reg (%d -> %d)\n", FIXME("Only supporting one reg (%s/%d -> %s/%d)\n",
loc->reg, dwarf2_map_register(op - DW_OP_reg0)); dbghelp_current_cpu->fetch_regname(loc->reg), loc->reg,
loc->reg = dwarf2_map_register(op - DW_OP_reg0); dbghelp_current_cpu->fetch_regname(cvreg), cvreg);
loc->reg = cvreg;
} }
loc->kind = loc_register; loc->kind = loc_register;
} }
@ -692,10 +694,12 @@ compute_location(dwarf2_traverse_context_t* ctx, struct location* loc,
*/ */
if (!piece_found) if (!piece_found)
{ {
DWORD cvreg = dwarf2_map_register(op - DW_OP_breg0);
if (loc->reg != Wine_DW_no_register) if (loc->reg != Wine_DW_no_register)
FIXME("Only supporting one breg (%d -> %d)\n", FIXME("Only supporting one breg (%s/%d -> %s/%d)\n",
loc->reg, dwarf2_map_register(op - DW_OP_breg0)); dbghelp_current_cpu->fetch_regname(loc->reg), loc->reg,
loc->reg = dwarf2_map_register(op - DW_OP_breg0); dbghelp_current_cpu->fetch_regname(cvreg), cvreg);
loc->reg = cvreg;
} }
stack[++stk] = dwarf2_leb128_as_signed(ctx); stack[++stk] = dwarf2_leb128_as_signed(ctx);
loc->kind = loc_regrel; loc->kind = loc_regrel;
@ -763,7 +767,8 @@ compute_location(dwarf2_traverse_context_t* ctx, struct location* loc,
break; break;
case DW_OP_fbreg: case DW_OP_fbreg:
if (loc->reg != Wine_DW_no_register) if (loc->reg != Wine_DW_no_register)
FIXME("Only supporting one reg (%d -> -2)\n", loc->reg); FIXME("Only supporting one reg (%s/%d -> -2)\n",
dbghelp_current_cpu->fetch_regname(loc->reg), loc->reg);
if (frame && frame->kind == loc_register) if (frame && frame->kind == loc_register)
{ {
loc->kind = loc_regrel; loc->kind = loc_regrel;