diff options
author | K. Richard Pixley <rich@cygnus> | 1993-09-22 00:43:55 +0000 |
---|---|---|
committer | K. Richard Pixley <rich@cygnus> | 1993-09-22 00:43:55 +0000 |
commit | 817ac7f82baa6b8bdb855a429eed3b1305034331 (patch) | |
tree | 1009478df5d2b8f957cdc053a6977d410fd333f5 /gdb/m88k-tdep.c | |
parent | 7b11cf96848c4e7535bc71731defed0610e2cdf6 (diff) | |
download | gdb-817ac7f82baa6b8bdb855a429eed3b1305034331.zip gdb-817ac7f82baa6b8bdb855a429eed3b1305034331.tar.gz gdb-817ac7f82baa6b8bdb855a429eed3b1305034331.tar.bz2 |
* breakpoint.c (bpstat_stop_status),
infcmd.c (step_1),
infrun.c (wait_for_inferior): collapse SHIFT_INST_REGS ifdef and insert macro.
* m88k-tdep.c: include ieee-float.h. new global target_is_m88110.
new const struct ext_format_m88110 for float format.
(pic_prologue_code): add braces.
(next_insn): remove unused variable buf.
(frame_find_saved_regs): remove unused variables next_addr,
saved_regs, regnum.
(frame_locals_address): remove unused variables frame, ap.
(frame_args_address): remove unused variables frame, ap.
(push_parameters): add some breaks and a default case.
* remote-bug.c: remove redundant includes of value.h, target.h,
serial.h.
(bug_open): corrected typo, sr_multi_scan -> gr_multi_scan.
(bug_fetch_register): special case sfip register for m88110.
remove flag bit masking of pc registers. This should be handled
by the ADDR_BITS_* macros.
(bug_store_register): special case sfip register for m88110.
Corrected sprint format for extended registers.
Diffstat (limited to 'gdb/m88k-tdep.c')
-rw-r--r-- | gdb/m88k-tdep.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/gdb/m88k-tdep.c b/gdb/m88k-tdep.c index d12c462..1ada4d9 100644 --- a/gdb/m88k-tdep.c +++ b/gdb/m88k-tdep.c @@ -26,12 +26,23 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "symtab.h" #include "setjmp.h" #include "value.h" +#include "ieee-float.h" /* for ext_format & friends */ /* Size of an instruction */ #define BYTES_PER_88K_INSN 4 void frame_find_saved_regs (); +/* is this target an m88110? Otherwise assume m88100. This has + relevance for the ways in which we screw with instruction pointers. */ +int target_is_m88110 = 0; + +/* FIXME: this is really just a guess based on m88110 being big + endian. */ +const struct ext_format ext_format_m88110 = { +/* tot sbyte smask expbyte manbyte */ + 10, 0, 0x80, 0,1, 4,8 /* m88110 */ +}; /* Given a GDB frame, determine the address of the calling function's frame. This will be used to create a new GDB frame struct, and then @@ -124,7 +135,7 @@ struct pic_prologue_code { static struct pic_prologue_code pic_prologue_code [] = { /* FIXME -- until this is translated to hex, we won't match it... */ - 0xffffffff, 0, + { 0xffffffff, 0 }, /* or r10,r1,0 (if not saved) */ /* bsr.n LabN */ /* or.u r25,r0,const */ @@ -152,8 +163,6 @@ next_insn (memaddr, pword1) unsigned long *pword1; CORE_ADDR memaddr; { - unsigned long buf[1]; - *pword1 = read_memory_integer (memaddr, BYTES_PER_88K_INSN); return memaddr + BYTES_PER_88K_INSN; } @@ -448,9 +457,6 @@ frame_find_saved_regs (fi, fsr) struct frame_info *fi; struct frame_saved_regs *fsr; { - register CORE_ADDR next_addr; - register CORE_ADDR *saved_regs; - register int regnum; register struct frame_saved_regs *cache_fsr; extern struct obstack frame_cache_obstack; CORE_ADDR ip; @@ -490,9 +496,7 @@ CORE_ADDR frame_locals_address (fi) struct frame_info *fi; { - register FRAME frame; struct frame_saved_regs fsr; - CORE_ADDR ap; if (fi->args_pointer) /* Cached value is likely there. */ return fi->args_pointer; @@ -511,9 +515,7 @@ CORE_ADDR frame_args_address (fi) struct frame_info *fi; { - register FRAME frame; struct frame_saved_regs fsr; - CORE_ADDR ap; if (fi->args_pointer) /* Cached value is likely there. */ return fi->args_pointer; @@ -694,7 +696,9 @@ push_parameters (return_type, struct_conv, nargs, args) write_register (SP_REGNUM, rv_addr); /* push space onto the stack */ write_register (SRA_REGNUM, rv_addr);/* set return value register */ + break; } + default: break; } /* Here we make a pre-pass on the whole parameter list to figure out exactly |