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/remote-bug.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/remote-bug.c')
-rw-r--r-- | gdb/remote-bug.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/gdb/remote-bug.c b/gdb/remote-bug.c index 2c06f6b..641895e 100644 --- a/gdb/remote-bug.c +++ b/gdb/remote-bug.c @@ -23,7 +23,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "defs.h" #include "inferior.h" #include "wait.h" -#include "value.h" #include <string.h> #include <ctype.h> @@ -33,9 +32,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <errno.h> #include "terminal.h" -#include "target.h" #include "gdbcore.h" -#include "serial.h" #include "gdbcmd.h" #include "remote-utils.h" @@ -228,7 +225,7 @@ bug_open (args, from_tty) sr_write_cr("rs cr06"); sr_expect("rs cr06"); - switch (sr_multi_scan(cpu_check_strings, 0)) + switch (gr_multi_scan(cpu_check_strings, 0)) { case 0: /* this is an m88100 */ target_is_m88110 = 0; @@ -438,6 +435,12 @@ bug_fetch_register(regno) for (i = 0; i < NUM_REGS; ++i) bug_fetch_register(i); } + else if (target_is_m88110 && regno == SFIP_REGNUM) + { + /* m88110 has no sfip. */ + long l = 0; + supply_register(regno, (char *) &l); + } else if (regno < XFP_REGNUM) { sr_write("rs ", 3); @@ -445,14 +448,6 @@ bug_fetch_register(regno) sr_expect("="); regval = sr_get_hex_word(); gr_expect_prompt(); - - /* the following registers contain flag bits in the lower to bit slots. - Mask them off */ - if (regno == PC_REGNUM /* aka sxip */ - || regno == NPC_REGNUM /* aka snip */ - || regno == SFIP_REGNUM) /* aka sfip */ - regval &= ~0x3; - supply_register(regno, (char *) ®val); } else @@ -523,7 +518,9 @@ bug_store_register (regno) regname = get_reg_name(regno); - if (regno < XFP_REGNUM) + if (target_is_m88110 && regno == SFIP_REGNUM) + return; + else if (regno < XFP_REGNUM) sprintf(buffer, "rs %s %08x", regname, read_register(regno)); @@ -531,7 +528,7 @@ bug_store_register (regno) { unsigned char *value = ®isters[REGISTER_BYTE(regno)]; - sprintf(buffer, "rs %s %1x_%2x%1x_%1x%2x%2x%2x%2x%2x%2x", + sprintf(buffer, "rs %s %1x_%02x%1x_%1x%02x%02x%02x%02x%02x%02x;d", regname, /* sign */ (value[0] >> 7) & 0xf, |