From ac7f0fac2f34d4eed1f05e9d20f236149711ff87 Mon Sep 17 00:00:00 2001
From: Philipp Matthias Schaefer <philipp.matthias.schaefer@posteo.de>
Date: Sat, 7 May 2016 15:26:38 +0200
Subject: [PATCH] Refine defininition of mcontext_t on x86-x64.

---
 src/unix/notbsd/linux/other/b64/x86_64.rs | 29 ++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/src/unix/notbsd/linux/other/b64/x86_64.rs b/src/unix/notbsd/linux/other/b64/x86_64.rs
index 6903c627..7103267d 100644
--- a/src/unix/notbsd/linux/other/b64/x86_64.rs
+++ b/src/unix/notbsd/linux/other/b64/x86_64.rs
@@ -4,6 +4,7 @@ pub type c_char = i8;
 pub type wchar_t = i32;
 pub type nlink_t = u64;
 pub type blksize_t = i64;
+pub type greg_t = i64;
 
 s! {
     pub struct stat {
@@ -52,8 +53,34 @@ s! {
         __size: [u64; 7]
     }
 
+    pub struct _libc_fpxreg {
+        pub significand: [u16; 4],
+        pub exponent: u16,
+        __private: [u16; 3],
+    }
+
+    pub struct _libc_xmmreg {
+        pub element: [u32; 4],
+    }
+
+    pub struct _libc_fpstate {
+        pub cwd: u16,
+        pub swd: u16,
+        pub ftw: u16,
+        pub fop: u16,
+        pub rip: u64,
+        pub rdp: u64,
+        pub mxcsr: u32,
+        pub mxcr_mask: u32,
+        pub _st: [_libc_fpxreg; 8],
+        pub _xmm: [_libc_xmmreg; 16],
+        __private: [u64; 12],
+    }
+
     pub struct mcontext_t {
-        __private: [u64; 32],
+        pub gregs: [greg_t; 23],
+        pub fpregs: *mut _libc_fpstate,
+        __private: [u64; 8],
     }
 
     pub struct ucontext_t {
-- 
GitLab