mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-30 14:31:14 +00:00
87 lines
2.1 KiB
C
87 lines
2.1 KiB
C
|
/* Copyright (C) 1998 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
|
||
|
modify it under the terms of the GNU Library General Public License as
|
||
|
published by the Free Software Foundation; either version 2 of the
|
||
|
License, or (at your option) any later version.
|
||
|
|
||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||
|
Library General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU Library General Public
|
||
|
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||
|
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||
|
Boston, MA 02111-1307, USA. */
|
||
|
|
||
|
#ifndef _SYS_USER_H
|
||
|
#define _SYS_USER_H 1
|
||
|
|
||
|
/* The whole purpose of this file is for gdb and gdb only. Don't read
|
||
|
too much into it. Don't use it for anything other than gdb unless
|
||
|
you know what you are doing. */
|
||
|
|
||
|
struct user_fpregs_struct
|
||
|
{
|
||
|
long cwd;
|
||
|
long swd;
|
||
|
long twd;
|
||
|
long fip;
|
||
|
long fcs;
|
||
|
long foo;
|
||
|
long fos;
|
||
|
long st_space [20];
|
||
|
};
|
||
|
|
||
|
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;
|
||
|
};
|
||
|
|
||
|
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 magic;
|
||
|
char u_comm [32];
|
||
|
int u_debugreg [8];
|
||
|
};
|
||
|
|
||
|
#define PAGE_SHIFT 12
|
||
|
#define PAGE_SIZE (1UL << PAGE_SHIFT)
|
||
|
#define PAGE_MASK (~(PAGE_SIZE-1))
|
||
|
#define NBPG PAGE_SIZE
|
||
|
#define UPAGES 1
|
||
|
#define HOST_TEXT_START_ADDR (u.start_code)
|
||
|
#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
|
||
|
|
||
|
#endif /* _SYS_USER_H */
|