about summary refs log tree commit diff
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))