diff options
-rw-r--r-- | tapset/ChangeLog | 5 | ||||
-rw-r--r-- | tapset/context.stp | 19 |
2 files changed, 21 insertions, 3 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog index 7dec4528..00171e6b 100644 --- a/tapset/ChangeLog +++ b/tapset/ChangeLog @@ -1,3 +1,8 @@ +2006-02-21 Martin Hunt <hunt@redhat.com> + + * context.stp: Fix definition of returnval(). Now the same as retval(). + Cleanup needed. Only one can survive. + 2006-02-17 Frank Ch. Eigler <fche@elastic.org> * context.stp (cpu): Clone undocumented cpuid() function. diff --git a/tapset/context.stp b/tapset/context.stp index 98571d9e..a93b36b3 100644 --- a/tapset/context.stp +++ b/tapset/context.stp @@ -113,7 +113,20 @@ function target:long () %{ %} function returnval:long () %{ - if (CONTEXT->regs) { - THIS->__retvalue = dwarf_register_0(CONTEXT->regs); - } + if (CONTEXT->regs) { +#if defined (__i386__) + THIS->__retvalue = CONTEXT->regs->eax; +#elif defined (__x86_64__) + THIS->__retvalue = CONTEXT->regs->rax; +#elif defined (__powerpc64__) + THIS->__retvalue = CONTEXT->regs->gpr[3]; +#elif defined (__ia64__) + THIS->__retvalue = CONTEXT->regs->r8; +#elif defined (__sparc64__) + THIS->__retvalue = CONTEXT->regs->u_regs[UREG_RETPC]; +#else + THIS->__retvalue = -1; +#endif + } else + THIS->__retvalue = -1; %} |