+2000-06-24 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/unix/sysv/linux/i386/sys/elf.h (elf_fpxregset_t):
+ Define.
+
+ * sysdeps/unix/sysv/linux/i386/sys/user.h (struct
+ user_fpxregs_struct): Define.
+
+ * elf/elf.h (NT_PRFPXREG): Define.
+
2000-06-23 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/sys/ptrace.h (__ptrace_request): Define
#define NT_UTSNAME 15 /* Contains copy of utsname struct */
#define NT_LWPSTATUS 16 /* Contains copy of lwpstatus struct */
#define NT_LWPSINFO 17 /* Contains copy of lwpinfo struct */
+#define NT_PRFPXREG 20 /* Contains copy of fprxregset struct*/
/* Legal values for the note segment descriptor types for object files. */
-/* 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
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
-/* 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
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
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;
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];
};