aboutsummaryrefslogtreecommitdiff
path: root/gdb/remote-mips.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/remote-mips.c')
-rw-r--r--gdb/remote-mips.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gdb/remote-mips.c b/gdb/remote-mips.c
index 5bcd110..657d1ba 100644
--- a/gdb/remote-mips.c
+++ b/gdb/remote-mips.c
@@ -2901,8 +2901,14 @@ mips_load (file, from_tty)
mips_initialize ();
-/* Finally, make the PC point at the start address */
-
+ /* Finally, make the PC point at the start address */
+ if (mips_monitor == MON_CAIRO)
+ {
+ /* Work around problem where CAIRO monitor does not update the
+ PC after a load. The following ensures that the write_pc()
+ WILL update the PC value: */
+ register_valid[PC_REGNUM] = 0;
+ }
if (exec_bfd)
write_pc (bfd_get_start_address (exec_bfd));