Module: wine Branch: master Commit: a775d41c105d32338251bb1fcb823dcc031e3746 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a775d41c105d32338251bb1fcb...
Author: Eric Pouech eric.pouech@orange.fr Date: Tue Dec 22 14:20:16 2009 +0100
winedbg: Push the correct machine type to StackWalk.
---
programs/winedbg/be_alpha.c | 1 + programs/winedbg/be_cpu.h | 1 + programs/winedbg/be_i386.c | 1 + programs/winedbg/be_ppc.c | 1 + programs/winedbg/be_x86_64.c | 1 + programs/winedbg/stack.c | 2 +- 6 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/programs/winedbg/be_alpha.c b/programs/winedbg/be_alpha.c index 8ced1d6..57bdfd1 100644 --- a/programs/winedbg/be_alpha.c +++ b/programs/winedbg/be_alpha.c @@ -151,6 +151,7 @@ static int be_alpha_fetch_float(const struct dbg_lvalue* lvalue, unsigned size,
struct backend_cpu be_alpha = { + IMAGE_FILE_MACHINE_ALPHA, be_cpu_linearize, be_cpu_build_addr, be_alpha_get_addr, diff --git a/programs/winedbg/be_cpu.h b/programs/winedbg/be_cpu.h index 8ce79d1..6679977 100644 --- a/programs/winedbg/be_cpu.h +++ b/programs/winedbg/be_cpu.h @@ -23,6 +23,7 @@ enum be_xpoint_type {be_xpoint_break, be_xpoint_watch_exec, be_xpoint_watch_read be_xpoint_watch_write}; struct backend_cpu { + DWORD machine; /* ------------------------------------------------------------------------------ * address manipulation * ------------------------------------------------------------------------------ */ diff --git a/programs/winedbg/be_i386.c b/programs/winedbg/be_i386.c index e3e7a81..e805a80 100644 --- a/programs/winedbg/be_i386.c +++ b/programs/winedbg/be_i386.c @@ -746,6 +746,7 @@ static int be_i386_fetch_float(const struct dbg_lvalue* lvalue, unsigned size,
struct backend_cpu be_i386 = { + IMAGE_FILE_MACHINE_I386, be_i386_linearize, be_i386_build_addr, be_i386_get_addr, diff --git a/programs/winedbg/be_ppc.c b/programs/winedbg/be_ppc.c index bff1571..9ba9994 100644 --- a/programs/winedbg/be_ppc.c +++ b/programs/winedbg/be_ppc.c @@ -175,6 +175,7 @@ static int be_ppc_fetch_float(const struct dbg_lvalue* lvalue, unsigned size,
struct backend_cpu be_ppc = { + IMAGE_FILE_MACHINE_POWERPC, be_cpu_linearize, be_cpu_build_addr, be_ppc_get_addr, diff --git a/programs/winedbg/be_x86_64.c b/programs/winedbg/be_x86_64.c index 2f58c88..1ef52b8 100644 --- a/programs/winedbg/be_x86_64.c +++ b/programs/winedbg/be_x86_64.c @@ -376,6 +376,7 @@ static int be_x86_64_fetch_float(const struct dbg_lvalue* lvalue, unsigned size,
struct backend_cpu be_x86_64 = { + IMAGE_FILE_MACHINE_AMD64, be_cpu_linearize, be_cpu_build_addr, be_x86_64_get_addr, diff --git a/programs/winedbg/stack.c b/programs/winedbg/stack.c index c80e5c3..f448e8b 100644 --- a/programs/winedbg/stack.c +++ b/programs/winedbg/stack.c @@ -186,7 +186,7 @@ unsigned stack_fetch_frames(void) sf.AddrFrame.Mode = AddrModeFlat; }
- while (StackWalk64(IMAGE_FILE_MACHINE_I386, dbg_curr_process->handle, + while (StackWalk64(be_cpu->machine, dbg_curr_process->handle, dbg_curr_thread->handle, &sf, &ctx, stack_read_mem, SymFunctionTableAccess64, SymGetModuleBase64, NULL)) {