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.
This commit is contained in:
parent
99bd22d637
commit
e6676ca35f
|
@ -1,5 +1,11 @@
|
||||||
2000-02-19 Ulrich Drepper <drepper@redhat.com>
|
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
|
* sysdeps/unix/sysv/linux/i386/sys/ucontext.h: Make fpregset_t
|
||||||
definition compatible with definition in 2.1.2 and before.
|
definition compatible with definition in 2.1.2 and before.
|
||||||
(struct ucontext): Use fpregset_t.
|
(struct ucontext): Use fpregset_t.
|
||||||
|
|
|
@ -26,6 +26,10 @@
|
||||||
included in <signal.h>. */
|
included in <signal.h>. */
|
||||||
#include <bits/sigcontext.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. */
|
/* Type for general register. */
|
||||||
typedef int greg_t;
|
typedef int greg_t;
|
||||||
|
@ -81,8 +85,28 @@ enum
|
||||||
};
|
};
|
||||||
#endif
|
#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. */
|
/* Structure to describe FPU registers. */
|
||||||
typedef struct user_fpregs_struct fpregset_t;
|
typedef struct _fpstate *fpregset_t;
|
||||||
|
|
||||||
/* Context to describe whole processor state. */
|
/* Context to describe whole processor state. */
|
||||||
typedef struct
|
typedef struct
|
||||||
|
@ -103,7 +127,7 @@ typedef struct ucontext
|
||||||
stack_t uc_stack;
|
stack_t uc_stack;
|
||||||
mcontext_t uc_mcontext;
|
mcontext_t uc_mcontext;
|
||||||
__sigset_t uc_sigmask;
|
__sigset_t uc_sigmask;
|
||||||
fpregset_t __fpregs_mem;
|
struct _fpstate __fpregs_mem;
|
||||||
} ucontext_t;
|
} ucontext_t;
|
||||||
|
|
||||||
#endif /* sys/ucontext.h */
|
#endif /* sys/ucontext.h */
|
||||||
|
|
Loading…
Reference in New Issue