From a4c1b34146239a9d65852ecc3a5769b5aa6456d3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andr=C3=A9=20Hentschel?= Date: Thu, 14 Oct 2010 22:10:45 +0200 Subject: [PATCH] dbghelp: Implement arm_get_addr. --- dlls/dbghelp/cpu_arm.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/dlls/dbghelp/cpu_arm.c b/dlls/dbghelp/cpu_arm.c index 0bd8aadbae9..fd0b781f3a3 100644 --- a/dlls/dbghelp/cpu_arm.c +++ b/dlls/dbghelp/cpu_arm.c @@ -32,15 +32,18 @@ WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); static unsigned arm_get_addr(HANDLE hThread, const CONTEXT* ctx, enum cpu_addr ca, ADDRESS64* addr) { - switch (ca) + addr->Mode = AddrModeFlat; + addr->Segment = 0; /* don't need segment */ + switch (ca) { - case cpu_addr_pc: - case cpu_addr_stack: - case cpu_addr_frame: - default: - FIXME("not done for ARM\n"); +#ifdef __arm__ + case cpu_addr_pc: addr->Offset = ctx->Pc; return TRUE; + case cpu_addr_stack: addr->Offset = ctx->Sp; return TRUE; + case cpu_addr_frame: addr->Offset = ctx->Fp; return TRUE; +#endif + default: addr->Mode = -1; + return FALSE; } - return FALSE; } static BOOL arm_stack_walk(struct cpu_stack_walk* csw, LPSTACKFRAME64 frame, CONTEXT* context) -- 2.11.4.GIT