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.
This commit is contained in:
Ulrich Drepper 2000-06-24 07:19:56 +00:00
parent 64f022a4b9
commit 756186e708
4 changed files with 58 additions and 29 deletions

View file

@ -1,3 +1,13 @@
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

View file

@ -543,6 +543,7 @@ typedef struct
#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. */

View file

@ -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

View file

@ -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];
};