diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-02-20 02:50:41 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-02-20 02:50:41 +0000 |
commit | e6676ca35f6f6aeab0e1791f2dc9280979765bef (patch) | |
tree | 5af89f53a9659febb8d1777b737c7c9cc4814312 | |
parent | 99bd22d637df063f913d3a232c494985b0f87bcb (diff) | |
download | glibc-e6676ca35f6f6aeab0e1791f2dc9280979765bef.zip glibc-e6676ca35f6f6aeab0e1791f2dc9280979765bef.tar.gz glibc-e6676ca35f6f6aeab0e1791f2dc9280979765bef.tar.bz2 |
Update.
* sysdeps/unix/sysv/linux/i386/sys/ucontext.h: Add definition of
_fpreg and _fpstate and use it to define fpregset_t.
* sysdeps/unix/sysv/linux/i386/sys/procfs.h (prgregset_t): Define
using elf_gregset_t.
(prfpregset_t): Define using elf_fpregset_t.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/sys/ucontext.h | 28 |
2 files changed, 32 insertions, 2 deletions
@@ -1,5 +1,11 @@ 2000-02-19 Ulrich Drepper <drepper@redhat.com> + * sysdeps/unix/sysv/linux/i386/sys/ucontext.h: Add definition of + _fpreg and _fpstate and use it to define fpregset_t. + * sysdeps/unix/sysv/linux/i386/sys/procfs.h (prgregset_t): Define + using elf_gregset_t. + (prfpregset_t): Define using elf_fpregset_t. + * sysdeps/unix/sysv/linux/i386/sys/ucontext.h: Make fpregset_t definition compatible with definition in 2.1.2 and before. (struct ucontext): Use fpregset_t. diff --git a/sysdeps/unix/sysv/linux/i386/sys/ucontext.h b/sysdeps/unix/sysv/linux/i386/sys/ucontext.h index c10e99f..c2a657b 100644 --- a/sysdeps/unix/sysv/linux/i386/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/i386/sys/ucontext.h @@ -26,6 +26,10 @@ included in <signal.h>. */ #include <bits/sigcontext.h> +/* We also need the definition of the userlevel data representation + for the register contexts. */ +#include <sys/user.h> + /* Type for general register. */ typedef int greg_t; @@ -81,8 +85,28 @@ enum }; #endif +/* Definitions taken from the kernel headers. */ +struct _fpreg +{ + unsigned short int significand[4]; + unsigned short int exponent; +}; + +struct _fpstate +{ + unsigned long int cw; + unsigned long int sw; + unsigned long int tag; + unsigned long int ipoff; + unsigned long int cssel; + unsigned long int dataoff; + unsigned long int datasel; + struct _fpreg _st[8]; + unsigned long int status; +}; + /* Structure to describe FPU registers. */ -typedef struct user_fpregs_struct fpregset_t; +typedef struct _fpstate *fpregset_t; /* Context to describe whole processor state. */ typedef struct @@ -103,7 +127,7 @@ typedef struct ucontext stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; - fpregset_t __fpregs_mem; + struct _fpstate __fpregs_mem; } ucontext_t; #endif /* sys/ucontext.h */ |