* mips-tdep.c (mips_write_pc): Make external, add description.
* mips-linux-tdep.c (mips_linux_write_pc): Use mips_write_pc,
add description.
+2012-05-18 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * mips-tdep.h (mips_write_pc): New prototype.
+ * mips-tdep.c (mips_write_pc): Make external, add description.
+ * mips-linux-tdep.c (mips_linux_write_pc): Use mips_write_pc,
+ add description.
+
2012-05-18 Maciej W. Rozycki <macro@codesourcery.com>
* mips-tdep.c (mips_read_pc): Use gdbarch_pc_regnum instead of
trad_frame_set_id (this_cache, frame_id_build (frame_sp, func));
}
+/* Implement the "write_pc" gdbarch method. */
+
static void
mips_linux_write_pc (struct regcache *regcache, CORE_ADDR pc)
{
struct gdbarch *gdbarch = get_regcache_arch (regcache);
- regcache_cooked_write_unsigned (regcache, gdbarch_pc_regnum (gdbarch), pc);
+
+ mips_write_pc (regcache, pc);
/* Clear the syscall restart flag. */
if (mips_linux_restart_reg_p (gdbarch))
get_frame_pc (this_frame));
}
-static void
+/* Implement the "write_pc" gdbarch method. */
+
+void
mips_write_pc (struct regcache *regcache, CORE_ADDR pc)
{
int regnum = gdbarch_pc_regnum (get_regcache_arch (regcache));
/* Return the currently configured (or set) saved register size. */
extern unsigned int mips_abi_regsize (struct gdbarch *gdbarch);
+/* Make PC the address of the next instruction to execute. */
+extern void mips_write_pc (struct regcache *regcache, CORE_ADDR pc);
+
/* Target descriptions which only indicate the size of general
registers. */
extern struct target_desc *mips_tdesc_gp32;