C_STAT symbols.
* h8300-tdep.c (h8300_pop_frame): Reset $sp and $pc correctly.
Flush cached frames just before exiting.
* remote-sim.c (gdbsim_resume): Complain if the program isn't
being run.
* config/h8300/tm-h8300.h (BELIEVE_PCC_PROMOTION): Define.
Fix some bugs exposed by the testsuite. HMSE.
+Wed May 15 08:25:12 1996 Jeffrey A Law (law@cygnus.com)
+
+ * coffread.c (coff_symtab_read): Handle C_LABEL symbols like
+ C_STAT symbols.
+ * h8300-tdep.c (h8300_pop_frame): Reset $sp and $pc correctly.
+ Flush cached frames just before exiting.
+ * remote-sim.c (gdbsim_resume): Complain if the program isn't
+ being run.
+ * config/h8300/tm-h8300.h (BELIEVE_PCC_PROMOTION): Define.
+
Tue May 14 18:05:16 1996 Stu Grossman (grossman@critters.cygnus.com)
* procfs.c (procfs_thread_alive procfs_stop): Make static.
#define NUM_REALREGS 10
#define NOP { 0x01, 0x80} /* A sleep insn */
+
+#define BELIEVE_PCC_PROMOTION 1
for (regnum = 0; regnum < 8; regnum++)
{
- if (fsr.regs[regnum])
+ /* Don't forget SP_REGNUM is a frame_saved_regs struct is the
+ actual value we want, not the address of the value we want. */
+ if (fsr.regs[regnum] && regnum != SP_REGNUM)
write_register (regnum, read_memory_integer(fsr.regs[regnum], BINWORD));
-
- flush_cached_frames ();
+ else if (fsr.regs[regnum] && regnum == SP_REGNUM)
+ write_register (regnum, fsr.regs[regnum]);
}
+
+ /* Don't forget the update the PC too! */
+ write_pc (frame->from_pc);
+ flush_cached_frames ();
}
int pid, step;
enum target_signal siggnal;
{
+ if (inferior_pid != 42)
+ error ("The program is not being run.");
+
if (sr_get_debug ())
printf_filtered ("gdbsim_resume: step %d, signal %d\n", step, siggnal);