* 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
This commit is contained in:
Steve Chamberlain 1993-10-07 23:21:02 +00:00
parent fb32909add
commit 3f0184acb0
4 changed files with 40 additions and 8 deletions

View 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:

View 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;
}

View 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)

View 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