mirror of
https://github.com/reactos/reactos.git
synced 2024-10-01 23:14:53 +00:00
[WINESYNC] dbghelp/dwarf: Use the word size of the target process.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45490 Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id 42745c068f80b696e7402680a61c2006b68b01d0 by Zebediah Figura <z.figura12@gmail.com>
This commit is contained in:
parent
8629cdb6af
commit
5a3f69edcc
|
@ -827,9 +827,9 @@ compute_location(dwarf2_traverse_context_t* ctx, struct location* loc,
|
||||||
if (hproc)
|
if (hproc)
|
||||||
{
|
{
|
||||||
DWORD_PTR addr = stack[stk--];
|
DWORD_PTR addr = stack[stk--];
|
||||||
DWORD_PTR deref;
|
DWORD_PTR deref = 0;
|
||||||
|
|
||||||
if (!ReadProcessMemory(hproc, (void*)addr, &deref, sizeof(deref), NULL))
|
if (!ReadProcessMemory(hproc, (void*)addr, &deref, ctx->word_size, NULL))
|
||||||
{
|
{
|
||||||
WARN("Couldn't read memory at %lx\n", addr);
|
WARN("Couldn't read memory at %lx\n", addr);
|
||||||
return loc_err_cant_read;
|
return loc_err_cant_read;
|
||||||
|
@ -3140,7 +3140,8 @@ static ULONG_PTR eval_expression(const struct module* module, struct cpu_stack_w
|
||||||
case DW_OP_constu: stack[++sp] = dwarf2_leb128_as_unsigned(&ctx); break;
|
case DW_OP_constu: stack[++sp] = dwarf2_leb128_as_unsigned(&ctx); break;
|
||||||
case DW_OP_consts: stack[++sp] = dwarf2_leb128_as_signed(&ctx); break;
|
case DW_OP_consts: stack[++sp] = dwarf2_leb128_as_signed(&ctx); break;
|
||||||
case DW_OP_deref:
|
case DW_OP_deref:
|
||||||
if (!sw_read_mem(csw, stack[sp], &tmp, sizeof(tmp)))
|
tmp = 0;
|
||||||
|
if (!sw_read_mem(csw, stack[sp], &tmp, ctx.word_size))
|
||||||
{
|
{
|
||||||
ERR("Couldn't read memory at %s\n", wine_dbgstr_longlong(stack[sp]));
|
ERR("Couldn't read memory at %s\n", wine_dbgstr_longlong(stack[sp]));
|
||||||
tmp = 0;
|
tmp = 0;
|
||||||
|
@ -3223,7 +3224,7 @@ static void apply_frame_state(const struct module* module, struct cpu_stack_walk
|
||||||
{
|
{
|
||||||
case RULE_EXPRESSION:
|
case RULE_EXPRESSION:
|
||||||
*cfa = eval_expression(module, csw, (const unsigned char*)state->cfa_offset, context);
|
*cfa = eval_expression(module, csw, (const unsigned char*)state->cfa_offset, context);
|
||||||
if (!sw_read_mem(csw, *cfa, cfa, sizeof(*cfa)))
|
if (!sw_read_mem(csw, *cfa, cfa, csw->cpu->word_size))
|
||||||
{
|
{
|
||||||
WARN("Couldn't read memory at %s\n", wine_dbgstr_longlong(*cfa));
|
WARN("Couldn't read memory at %s\n", wine_dbgstr_longlong(*cfa));
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -3,4 +3,4 @@ directories:
|
||||||
files:
|
files:
|
||||||
include/dbghelp.h: sdk/include/psdk/dbghelp.h
|
include/dbghelp.h: sdk/include/psdk/dbghelp.h
|
||||||
tags:
|
tags:
|
||||||
wine: 3507615f35777f38a20407b7879f7c7d6510b12a
|
wine: 42745c068f80b696e7402680a61c2006b68b01d0
|
||||||
|
|
Loading…
Reference in a new issue