* alpha-tdep.c (alpha_cannot_fetch_register): Don't return true

for ALPHA_ZERO_REGNUM.
	(alpha_supply_int_regs): Explicitly supply zero as the value for
	ALPHA_ZERO_REGNUM in the register cache.
	* alpha-nat.c (fetch_osf_core_registers): Ditto.
This commit is contained in:
Pedro Alves 2011-05-26 13:57:46 +00:00
parent 6769d5017f
commit 4a1be8d214
3 changed files with 23 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2011-05-26 Pedro Alves <pedro@codesourcery.com>
* alpha-tdep.c (alpha_cannot_fetch_register): Don't return true
for ALPHA_ZERO_REGNUM.
(alpha_supply_int_regs): Explicitly supply zero as the value for
ALPHA_ZERO_REGNUM in the register cache.
* alpha-nat.c (fetch_osf_core_registers): Ditto.
2011-05-26 Yao Qi <yao@codesourcery.com>
* gdb/gdb_thread_db.h: Remove HAVE_UINTPTR_T.

View File

@ -101,6 +101,15 @@ fetch_osf_core_registers (struct regcache *regcache,
regcache_raw_supply (regcache, regno, NULL);
continue;
}
if (regno == ALPHA_ZERO_REGNUM)
{
const gdb_byte zero[8] = { 0 };
regcache_raw_supply (regcache, regno, zero);
continue;
}
addr = 8 * core_reg_mapping[regno];
if (addr < 0 || addr >= core_reg_size)
{

View File

@ -111,8 +111,7 @@ alpha_register_name (struct gdbarch *gdbarch, int regno)
static int
alpha_cannot_fetch_register (struct gdbarch *gdbarch, int regno)
{
return (regno == ALPHA_ZERO_REGNUM
|| strlen (alpha_register_name (gdbarch, regno)) == 0);
return (strlen (alpha_register_name (gdbarch, regno)) == 0);
}
static int
@ -1424,7 +1423,11 @@ alpha_supply_int_regs (struct regcache *regcache, int regno,
regcache_raw_supply (regcache, i, regs + i * 8);
if (regno == ALPHA_ZERO_REGNUM || regno == -1)
regcache_raw_supply (regcache, ALPHA_ZERO_REGNUM, NULL);
{
const gdb_byte zero[8] = { 0 };
regcache_raw_supply (regcache, ALPHA_ZERO_REGNUM, zero);
}
if (regno == ALPHA_PC_REGNUM || regno == -1)
regcache_raw_supply (regcache, ALPHA_PC_REGNUM, pc);