* alpha-nat.c (REGISTER_PTRACE_ADDR): Merge into ...
(register_addr): ... here. Support ALPHA_UNIQUE_REGNUM. (fetch_elf_core_registers): Support ALPHA_UNIQUE_REGNUM. * alpha-tdep.c (alpha_register_name): Add "unique". * alpha-tdep.h (ALPHA_NUM_REGS): Increment. (ALPHA_UNIQUE_REGNUM): New. * config/alpha/nm-linux.h (ALPHA_UNIQUE_PTRACE_ADDR): New.
This commit is contained in:
parent
c48861fb93
commit
87d1b352c8
5 changed files with 39 additions and 14 deletions
|
@ -1,3 +1,13 @@
|
|||
2003-01-31 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* alpha-nat.c (REGISTER_PTRACE_ADDR): Merge into ...
|
||||
(register_addr): ... here. Support ALPHA_UNIQUE_REGNUM.
|
||||
(fetch_elf_core_registers): Support ALPHA_UNIQUE_REGNUM.
|
||||
* alpha-tdep.c (alpha_register_name): Add "unique".
|
||||
* alpha-tdep.h (ALPHA_NUM_REGS): Increment.
|
||||
(ALPHA_UNIQUE_REGNUM): New.
|
||||
* config/alpha/nm-linux.h (ALPHA_UNIQUE_PTRACE_ADDR): New.
|
||||
|
||||
2003-01-31 Andrew Cagney <ac131313@redhat.com>
|
||||
|
||||
* README: Remove reference to Ericsson 1800 monitor.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* Low level Alpha interface, for GDB when running native.
|
||||
Copyright 1993, 1995, 1996, 1998, 1999, 2000, 2001
|
||||
Copyright 1993, 1995, 1996, 1998, 1999, 2000, 2001, 2003
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
@ -149,25 +149,36 @@ fetch_elf_core_registers (char *core_reg_sect, unsigned core_reg_size,
|
|||
memset (&deprecated_registers[REGISTER_BYTE (ALPHA_ZERO_REGNUM)], 0, 8);
|
||||
memset (&deprecated_register_valid[ALPHA_V0_REGNUM], 1, 32);
|
||||
deprecated_register_valid[PC_REGNUM] = 1;
|
||||
|
||||
if (core_reg_size >= 33 * 8)
|
||||
{
|
||||
memcpy (&deprecated_registers[REGISTER_BYTE (ALPHA_UNIQUE_REGNUM)],
|
||||
core_reg_sect + 32 * 8, 8);
|
||||
deprecated_register_valid[ALPHA_UNIQUE_REGNUM] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Map gdb internal register number to a ptrace ``address''.
|
||||
These ``addresses'' are defined in <sys/ptrace.h> */
|
||||
These ``addresses'' are defined in <sys/ptrace.h>, with
|
||||
the exception of ALPHA_UNIQUE_PTRACE_ADDR. */
|
||||
|
||||
#define REGISTER_PTRACE_ADDR(regno) \
|
||||
(regno < FP0_REGNUM ? GPR_BASE + (regno) \
|
||||
: regno == PC_REGNUM ? PC \
|
||||
: regno >= FP0_REGNUM ? FPR_BASE + ((regno) - FP0_REGNUM) \
|
||||
: 0)
|
||||
|
||||
/* Return the ptrace ``address'' of register REGNO. */
|
||||
#ifndef ALPHA_UNIQUE_PTRACE_ADDR
|
||||
#define ALPHA_UNIQUE_PTRACE_ADDR 0
|
||||
#endif
|
||||
|
||||
CORE_ADDR
|
||||
register_addr (int regno, CORE_ADDR blockend)
|
||||
{
|
||||
return REGISTER_PTRACE_ADDR (regno);
|
||||
if (regno == PC_REGNUM)
|
||||
return PC;
|
||||
if (regno == ALPHA_UNIQUE_REGNUM)
|
||||
return ALPHA_UNIQUE_PTRACE_ADDR;
|
||||
if (regno < FP0_REGNUM)
|
||||
return GPR_BASE + regno;
|
||||
else
|
||||
return FPR_BASE + regno - FP0_REGNUM;
|
||||
}
|
||||
|
||||
int
|
||||
|
|
|
@ -288,7 +288,7 @@ alpha_register_name (int regno)
|
|||
"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
|
||||
"f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
|
||||
"f24", "f25", "f26", "f27", "f28", "f29", "f30", "fpcr",
|
||||
"pc", "vfp",
|
||||
"pc", "vfp", "unique",
|
||||
};
|
||||
|
||||
if (regno < 0)
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#define ALPHA_REGISTER_SIZE 8
|
||||
|
||||
/* Number of machine registers. */
|
||||
#define ALPHA_NUM_REGS 66
|
||||
#define ALPHA_NUM_REGS 67
|
||||
|
||||
/* Total amount of space needed to store our copies of the machine's
|
||||
register state. */
|
||||
|
@ -61,6 +61,7 @@
|
|||
#define ALPHA_FPCR_REGNUM 63 /* Floating point control register */
|
||||
#define ALPHA_PC_REGNUM 64 /* Contains program counter */
|
||||
#define ALPHA_FP_REGNUM 65 /* Virtual frame pointer */
|
||||
#define ALPHA_UNIQUE_REGNUM 66 /* PAL_rduniq value */
|
||||
|
||||
/* The alpha has two different virtual pointers for arguments and locals.
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* Native definitions for alpha running GNU/Linux.
|
||||
|
||||
Copyright 1993, 1994, 1996, 1998, 2000, 2001, 2002 Free Software
|
||||
Foundation, Inc.
|
||||
Copyright 1993, 1994, 1996, 1998, 2000, 2001, 2002, 2003
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
|
@ -45,4 +45,7 @@
|
|||
pointer to the first register. */
|
||||
#define ALPHA_REGSET_BASE(regsetp) ((long *) (regsetp))
|
||||
|
||||
/* The address of UNIQUE for ptrace. */
|
||||
#define ALPHA_UNIQUE_PTRACE_ADDR 65
|
||||
|
||||
#endif /* NM_LINUX_H */
|
||||
|
|
Loading…
Reference in a new issue