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> 2000-06-23 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/sys/ptrace.h (__ptrace_request): Define * 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_UTSNAME 15 /* Contains copy of utsname struct */
#define NT_LWPSTATUS 16 /* Contains copy of lwpstatus struct */ #define NT_LWPSTATUS 16 /* Contains copy of lwpstatus struct */
#define NT_LWPSINFO 17 /* Contains copy of lwpinfo 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. */ /* 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or 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 elf_greg_t elf_gregset_t[ELF_NGREG];
typedef struct user_fpregs_struct elf_fpregset_t; typedef struct user_fpregs_struct elf_fpregset_t;
typedef struct user_fpxregs_struct elf_fpxregset_t;
#define USE_ELF_CORE_DUMP #define USE_ELF_CORE_DUMP
#define ELF_EXEC_PAGESIZE 4096 #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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -25,35 +25,52 @@
struct user_fpregs_struct struct user_fpregs_struct
{ {
long cwd; long int cwd;
long swd; long int swd;
long twd; long int twd;
long fip; long int fip;
long fcs; long int fcs;
long foo; long int foo;
long fos; long int fos;
long st_space [20]; 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 struct user_regs_struct
{ {
long ebx; long int ebx;
long ecx; long int ecx;
long edx; long int edx;
long esi; long int esi;
long edi; long int edi;
long ebp; long int ebp;
long eax; long int eax;
long xds; long int xds;
long xes; long int xes;
long xfs; long int xfs;
long xgs; long int xgs;
long orig_eax; long int orig_eax;
long eip; long int eip;
long xcs; long int xcs;
long eflags; long int eflags;
long esp; long int esp;
long xss; long int xss;
}; };
struct user struct user
@ -61,7 +78,7 @@ struct user
struct user_regs_struct regs; struct user_regs_struct regs;
int u_fpvalid; int u_fpvalid;
struct user_fpregs_struct i387; struct user_fpregs_struct i387;
unsigned long int u_tsize; unsigned long int u_tsize;
unsigned long int u_dsize; unsigned long int u_dsize;
unsigned long int u_ssize; unsigned long int u_ssize;
unsigned long start_code; unsigned long start_code;
@ -70,7 +87,7 @@ struct user
int reserved; int reserved;
struct user_regs_struct* u_ar0; struct user_regs_struct* u_ar0;
struct user_fpregs_struct* u_fpstate; struct user_fpregs_struct* u_fpstate;
unsigned long magic; unsigned long int magic;
char u_comm [32]; char u_comm [32];
int u_debugreg [8]; int u_debugreg [8];
}; };