fixup mcontext stuff to expost gregset_t/fpregset_t as appropriate
This commit is contained in:
parent
4b75f4ed8d
commit
a8da6c2f28
8 changed files with 35 additions and 12 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue