From 756186e70866e186ea601d8d1ea74e2fa38ab236 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 24 Jun 2000 07:19:56 +0000 Subject: Update. 2000-06-24 Ulrich Drepper * 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. --- ChangeLog | 10 +++++ elf/elf.h | 1 + sysdeps/unix/sysv/linux/i386/sys/elf.h | 3 +- sysdeps/unix/sysv/linux/i386/sys/user.h | 73 ++++++++++++++++++++------------- 4 files changed, 58 insertions(+), 29 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8bd984a368..3ea6906b56 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2000-06-24 Ulrich Drepper + + * 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 * sysdeps/unix/sysv/linux/sys/ptrace.h (__ptrace_request): Define diff --git a/elf/elf.h b/elf/elf.h index d94f03b652..2005bdcf63 100644 --- a/elf/elf.h +++ b/elf/elf.h @@ -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. */ 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]; }; -- cgit 1.4.1