* h8300-tdep.c (sim_load, sim_kill, sim_open, sim_set_args):
authorSteve Chamberlain <sac@cygnus>
Thu, 7 Oct 1993 23:21:02 +0000 (23:21 +0000)
committerSteve Chamberlain <sac@cygnus>
Thu, 7 Oct 1993 23:21:02 +0000 (23:21 +0000)
New functions.
* infrun.c (normal_stop): Don't try and set the pc in the current
frame coredump if there isn't one.
* remote-sim.c (gdbsim_store_register): Don't
SWAP_TARGET_AND_HOST, sim_store_register takes bytes in raw order.
(gdbsim_wait): Set status with WSETSTOP.
* config/h8300/tm-h8300.h (sr_get_debug): Define

gdb/ChangeLog
gdb/h8300-tdep.c
gdb/infrun.c
gdb/remote-sim.c

index 5f43f7c6065dbb1190dea0635f62c7aac68ed866..bfed447c38bc17fff46fb5acb134b22fb4c629d4 100644 (file)
@@ -1,3 +1,14 @@
+Thu Oct  7 16:14:19 1993  Steve Chamberlain  (sac@phydeaux.cygnus.com)
+
+       * h8300-tdep.c (sim_load, sim_kill, sim_open, sim_set_args):
+       New functions.
+       * infrun.c (normal_stop): Don't try and set the pc in the current
+       frame coredump if there isn't one.
+       * remote-sim.c (gdbsim_store_register): Don't
+       SWAP_TARGET_AND_HOST, sim_store_register takes bytes in raw order.
+       (gdbsim_wait): Set status with WSETSTOP.
+       * config/h8300/tm-h8300.h (sr_get_debug): Define
+
 Thu Oct  7 12:56:57 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
 
        New Mach stuff:
index a50e4bd3786f2ddae04ad82f8a5d102967cb75c9..ba5a9b9efa87f25eef031cf3dec3350cd366930a 100644 (file)
@@ -482,3 +482,30 @@ print_register_hook (regno)
     }
 }
 
+
+/* Callbacks for remote-sim */
+
+int 
+sim_load (abfd, prog)
+bfd *abfd;
+char *prog;
+{
+  return sim_load_standard (abfd); 
+}
+
+void
+sim_kill()
+{
+}
+
+sim_open ()
+{
+  return 0;
+}
+
+sim_set_args(argv, env)
+char **argv;
+char **env;
+{
+  return 0;
+}
index 84ccf931ce4b71a860d308adac8d7ad5580d5678..e32d70574a3101f0cbcbed3dbf6e17da7484ba51 100644 (file)
@@ -1308,7 +1308,7 @@ normal_stop ()
   /* Make sure that the current_frame's pc is correct.  This
      is a correction for setting up the frame info before doing
      DECR_PC_AFTER_BREAK */
-  if (target_has_execution)
+  if (target_has_execution && get_current_frame())
     (get_current_frame ())->pc = read_pc ();
   
   if (breakpoints_failed)
index 1da0172a865a659b4bc474c2a69f65aa4eeb29a0..fb1e57e6f27e58e9599b373809afaa18bc170b59 100644 (file)
@@ -107,9 +107,7 @@ int regno;
     {
       /* FIXME: Until read_register() returns LONGEST, we have this.  */
       char value[MAX_REGISTER_RAW_SIZE];
-
       read_register_gen (regno, value);
-      SWAP_TARGET_AND_HOST (value, REGISTER_RAW_SIZE (regno));
       sim_store_register (regno, value);
       if (sr_get_debug ())
        {
@@ -351,14 +349,10 @@ gdbsim_wait (status)
 {
   if (sr_get_debug ())
     printf_filtered ("gdbsim_wait: ");
-#if 1
-  *status = sim_stop_signal ();
-#else
   WSETSTOP (*status, sim_stop_signal ());
-#endif
   if (sr_get_debug ())
     printf_filtered ("status %d\n", *status);
-  return 0;
+  return inferior_pid;
 }
 
 /* Get ready to modify the registers array.  On machines which store