dbghelp: Implement sparc_map_dwarf_register
André Hentschel
nerv at dawncrow.de
Thu Apr 21 12:15:14 CDT 2011
---
dlls/dbghelp/cpu_sparc.c | 6 ++++--
include/cvconst.h | 13 +++++++++++++
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/dlls/dbghelp/cpu_sparc.c b/dlls/dbghelp/cpu_sparc.c
index 6a788b9..2a31532 100644
--- a/dlls/dbghelp/cpu_sparc.c
+++ b/dlls/dbghelp/cpu_sparc.c
@@ -54,8 +54,10 @@ static BOOL sparc_stack_walk(struct cpu_stack_walk* csw, LPSTACKFRAME64 frame, C
static unsigned sparc_map_dwarf_register(unsigned regno)
{
- FIXME("not done for Sparc\n");
- return 0;
+ if (regno < 32) return CV_SPARC_G0 + regno;
+
+ FIXME("Don't know how to map register %d\n", regno);
+ return CV_SPARC_NOREG;
}
static void* sparc_fetch_context_reg(CONTEXT* ctx, unsigned regno, unsigned* size)
diff --git a/include/cvconst.h b/include/cvconst.h
index d05c99b..35be0fa 100644
--- a/include/cvconst.h
+++ b/include/cvconst.h
@@ -530,6 +530,19 @@ enum CV_HREG_e
CV_AMD64_R13 = 341,
CV_AMD64_R14 = 342,
CV_AMD64_R15 = 343,
+
+ /* Wine extension */
+ CV_SPARC_NOREG = CV_REG_NONE,
+ CV_SPARC_G0 = 10, /* includes g0 to g7 */
+ CV_SPARC_O0 = 18, /* includes o0 to o7 */
+ CV_SPARC_l0 = 26, /* includes g0 to g7 */
+ CV_SPARC_i0 = 34, /* includes o0 to o7 */
+ CV_SPARC_PSR = 42,
+ CV_SPARC_PC = 43,
+ CV_SPARC_NPC = 44,
+ CV_SPARC_Y = 45,
+ CV_SPARC_WIM = 46,
+ CV_SPARC_TBR = 47,
};
typedef enum
--
Best Regards, André Hentschel
More information about the wine-patches
mailing list