mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-01-21 00:15:13 +00:00
2007-10-30 Markus Deuling <deuling@de.ibm.com>
* hpux-thread.c (hpux_thread_fetch_registers) (hpux_thread_store_registers): Use get_regcache_arch to get at the current architecture by regcache.
This commit is contained in:
parent
65c5db89dd
commit
8d90747a2d
@ -1,3 +1,9 @@
|
||||
2007-10-30 Markus Deuling <deuling@de.ibm.com>
|
||||
|
||||
* hpux-thread.c (hpux_thread_fetch_registers)
|
||||
(hpux_thread_store_registers): Use get_regcache_arch to get at the
|
||||
current architecture by regcache.
|
||||
|
||||
2007-10-30 Markus Deuling <deuling@de.ibm.com>
|
||||
|
||||
* hppa-tdep.c (hppa_frame_cache): Use get_frame_arch to get at the
|
||||
|
@ -250,6 +250,7 @@ static char regmap[] =
|
||||
static void
|
||||
hpux_thread_fetch_registers (struct regcache *regcache, int regno)
|
||||
{
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
cma__t_int_tcb tcb, *tcb_ptr;
|
||||
struct cleanup *old_chain;
|
||||
int i;
|
||||
@ -273,7 +274,7 @@ hpux_thread_fetch_registers (struct regcache *regcache, int regno)
|
||||
if (regno == -1)
|
||||
{
|
||||
first_regno = 0;
|
||||
last_regno = gdbarch_num_regs (current_gdbarch) - 1;
|
||||
last_regno = gdbarch_num_regs (gdbarch) - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -294,13 +295,14 @@ hpux_thread_fetch_registers (struct regcache *regcache, int regno)
|
||||
|
||||
if (regno == HPPA_FLAGS_REGNUM)
|
||||
/* Flags must be 0 to avoid bogus value for SS_INSYSCALL */
|
||||
memset (buf, '\000', register_size (current_gdbarch, regno));
|
||||
memset (buf, '\000', register_size (gdbarch, regno));
|
||||
else if (regno == HPPA_SP_REGNUM)
|
||||
store_unsigned_integer (buf, sizeof sp, sp);
|
||||
else if (regno == HPPA_PCOQ_HEAD_REGNUM)
|
||||
read_memory (sp - 20, buf, register_size (current_gdbarch, regno));
|
||||
read_memory (sp - 20, buf, register_size (gdbarch, regno));
|
||||
else
|
||||
read_memory (sp + regmap[regno], buf, register_size (current_gdbarch, regno));
|
||||
read_memory (sp + regmap[regno], buf,
|
||||
register_size (gdbarch, regno));
|
||||
|
||||
regcache_raw_supply (regcache, regno, buf);
|
||||
}
|
||||
@ -312,6 +314,7 @@ hpux_thread_fetch_registers (struct regcache *regcache, int regno)
|
||||
static void
|
||||
hpux_thread_store_registers (struct regcache *regcache, int regno)
|
||||
{
|
||||
struct gdbarch *gdbarch = get_regcache_arch (regcache);
|
||||
cma__t_int_tcb tcb, *tcb_ptr;
|
||||
struct cleanup *old_chain;
|
||||
int i;
|
||||
@ -335,7 +338,7 @@ hpux_thread_store_registers (struct regcache *regcache, int regno)
|
||||
if (regno == -1)
|
||||
{
|
||||
first_regno = 0;
|
||||
last_regno = gdbarch_num_regs (current_gdbarch) - 1;
|
||||
last_regno = gdbarch_num_regs (gdbarch) - 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -360,7 +363,7 @@ hpux_thread_store_registers (struct regcache *regcache, int regno)
|
||||
{
|
||||
regcache_raw_collect (regcache, regno, buf);
|
||||
write_memory ((CORE_ADDR) &tcb_ptr->static_ctx.sp, buf,
|
||||
register_size (current_gdbarch, regno));
|
||||
register_size (gdbarch, regno));
|
||||
tcb_ptr->static_ctx.sp
|
||||
= (cma__t_hppa_regs *) ((CORE_ADDR) buf + 160);
|
||||
}
|
||||
@ -368,13 +371,13 @@ hpux_thread_store_registers (struct regcache *regcache, int regno)
|
||||
{
|
||||
regcache_raw_collect (regcache, regno, buf);
|
||||
write_memory (sp - 20, buf,
|
||||
register_size (current_gdbarch, regno));
|
||||
register_size (gdbarch, regno));
|
||||
}
|
||||
else
|
||||
{
|
||||
regcache_raw_collect (regcache, regno, buf);
|
||||
write_memory (sp + regmap[regno], buf,
|
||||
register_size (current_gdbarch, regno));
|
||||
register_size (gdbarch, regno));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user