2012-03-28 Pedro Alves <palves@redhat.com>

* linux-ia64-low.c (ia64_regmap): Map IA64_EC_REGNUM to PT_AR_EC.
	(IA64_GR0_REGNUM, IA64_FR0_REGNUM)
	(IA64_FR1_REGNUM): New defines.
	(ia64_fetch_register): New.
	(the_low_target): Install it.
	* linux-low.h (struct linux_target_ops) <fetch_register>: New
	field.
	* linux-low.c (linux_fetch_registers): Try the
	the_low_target.fetch_register hook first.

	* linux-arm-low.c (the_low_target): Adjust.
	* linux-bfin-low.c (the_low_target): Adjust.
	* linux-cris-low.c (the_low_target): Adjust.
	* linux-crisv32-low.c (the_low_target): Adjust.
	* linux-m32r-low.c (the_low_target): Adjust.
	* linux-m68k-low.c (the_low_target): Adjust.
	* linux-mips-low.c (the_low_target): Adjust.
	* linux-ppc-low.c (the_low_target): Adjust.
	* linux-s390-low.c (the_low_target): Adjust.
	* linux-sh-low.c (the_low_target): Adjust.
	* linux-sparc-low.c (the_low_target): Adjust.
	* linux-tic6x-low.c (the_low_target): Adjust.
	* linux-x86-low.c (the_low_target): Adjust.
	* linux-xtensa-low.c (the_low_target): Adjust.
This commit is contained in:
Pedro Alves 2012-03-28 18:30:01 +00:00
parent ca9b8b9ce8
commit c14dfd3206
18 changed files with 102 additions and 2 deletions

View file

@ -4271,11 +4271,19 @@ linux_fetch_registers (struct regcache *regcache, int regno)
if (regno == -1)
{
if (the_low_target.fetch_register != NULL)
for (regno = 0; regno < the_low_target.num_regs; regno++)
(*the_low_target.fetch_register) (regcache, regno);
all = regsets_fetch_inferior_registers (regcache);
usr_fetch_inferior_registers (regcache, regno, all);
usr_fetch_inferior_registers (regcache, -1, all);
}
else
{
if (the_low_target.fetch_register != NULL
&& (*the_low_target.fetch_register) (regcache, regno))
return;
use_regsets = linux_register_in_regsets (regno);
if (use_regsets)
all = regsets_fetch_inferior_registers (regcache);