about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-06-04 12:40:46 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-06-04 12:40:46 -0700
commit14adcbfc36fbec33594635a8d93834149cb8a8fa (patch)
treebd7a3a065c3ebaf7b6a635a601771339be16306f /sysdeps
parent68e408ab5da38218efe2521ec089d8c61d5789ad (diff)
downloadglibc-14adcbfc36fbec33594635a8d93834149cb8a8fa.tar.gz
glibc-14adcbfc36fbec33594635a8d93834149cb8a8fa.tar.xz
glibc-14adcbfc36fbec33594635a8d93834149cb8a8fa.zip
Update x86_64 bits/sigcontext.h from kernel 3.4.0
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h b/sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h
index d9ba716bc4..06f36cba4a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h
+++ b/sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h
@@ -22,6 +22,19 @@
 # error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
 #endif
 
+#define FP_XSTATE_MAGIC1	0x46505853U
+#define FP_XSTATE_MAGIC2	0x46505845U
+#define FP_XSTATE_MAGIC2_SIZE	sizeof(FP_XSTATE_MAGIC2)
+
+struct _fpx_sw_bytes
+{
+  __uint32_t magic1;
+  __uint32_t extended_size;
+  __uint64_t xstate_bv;
+  __uint32_t xstate_size;
+  __uint32_t padding[7];
+};
+
 struct _fpreg
 {
   unsigned short significand[4];
@@ -75,6 +88,8 @@ struct _fpstate
 # define sigcontext_struct sigcontext
 #endif
 
+#define X86_FXSR_MAGIC		0x0000
+
 struct sigcontext
 {
   unsigned short gs, __gsh;
@@ -157,4 +172,23 @@ struct sigcontext
 
 #endif /* __x86_64__ */
 
+struct _xsave_hdr
+{
+  __uint64_t xstate_bv;
+  __uint64_t reserved1[2];
+  __uint64_t reserved2[5];
+};
+
+struct _ymmh_state
+{
+  __uint32_t ymmh_space[64];
+};
+
+struct _xstate
+{
+  struct _fpstate fpstate;
+  struct _xsave_hdr xstate_hdr;
+  struct _ymmh_state ymmh;
+};
+
 #endif /* _BITS_SIGCONTEXT_H */