diff options
author | Rich Felker <dalias@aerifal.cx> | 2012-11-25 23:04:23 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2012-11-25 23:04:23 -0500 |
commit | a8da6c2f287037cbacc65578a268f355760eaf8e (patch) | |
tree | e325def382b70f767adfa8ac844ee899936eacf4 /arch/x86_64/bits/signal.h | |
parent | 4b75f4ed8d08b26d4bf2ac96191b395218ad888e (diff) | |
download | musl-a8da6c2f287037cbacc65578a268f355760eaf8e.tar.gz |
fixup mcontext stuff to expost gregset_t/fpregset_t as appropriate
Diffstat (limited to 'arch/x86_64/bits/signal.h')
-rw-r--r-- | arch/x86_64/bits/signal.h | 9 |
1 files changed, 5 insertions, 4 deletions
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 |