From a8da6c2f287037cbacc65578a268f355760eaf8e Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sun, 25 Nov 2012 23:04:23 -0500 Subject: fixup mcontext stuff to expost gregset_t/fpregset_t as appropriate --- arch/x86_64/bits/signal.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'arch/x86_64') diff --git a/arch/x86_64/bits/signal.h b/arch/x86_64/bits/signal.h index 38f3bc42..9043aeaf 100644 --- a/arch/x86_64/bits/signal.h +++ b/arch/x86_64/bits/signal.h @@ -2,7 +2,8 @@ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -struct _fpstate { +typedef long long greg_t, gregset_t[23]; +typedef struct _fpstate { unsigned short cwd, swd, ftw, fop; unsigned long long rip, rdp; unsigned mxcsr, mxcr_mask; @@ -13,7 +14,7 @@ struct _fpstate { unsigned element[4]; } _xmm[16]; unsigned padding[24]; -}; +} *fpregset_t; struct sigcontext { unsigned long r8, r9, r10, r11, r12, r13, r14, r15; unsigned long rdi, rsi, rbp, rbx, rdx, rax, rcx, rsp, rip, eflags; @@ -23,8 +24,8 @@ struct sigcontext { unsigned long __reserved1[8]; }; typedef struct { - unsigned long long gregs[23]; - struct _fpstate *fpregs; + gregset_t gregs; + fpregset_t fpregs; unsigned long long __reserved1[8]; } mcontext_t; #else -- cgit v1.2.1