Add uintptr_t cast to GET_PC/GET_FRAME/GET_STACK

This commit is contained in:
H.J. Lu 2012-05-16 10:18:30 -07:00
parent a7895d159f
commit 13dc9eac61
2 changed files with 17 additions and 4 deletions

View File

@ -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.

View 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
@ -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))