about summary refs log tree commit diff
path: root/arch/i386/bits/signal.h
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-11-25 23:04:23 -0500
committerRich Felker <dalias@aerifal.cx>2012-11-25 23:04:23 -0500
commita8da6c2f287037cbacc65578a268f355760eaf8e (patch)
treee325def382b70f767adfa8ac844ee899936eacf4 /arch/i386/bits/signal.h
parent4b75f4ed8d08b26d4bf2ac96191b395218ad888e (diff)
downloadmusl-a8da6c2f287037cbacc65578a268f355760eaf8e.tar.gz
musl-a8da6c2f287037cbacc65578a268f355760eaf8e.tar.xz
musl-a8da6c2f287037cbacc65578a268f355760eaf8e.zip
fixup mcontext stuff to expost gregset_t/fpregset_t as appropriate
Diffstat (limited to 'arch/i386/bits/signal.h')
-rw-r--r--arch/i386/bits/signal.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/i386/bits/signal.h b/arch/i386/bits/signal.h
index 3caadea2..29455aec 100644
--- a/arch/i386/bits/signal.h
+++ b/arch/i386/bits/signal.h
@@ -2,13 +2,14 @@
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 
 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
-struct _fpstate {
+typedef int greg_t, gregset_t[19];
+typedef struct _fpstate {
 	unsigned long cw, sw, tag, ipoff, cssel, dataoff, datasel;
 	struct {
 		unsigned short significand[4], exponent;
 	} _st[8];
 	unsigned long status;
-};
+} *fpregset_t;
 struct sigcontext {
 	unsigned short gs, __gsh, fs, __fsh, es, __esh, ds, __dsh;
 	unsigned long edi, esi, ebp, esp, ebx, edx, ecx, eax;
@@ -20,8 +21,8 @@ struct sigcontext {
 	unsigned long oldmask, cr2;
 };
 typedef struct {
-	unsigned gregs[19];
-	struct _fpstate *fpregs;
+	gregset_t gregs;
+	fpregset_t fpregs;
 	unsigned long oldmask, cr2;
 } mcontext_t;
 #else