aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-05-16 10:18:30 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-05-16 10:18:30 -0700
commit13dc9eac616b866ff19098c971dd46e29d0ba30b (patch)
tree23510c3c4b4c632b014c6eb4ee6dd071ce01e1a3
parenta7895d159fbe2cda386ed4faa7be5661f24f76f7 (diff)
downloadglibc-13dc9eac616b866ff19098c971dd46e29d0ba30b.tar
glibc-13dc9eac616b866ff19098c971dd46e29d0ba30b.tar.gz
glibc-13dc9eac616b866ff19098c971dd46e29d0ba30b.tar.bz2
glibc-13dc9eac616b866ff19098c971dd46e29d0ba30b.zip
Add uintptr_t cast to GET_PC/GET_FRAME/GET_STACK
-rw-r--r--ChangeLog8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h13
2 files changed, 17 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 13e79258b8..7210511a4d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
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.
* sysdeps/unix/sysv/linux/x86_64/x32/alphasort64.c: Likewise.
* sysdeps/unix/sysv/linux/x86_64/x32/fseeko.c: Likewise.
diff --git a/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h b/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
index 1c4b892408..f122702e24 100644
--- a/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
@@ -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
@@ -15,11 +15,16 @@
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))