]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Add uintptr_t cast to GET_PC/GET_FRAME/GET_STACK
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 16 May 2012 17:18:30 +0000 (10:18 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 16 May 2012 17:18:30 +0000 (10:18 -0700)
ChangeLog
sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h

index 13e79258b8e3277fd3518e86771dcc3ca8ffd612..7210511a4d2a985afcc8e8017c27a73f4344f9b1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h: Include
+       <stdint.h>.
+       (GET_PC): Cast to uintptr_t first.
+       (GET_FRAME): Likewise.
+       (GET_STACK): Likewise.
+
 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
 
        * sysdeps/unix/sysv/linux/x86_64/x32/alphasort.c: New file.
index 1c4b892408de9ab4ca309f2c3f54a3e32c065b57..f122702e24ce0822bf8747611edf0ba96aa6e94d 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2002, 2003, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <stdint.h>
+
 #define SIGCONTEXT siginfo_t *_si, struct ucontext *
 #define SIGCONTEXT_EXTRA_ARGS _si,
-#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 GET_PC(ctx)    \
+  ((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RIP])
+#define GET_FRAME(ctx) \
+  ((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RBP])
+#define GET_STACK(ctx) \
+  ((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RSP])
 
 #define CALL_SIGHANDLER(handler, signo, ctx) \
   (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))