mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
2.5-18.1
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2000 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 2000,2005 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
|
||||
@ -19,6 +19,65 @@
|
||||
#ifndef _SYS_USER_H
|
||||
#define _SYS_USER_H 1
|
||||
|
||||
#include <asm/user.h>
|
||||
/* 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_psw_struct
|
||||
{
|
||||
unsigned long mask;
|
||||
unsigned long addr;
|
||||
};
|
||||
|
||||
struct _user_fpregs_struct
|
||||
{
|
||||
unsigned int fpc;
|
||||
double fprs[16];
|
||||
};
|
||||
|
||||
struct _user_per_struct
|
||||
{
|
||||
unsigned long control_regs[3];
|
||||
unsigned single_step : 1;
|
||||
unsigned instruction_fetch : 1;
|
||||
unsigned : 30;
|
||||
unsigned long starting_addr;
|
||||
unsigned long ending_addr;
|
||||
unsigned short perc_atmid;
|
||||
unsigned long address;
|
||||
unsigned char access_id;
|
||||
};
|
||||
|
||||
struct _user_regs_struct
|
||||
{
|
||||
struct _user_psw_struct psw; /* Program status word. */
|
||||
unsigned long gprs[16]; /* General purpose registers. */
|
||||
unsigned int acrs[16]; /* Access registers. */
|
||||
unsigned long orig_gpr2; /* Original gpr2. */
|
||||
struct _user_fpregs_struct fp_regs; /* Floating point registers. */
|
||||
struct _user_per_struct per_info; /* Hardware tracing registers. */
|
||||
unsigned long ieee_instruction_pointer;
|
||||
};
|
||||
|
||||
struct user {
|
||||
struct _user_regs_struct regs; /* User registers. */
|
||||
unsigned long int u_tsize; /* Text segment size (pages). */
|
||||
unsigned long int u_dsize; /* Data segment size (pages). */
|
||||
unsigned long int u_ssize; /* Stack segment size (pages). */
|
||||
unsigned long start_code; /* Starting address of text. */
|
||||
unsigned long start_stack; /* Starting address of stack area. */
|
||||
long int signal; /* Signal causing the core dump. */
|
||||
struct _user_regs_struct *u_ar0; /* Help gdb find registers. */
|
||||
unsigned long magic; /* Identifies a core file. */
|
||||
char u_comm[32]; /* User command naem. */
|
||||
};
|
||||
|
||||
#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 */
|
||||
|
Reference in New Issue
Block a user