summaryrefslogtreecommitdiffstats
path: root/runtime/current.c
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/current.c')
-rw-r--r--runtime/current.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/runtime/current.c b/runtime/current.c
index 4485ef2c..82ab400e 100644
--- a/runtime/current.c
+++ b/runtime/current.c
@@ -21,12 +21,17 @@
unsigned long _stp_ret_addr (struct pt_regs *regs)
{
- unsigned long *ra = (unsigned long *)REG_SP(regs);
-
+#ifdef __x86_64__
+ unsigned long *ra = (unsigned long *)regs->rsp;
if (ra)
return *ra;
else
return 0;
+#elif defined (__i386__)
+ return regs->esp;
+#else
+ #error Unimplemented architecture
+#endif
}
#ifdef __x86_64__