André Hentschel : dbghelp: Implement sparc_get_addr.
Alexandre Julliard
julliard at winehq.org
Thu Apr 14 11:58:20 CDT 2011
Module: wine
Branch: master
Commit: f2fc5e6e175ce1132a1d6ecce0099398df75cdd2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f2fc5e6e175ce1132a1d6ecce0099398df75cdd2
Author: André Hentschel <nerv at dawncrow.de>
Date: Wed Apr 13 20:43:37 2011 +0200
dbghelp: Implement sparc_get_addr.
---
dlls/dbghelp/cpu_sparc.c | 17 ++++++++++-------
1 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/dlls/dbghelp/cpu_sparc.c b/dlls/dbghelp/cpu_sparc.c
index 1de9436..6a788b9 100644
--- a/dlls/dbghelp/cpu_sparc.c
+++ b/dlls/dbghelp/cpu_sparc.c
@@ -32,15 +32,18 @@ WINE_DEFAULT_DEBUG_CHANNEL(dbghelp);
static unsigned sparc_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 Sparc\n");
+#ifdef __sparc__
+ case cpu_addr_pc: addr->Offset = ctx->pc; return TRUE;
+ case cpu_addr_stack: addr->Offset = ctx->o6; return TRUE;
+ case cpu_addr_frame: addr->Offset = ctx->i6; return TRUE;
+#endif
+ default: addr->Mode = -1;
+ return FALSE;
}
- return FALSE;
}
static BOOL sparc_stack_walk(struct cpu_stack_walk* csw, LPSTACKFRAME64 frame, CONTEXT* context)
More information about the wine-cvs
mailing list