2004-10-30 Andrew Cagney <cagney@gnu.org>

* mips-tdep.h: Add comments on registers.
	(MIPS_UNUSED_REGNUM): Define.
	* config/mips/tm-mips.h (ZERO_REGNUM, UNUSED_REGNUM)
	(T9_REGNUM, V0_REGNUM, A0_REGNUM): Delete.
	* irix5-nat.c, mipsv4-nat.c, mips-linux-tdep.c: Update.
	* mips-linux-nat.c, remote-mips.c: Update.
This commit is contained in:
Andrew Cagney 2004-10-30 22:36:34 +00:00
parent d37cca3d68
commit 613e114ff9
9 changed files with 32 additions and 33 deletions

View File

@ -1,5 +1,12 @@
2004-10-30 Andrew Cagney <cagney@gnu.org>
* mips-tdep.h: Add comments on registers.
(MIPS_UNUSED_REGNUM): Define.
* config/mips/tm-mips.h (ZERO_REGNUM, UNUSED_REGNUM)
(T9_REGNUM, V0_REGNUM, A0_REGNUM): Delete.
* irix5-nat.c, mipsv4-nat.c, mips-linux-tdep.c: Update.
* mips-linux-nat.c, remote-mips.c: Update.
* config/mips/tm-mips.h (t_insn): Delete.
* mips-tdep.c (mips_fetch_instruction, mips_skip_trampoline_code):
Replace t_insn with ULONGEST.

View File

@ -43,20 +43,8 @@ extern int mips_step_skips_delay (CORE_ADDR);
#define STEP_SKIPS_DELAY_P (1)
#define STEP_SKIPS_DELAY(pc) (mips_step_skips_delay (pc))
/* Register numbers of various important registers.
Note that some of these values are "real" register numbers,
and correspond to the general registers of the machine,
and some are "phony" register numbers which are too large
to be actual register numbers as far as the user is concerned
but do serve to get the desired values when passed to read_register. */
#define ZERO_REGNUM 0 /* read-only register, always 0 */
#define V0_REGNUM 2 /* Function integer return value */
#define A0_REGNUM 4 /* Loc of first arg during a subr call */
#define T9_REGNUM 25 /* Contains address of callee in PIC */
#define RA_REGNUM 31 /* Contains return address value */
#define PS_REGNUM 32 /* Contains processor status */
#define UNUSED_REGNUM 73 /* Never used, FIXME */
#define FIRST_EMBED_REGNUM 74 /* First CP0 register for embedded use */
#define PRID_REGNUM 89 /* Processor ID */
#define LAST_EMBED_REGNUM 89 /* Last one */

View File

@ -182,7 +182,7 @@ get_longjmp_target (CORE_ADDR *pc)
CORE_ADDR jb_addr;
buf = alloca (TARGET_PTR_BIT / TARGET_CHAR_BIT);
jb_addr = read_register (A0_REGNUM);
jb_addr = read_register (MIPS_A0_REGNUM);
if (target_read_memory (jb_addr + JB_PC * JB_ELEMENT_SIZE, buf,
TARGET_PTR_BIT / TARGET_CHAR_BIT))

View File

@ -24,13 +24,13 @@
/* Pseudo registers can not be read. ptrace does not provide a way to
read (or set) PS_REGNUM, and there's no point in reading or setting
ZERO_REGNUM. We also can not set BADVADDR, CAUSE, or FCRIR via
ptrace(). */
MIPS_ZERO_REGNUM. We also can not set BADVADDR, CAUSE, or FCRIR
via ptrace(). */
int
mips_linux_cannot_fetch_register (int regno)
{
if (regno > ZERO_REGNUM && regno < ZERO_REGNUM + 32)
if (regno > MIPS_ZERO_REGNUM && regno < MIPS_ZERO_REGNUM + 32)
return 0;
else if (regno >= mips_regnum (current_gdbarch)->fp0
&& regno <= mips_regnum (current_gdbarch)->fp0 + 32)
@ -50,7 +50,7 @@ mips_linux_cannot_fetch_register (int regno)
int
mips_linux_cannot_store_register (int regno)
{
if (regno > ZERO_REGNUM && regno < ZERO_REGNUM + 32)
if (regno > MIPS_ZERO_REGNUM && regno < MIPS_ZERO_REGNUM + 32)
return 0;
else if (regno >= FP0_REGNUM && regno <= FP0_REGNUM + 32)
return 0;

View File

@ -76,7 +76,7 @@ mips_linux_get_longjmp_target (CORE_ADDR *pc)
CORE_ADDR jb_addr;
char buf[TARGET_PTR_BIT / TARGET_CHAR_BIT];
jb_addr = read_register (A0_REGNUM);
jb_addr = read_register (MIPS_A0_REGNUM);
if (target_read_memory (jb_addr
+ MIPS_LINUX_JB_PC * MIPS_LINUX_JB_ELEMENT_SIZE,
@ -129,7 +129,7 @@ supply_gregset (elf_gregset_t *gregsetp)
(char *)(regp + EF_CP0_CAUSE));
/* Fill inaccessible registers with zero. */
regcache_raw_supply (current_regcache, UNUSED_REGNUM, zerobuf);
regcache_raw_supply (current_regcache, MIPS_UNUSED_REGNUM, zerobuf);
for (regi = FIRST_EMBED_REGNUM; regi < LAST_EMBED_REGNUM; regi++)
regcache_raw_supply (current_regcache, regi, zerobuf);
}
@ -367,7 +367,7 @@ mips64_linux_get_longjmp_target (CORE_ADDR *pc)
void *buf = alloca (TARGET_PTR_BIT / TARGET_CHAR_BIT);
int element_size = TARGET_PTR_BIT == 32 ? 4 : 8;
jb_addr = read_register (A0_REGNUM);
jb_addr = read_register (MIPS_A0_REGNUM);
if (target_read_memory (jb_addr + MIPS64_LINUX_JB_PC * element_size,
buf, TARGET_PTR_BIT / TARGET_CHAR_BIT))
@ -408,7 +408,7 @@ mips64_supply_gregset (mips64_elf_gregset_t *gregsetp)
(char *)(regp + MIPS64_EF_CP0_CAUSE));
/* Fill inaccessible registers with zero. */
regcache_raw_supply (current_regcache, UNUSED_REGNUM, zerobuf);
regcache_raw_supply (current_regcache, MIPS_UNUSED_REGNUM, zerobuf);
for (regi = FIRST_EMBED_REGNUM; regi < LAST_EMBED_REGNUM; regi++)
regcache_raw_supply (current_regcache, regi, zerobuf);
}

View File

@ -5374,10 +5374,6 @@ mips_dump_tdep (struct gdbarch *current_gdbarch, struct ui_file *file)
fprintf_unfiltered (file,
"mips_dump_tdep: TRACE_SET # %s\n",
XSTRING (TRACE_SET (X, STATE)));
#endif
#ifdef UNUSED_REGNUM
fprintf_unfiltered (file,
"mips_dump_tdep: UNUSED_REGNUM = %d\n", UNUSED_REGNUM);
#endif
fprintf_unfiltered (file,
"mips_dump_tdep: VM_MIN_ADDRESS = %ld\n",

View File

@ -61,13 +61,20 @@ struct mips_regnum
};
extern const struct mips_regnum *mips_regnum (struct gdbarch *gdbarch);
/* Register numbers of various important registers. Note that some of
these values are "real" register numbers, and correspond to the
general registers of the machine, and some are "phony" register
numbers which are too large to be actual register numbers as far as
the user is concerned but do serve to get the desired values when
passed to read_register. */
enum
{
MIPS_ZERO_REGNUM = 0,
MIPS_ZERO_REGNUM = 0, /* Read-only register, always 0. */
MIPS_AT_REGNUM = 1,
MIPS_V0_REGNUM = 2,
MIPS_A0_REGNUM = 4,
MIPS_T9_REGNUM = 25,
MIPS_V0_REGNUM = 2, /* Function integer return value. */
MIPS_A0_REGNUM = 4, /* Loc of first arg during a subr call */
MIPS_T9_REGNUM = 25, /* Contains address of callee in PIC. */
MIPS_SP_REGNUM = 29,
MIPS_RA_REGNUM = 31,
MIPS_EMBED_LO_REGNUM = 33,
@ -75,7 +82,8 @@ enum
MIPS_EMBED_BADVADDR_REGNUM = 35,
MIPS_EMBED_CAUSE_REGNUM = 36,
MIPS_EMBED_PC_REGNUM = 37,
MIPS_EMBED_FP0_REGNUM = 38
MIPS_EMBED_FP0_REGNUM = 38,
MIPS_UNUSED_REGNUM = 73 /* Never used, FIXME */
};
/* Defined in mips-tdep.c and used in remote-mips.c */

View File

@ -68,7 +68,7 @@ supply_gregset (gregset_t *gregsetp)
mips_regnum (current_gdbarch)->badvaddr,
zerobuf);
regcache_raw_supply (current_regcache, DEPRECATED_FP_REGNUM, zerobuf);
regcache_raw_supply (current_regcache, UNUSED_REGNUM, zerobuf);
regcache_raw_supply (current_regcache, MIPS_UNUSED_REGNUM, zerobuf);
for (regi = FIRST_EMBED_REGNUM; regi <= LAST_EMBED_REGNUM; regi++)
regcache_raw_supply (current_regcache, regi, zerobuf);
}
@ -161,7 +161,7 @@ get_longjmp_target (CORE_ADDR *pc)
CORE_ADDR jb_addr;
buf = alloca (TARGET_PTR_BIT / TARGET_CHAR_BIT);
jb_addr = read_register (A0_REGNUM);
jb_addr = read_register (MIPS_A0_REGNUM);
if (target_read_memory (jb_addr + _JB_PC * JB_ELEMENT_SIZE, buf,
TARGET_PTR_BIT / TARGET_CHAR_BIT))

View File

@ -1905,7 +1905,7 @@ mips_fetch_registers (int regno)
return;
}
if (regno == DEPRECATED_FP_REGNUM || regno == ZERO_REGNUM)
if (regno == DEPRECATED_FP_REGNUM || regno == MIPS_ZERO_REGNUM)
/* DEPRECATED_FP_REGNUM on the mips is a hack which is just
supposed to read zero (see also mips-nat.c). */
val = 0;