summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/i386
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386')
-rw-r--r--sysdeps/unix/sysv/linux/i386/sys/elf.h3
-rw-r--r--sysdeps/unix/sysv/linux/i386/sys/user.h73
2 files changed, 47 insertions, 29 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/sys/elf.h b/sysdeps/unix/sysv/linux/i386/sys/elf.h
index 68ed3eeed0..1590ec5186 100644
--- a/sysdeps/unix/sysv/linux/i386/sys/elf.h
+++ b/sysdeps/unix/sysv/linux/i386/sys/elf.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -31,6 +31,7 @@ typedef unsigned long elf_greg_t;
 typedef elf_greg_t elf_gregset_t[ELF_NGREG];
 
 typedef struct user_fpregs_struct elf_fpregset_t;
+typedef struct user_fpxregs_struct elf_fpxregset_t;
 
 #define USE_ELF_CORE_DUMP
 #define ELF_EXEC_PAGESIZE	4096
diff --git a/sysdeps/unix/sysv/linux/i386/sys/user.h b/sysdeps/unix/sysv/linux/i386/sys/user.h
index 4ab02a7406..884402a6de 100644
--- a/sysdeps/unix/sysv/linux/i386/sys/user.h
+++ b/sysdeps/unix/sysv/linux/i386/sys/user.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,35 +25,52 @@
 
 struct user_fpregs_struct
 {
-  long cwd;
-  long swd;
-  long twd;
-  long fip;
-  long fcs;
-  long foo;
-  long fos;
-  long st_space [20];
+  long int cwd;
+  long int swd;
+  long int twd;
+  long int fip;
+  long int fcs;
+  long int foo;
+  long int fos;
+  long int st_space [20];
+};
+
+struct user_fpxregs_struct
+{
+  unsigned short int cwd;
+  unsigned short int swd;
+  unsigned short int twd;
+  unsigned short int fop;
+  long int fip;
+  long int fcs;
+  long int foo;
+  long int fos;
+  long int mxcsr;
+  long int reserved;
+  long int st_space[32];   /* 8*16 bytes for each FP-reg = 128 bytes */
+  long int xmm_space[32];  /* 8*16 bytes for each XMM-reg = 128 bytes */
+  long int padding[56];
 };
 
 struct user_regs_struct
 {
-  long ebx;
-  long ecx;
-  long edx;
-  long esi;
-  long edi;
-  long ebp;
-  long eax;
-  long xds;
-  long xes;
-  long xfs;
-  long xgs;
-  long orig_eax;
-  long eip;
-  long xcs;
-  long eflags;
-  long esp;
-  long xss;
+  long int ebx;
+  long int ecx;
+  long int edx;
+  long int esi;
+  long int edi;
+  long int ebp;
+  long int eax;
+  long int xds;
+  long int xes;
+  long int xfs;
+  long int xgs;
+  long int orig_eax;
+  long int eip;
+  long int xcs;
+  long int eflags;
+  long int esp;
+  long int xss;
 };
 
 struct user
@@ -61,7 +78,7 @@ struct user
   struct user_regs_struct	regs;
   int				u_fpvalid;
   struct user_fpregs_struct	i387;
-  unsigned long			int u_tsize;
+  unsigned long int		u_tsize;
   unsigned long int		u_dsize;
   unsigned long int		u_ssize;
   unsigned long			start_code;
@@ -70,7 +87,7 @@ struct user
   int				reserved;
   struct user_regs_struct*	u_ar0;
   struct user_fpregs_struct*	u_fpstate;
-  unsigned long			magic;
+  unsigned long int		magic;
   char				u_comm [32];
   int				u_debugreg [8];
 };