diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2012-05-16 10:18:30 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2012-05-16 10:18:30 -0700 |
commit | 13dc9eac616b866ff19098c971dd46e29d0ba30b (patch) | |
tree | 23510c3c4b4c632b014c6eb4ee6dd071ce01e1a3 /sysdeps | |
parent | a7895d159fbe2cda386ed4faa7be5661f24f76f7 (diff) | |
download | glibc-13dc9eac616b866ff19098c971dd46e29d0ba30b.tar.gz glibc-13dc9eac616b866ff19098c971dd46e29d0ba30b.tar.xz glibc-13dc9eac616b866ff19098c971dd46e29d0ba30b.zip |
Add uintptr_t cast to GET_PC/GET_FRAME/GET_STACK
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h | 13 |
1 files changed, 9 insertions, 4 deletions
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)) |