mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 05:20:06 +00:00
Update.
2002-03-20 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct user_fpregs_struct): Fix for changed kernel struct. (struct user_regs_struct): Likewise. (struct user): Likewise. Add 32-bit x86 compatibility. * sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Add more registers.
This commit is contained in:
parent
6340375b03
commit
cb50c2187f
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
|||||||
|
2002-03-20 Andreas Jaeger <aj@suse.de>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/x86_64/sys/user.h (struct
|
||||||
|
user_fpregs_struct): Fix for changed kernel struct.
|
||||||
|
(struct user_regs_struct): Likewise.
|
||||||
|
(struct user): Likewise.
|
||||||
|
Add 32-bit x86 compatibility.
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Add more registers.
|
||||||
|
|
||||||
2002-03-19 Andreas Jaeger <aj@suse.de>
|
2002-03-19 Andreas Jaeger <aj@suse.de>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/x86_64/bits/types.h: Cleanup x86 types.
|
* sysdeps/unix/sysv/linux/x86_64/bits/types.h: Cleanup x86 types.
|
||||||
|
@ -46,6 +46,12 @@
|
|||||||
# define EFLAGS 18
|
# define EFLAGS 18
|
||||||
# define RSP 19
|
# define RSP 19
|
||||||
# define SS 20
|
# define SS 20
|
||||||
|
# define FS_BASE 21
|
||||||
|
# define GS_BASE 22
|
||||||
|
# define DS 23
|
||||||
|
# define ES 24
|
||||||
|
# define FS 25
|
||||||
|
# define GS 26
|
||||||
#else
|
#else
|
||||||
|
|
||||||
/* Index into an array of 4 byte integers returned from ptrace for
|
/* Index into an array of 4 byte integers returned from ptrace for
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 2001 Free Software Foundation, Inc.
|
/* Copyright (C) 2001, 2002 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
|
||||||
@ -23,21 +23,23 @@
|
|||||||
too much into it. Don't use it for anything other than GDB unless
|
too much into it. Don't use it for anything other than GDB unless
|
||||||
you know what you are doing. */
|
you know what you are doing. */
|
||||||
|
|
||||||
|
#include <bits/wordsize.h>
|
||||||
|
|
||||||
|
#if __WORDSIZE == 64
|
||||||
|
|
||||||
struct user_fpregs_struct
|
struct user_fpregs_struct
|
||||||
{
|
{
|
||||||
unsigned short int cwd;
|
unsigned short int cwd;
|
||||||
unsigned short int swd;
|
unsigned short int swd;
|
||||||
unsigned short int twd;
|
unsigned short int twd;
|
||||||
unsigned short int fop;
|
unsigned short int fop;
|
||||||
unsigned int fip;
|
unsigned long int frip;
|
||||||
unsigned int fcs;
|
unsigned long int frdp;
|
||||||
unsigned int foo;
|
|
||||||
unsigned int fos;
|
|
||||||
unsigned int mxcsr;
|
unsigned int mxcsr;
|
||||||
unsigned int reserved;
|
unsigned int reserved;
|
||||||
unsigned int st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */
|
unsigned int st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */
|
||||||
unsigned int xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */
|
unsigned int xmm_space[64]; /* 16*16 bytes for each XMM-reg = 128 bytes */
|
||||||
unsigned int padding[56];
|
unsigned int padding[24];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct user_regs_struct
|
struct user_regs_struct
|
||||||
@ -64,7 +66,82 @@ struct user_regs_struct
|
|||||||
unsigned long rsp;
|
unsigned long rsp;
|
||||||
unsigned long ss;
|
unsigned long ss;
|
||||||
unsigned long fs_base;
|
unsigned long fs_base;
|
||||||
unsigned long kernel_gs_base;
|
unsigned long gs_base;
|
||||||
|
unsigned long ds;
|
||||||
|
unsigned long es;
|
||||||
|
unsigned long fs;
|
||||||
|
unsigned long gs;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct user
|
||||||
|
{
|
||||||
|
struct user_regs_struct regs;
|
||||||
|
int u_fpvalid;
|
||||||
|
struct user_fpregs_struct i387;
|
||||||
|
unsigned long int u_tsize;
|
||||||
|
unsigned long int u_dsize;
|
||||||
|
unsigned long int u_ssize;
|
||||||
|
unsigned long start_code;
|
||||||
|
unsigned long start_stack;
|
||||||
|
long int signal;
|
||||||
|
int reserved;
|
||||||
|
struct user_regs_struct* u_ar0;
|
||||||
|
struct user_fpregs_struct* u_fpstate;
|
||||||
|
unsigned long int magic;
|
||||||
|
char u_comm [32];
|
||||||
|
unsigned long int u_debugreg [8];
|
||||||
|
};
|
||||||
|
|
||||||
|
#else
|
||||||
|
/* These are the 32-bit x86 structures. */
|
||||||
|
struct user_fpregs_struct
|
||||||
|
{
|
||||||
|
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 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
|
struct user
|
||||||
@ -85,6 +162,7 @@ struct user
|
|||||||
char u_comm [32];
|
char u_comm [32];
|
||||||
int u_debugreg [8];
|
int u_debugreg [8];
|
||||||
};
|
};
|
||||||
|
#endif /* __WORDSIZE */
|
||||||
|
|
||||||
#define PAGE_SHIFT 12
|
#define PAGE_SHIFT 12
|
||||||
#define PAGE_SIZE (1UL << PAGE_SHIFT)
|
#define PAGE_SIZE (1UL << PAGE_SHIFT)
|
||||||
|
Loading…
Reference in New Issue
Block a user