* 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. Fix some bugs exposed by the testsuite. HMSE.
This commit is contained in:
parent
9b33e492d6
commit
6bafbdfbf6
4 changed files with 24 additions and 3 deletions
|
@ -1,3 +1,13 @@
|
||||||
|
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)
|
Tue May 14 18:05:16 1996 Stu Grossman (grossman@critters.cygnus.com)
|
||||||
|
|
||||||
* procfs.c (procfs_thread_alive procfs_stop): Make static.
|
* procfs.c (procfs_thread_alive procfs_stop): Make static.
|
||||||
|
|
|
@ -256,3 +256,5 @@ typedef unsigned short INSN_WORD;
|
||||||
|
|
||||||
#define NUM_REALREGS 10
|
#define NUM_REALREGS 10
|
||||||
#define NOP { 0x01, 0x80} /* A sleep insn */
|
#define NOP { 0x01, 0x80} /* A sleep insn */
|
||||||
|
|
||||||
|
#define BELIEVE_PCC_PROMOTION 1
|
||||||
|
|
|
@ -377,11 +377,17 @@ h8300_pop_frame ()
|
||||||
|
|
||||||
for (regnum = 0; regnum < 8; regnum++)
|
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));
|
write_register (regnum, read_memory_integer(fsr.regs[regnum], BINWORD));
|
||||||
|
else if (fsr.regs[regnum] && regnum == SP_REGNUM)
|
||||||
flush_cached_frames ();
|
write_register (regnum, fsr.regs[regnum]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Don't forget the update the PC too! */
|
||||||
|
write_pc (frame->from_pc);
|
||||||
|
flush_cached_frames ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -280,6 +280,9 @@ gdbsim_resume (pid, step, siggnal)
|
||||||
int pid, step;
|
int pid, step;
|
||||||
enum target_signal siggnal;
|
enum target_signal siggnal;
|
||||||
{
|
{
|
||||||
|
if (inferior_pid != 42)
|
||||||
|
error ("The program is not being run.");
|
||||||
|
|
||||||
if (sr_get_debug ())
|
if (sr_get_debug ())
|
||||||
printf_filtered ("gdbsim_resume: step %d, signal %d\n", step, siggnal);
|
printf_filtered ("gdbsim_resume: step %d, signal %d\n", step, siggnal);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue