static void core_close_cleanup (void *ignore);
-static void get_core_registers (int);
+static void get_core_registers (struct regcache *, int);
static void add_to_thread_list (bfd *, asection *, void *);
if (ontop)
{
/* Fetch all registers from core file. */
- target_fetch_registers (-1);
+ target_fetch_registers (current_regcache, -1);
/* Now, set up the frame cache, and print the top of stack. */
reinit_frame_cache ();
/* We just get all the registers, so we don't use regno. */
static void
-get_core_registers (int regno)
+get_core_registers (struct regcache *regcache, int regno)
{
- int status;
+ int i;
if (!(core_gdbarch && gdbarch_regset_from_core_section_p (core_gdbarch))
&& (core_vec == NULL || core_vec->core_read_registers == NULL))
return;
}
- get_core_register_section (current_regcache,
+ get_core_register_section (regcache,
".reg", 0, "general-purpose", 1);
- get_core_register_section (current_regcache,
+ get_core_register_section (regcache,
".reg2", 2, "floating-point", 0);
- get_core_register_section (current_regcache,
+ get_core_register_section (regcache,
".reg-xfp", 3, "extended floating-point", 0);
- deprecated_registers_fetched ();
+ /* Supply dummy value for all registers not found in the core. */
+ for (i = 0; i < NUM_REGS; i++)
+ if (!regcache_valid_p (regcache, i))
+ regcache_raw_supply (regcache, i, NULL);
}
static void