|| 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;
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;
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