diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h')
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h index d174c9e779..8430dbcbe1 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h @@ -17,13 +17,25 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +struct __rt_signal_frame { + siginfo_t sf_info; + struct pt_regs sf_regs; + __siginfo_fpu_t *fpu_save; + struct { + void *ss_sp; + int ss_flags; + size_t ss_size; + } sf_stack; + unsigned long sf_mask; +}; + #ifndef STACK_BIAS #define STACK_BIAS 2047 #endif -#define SIGCONTEXT __siginfo_t * -#define GET_PC(__ctx) ((void *) ((__ctx)->si_regs.tpc)) +#define SIGCONTEXT struct __rt_signal_frame * +#define GET_PC(__ctx) ((void *) ((__ctx)->sf_regs.tpc)) #define ADVANCE_STACK_FRAME(__next) \ ((void *) &((struct reg_window *) (((unsigned long int) (__next)) \ + STACK_BIAS))->ins[6]) -#define GET_STACK(__ctx) ((void *) ((__ctx)->si_regs.u_regs[14])) +#define GET_STACK(__ctx) ((void *) ((__ctx)->sf_regs.u_regs[14])) #define GET_FRAME(__ctx) ADVANCE_STACK_FRAME (GET_STACK (__ctx)) |