aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@cygnus>1993-10-07 23:21:02 +0000
committerSteve Chamberlain <sac@cygnus>1993-10-07 23:21:02 +0000
commit3f0184acb02f2a390e7d7a4c34594a55d5d99963 (patch)
tree4e438c73c5b1351cd139d233f4ebedcfee710e23 /gdb
parentfb32909add6f1c2bfac2133d41ff1f399bc40207 (diff)
downloadfsf-binutils-gdb-3f0184acb02f2a390e7d7a4c34594a55d5d99963.zip
fsf-binutils-gdb-3f0184acb02f2a390e7d7a4c34594a55d5d99963.tar.gz
fsf-binutils-gdb-3f0184acb02f2a390e7d7a4c34594a55d5d99963.tar.bz2
* 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
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog11
-rw-r--r--gdb/h8300-tdep.c27
-rw-r--r--gdb/infrun.c2
-rw-r--r--gdb/remote-sim.c8
4 files changed, 40 insertions, 8 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5f43f7c..bfed447 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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:
diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c
index a50e4bd..ba5a9b9 100644
--- a/gdb/h8300-tdep.c
+++ b/gdb/h8300-tdep.c
@@ -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;
+}
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 84ccf93..e32d705 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -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)
diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c
index 1da0172..fb1e57e 100644
--- a/gdb/remote-sim.c
+++ b/gdb/remote-sim.c
@@ -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