summaryrefslogtreecommitdiffstats
path: root/tapset/context.stp
diff options
context:
space:
mode:
authorhunt <hunt>2006-02-21 08:15:19 +0000
committerhunt <hunt>2006-02-21 08:15:19 +0000
commit7934b76a4ce7cdcdd9de054db154e3da9dab7047 (patch)
tree91dc8a4839a8701e45f49c7918f128a048406d4c /tapset/context.stp
parent22154dcdc7bf035df8ad342f1d6f87c0e40e5b37 (diff)
downloadsystemtap-steved-7934b76a4ce7cdcdd9de054db154e3da9dab7047.tar.gz
systemtap-steved-7934b76a4ce7cdcdd9de054db154e3da9dab7047.tar.xz
systemtap-steved-7934b76a4ce7cdcdd9de054db154e3da9dab7047.zip
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.
Diffstat (limited to 'tapset/context.stp')
-rw-r--r--tapset/context.stp19
1 files changed, 16 insertions, 3 deletions
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;
%}