aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h b/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
index 3d566f9bc0..42b47edcb5 100644
--- a/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
@@ -16,11 +16,11 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define SIGCONTEXT struct sigcontext
+#define SIGCONTEXT struct ucontext
#define SIGCONTEXT_EXTRA_ARGS
-#define GET_PC(ctx) ((void *) ctx.rip)
-#define GET_FRAME(ctx) ((void *) ctx.rbp)
-#define GET_STACK(ctx) ((void *) ctx.rsp)
+#define GET_PC(ctx) ((void *) (ctx).uc_mcontext.gregs[REG_RIP])
+#define GET_FRAME(ctx) ((void *) (ctx).uc_mcontext.gregs[REG_RBP])
+#define GET_STACK(ctx) ((void *) (ctx).uc_mcontext.gregs[REG_RSP])
#define CALL_SIGHANDLER(handler, signo, ctx) \
(handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))