diff options
author | Stu Grossman <grossman@cygnus> | 1995-05-11 02:26:00 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1995-05-11 02:26:00 +0000 |
commit | d8afcce964c862098004e98eb09318267b5a464c (patch) | |
tree | 08f8f2e01c8a9fae2d82645284fce9ec19201c90 /gdb/op50-rom.c | |
parent | 1818c417af463d6f00400e000998166acfa2b1a7 (diff) | |
download | gdb-d8afcce964c862098004e98eb09318267b5a464c.zip gdb-d8afcce964c862098004e98eb09318267b5a464c.tar.gz gdb-d8afcce964c862098004e98eb09318267b5a464c.tar.bz2 |
* hppa-tdep.c (read_unwind_info): Cosmetic cleanup.
* (unwind_command): Clean it up and make it print things out
nicer.
* monitor.c: Add ^C handling capability (mostly ripped off from
remote.c).
* (monitor_printf): Make it check the command echo.
* (monitor_printf_noecho): Similar to above, but doesn't check
for echo.
* (monitor_stop): No longer waits for prompt. That is the job of
the caller. This makes things work much better for monitor_wait,
which waits for the prompt itself.
* (monitor_open): Deal with new monitor_stop semantics. Also,
flush input after sending init strings to get rid of junk that may
be output. Also, don't always send \r to remote. Use
monitor_ops->line_term cuz proper character isn't always \r.
* (monitor_fetch_register): Switch to completely different
algorithm to deal with lame-ass monitors which put spaces in the
middle of numbers, and prompt with a space!!!!!
* (monitor_read_memory_single): New routine to be used with
monitors that can only return one byte/short/long at a time. This
is selected via MO_GETMEM_READ_SINGLE.
* (monitor_load_srec): Use monitor_printf_noecho for sending S
records. Most targets don't echo them.
* (monitor.h): Get rid of cmd_delim. Add line_delim.
* op50n-rom.c (op50n_cmds): Fill it up. Make it work.
* w89k-rom.c: Change all eols from \r to \n. Change load_resp to
^Q to prevent error message.
* config/pa/tm-hppa.h (CALL_DUMMY (for hppro)): Add special
instruction sequence at end to make restore_pc_queue happy.
Diffstat (limited to 'gdb/op50-rom.c')
-rw-r--r-- | gdb/op50-rom.c | 66 |
1 files changed, 39 insertions, 27 deletions
diff --git a/gdb/op50-rom.c b/gdb/op50-rom.c index d5a3eb1..fbdf67e 100644 --- a/gdb/op50-rom.c +++ b/gdb/op50-rom.c @@ -53,57 +53,69 @@ static char *op50n_regnames[NUM_REGS] = static struct target_ops op50n_ops; -static char *op50n_inits[] = {"\003.\n", NULL}; +static char *op50n_inits[] = {".\r", NULL}; static struct monitor_ops op50n_cmds = { - 0, /* flags */ + MO_CLR_BREAK_USES_ADDR /*| MO_GETMEM_READ_SINGLE*/, /* flags */ op50n_inits, /* Init strings */ - "g\n", /* continue command */ - "t\n", /* single step */ - NULL, /* Interrupt char */ - "b %x\n", /* set a breakpoint */ - "bx %x\n", /* clear a breakpoint */ - NULL, /* clear all breakpoints */ - NULL, /* memory fill cmd */ + "g\r", /* continue command */ + "t\r", /* single step */ + "\003", /* Interrupt char */ + "b %x\r", /* set a breakpoint */ + "b %x,0\r", /* clear breakpoint at addr */ + "bx\r", /* clear all breakpoints */ + "fx %x s%x %x\r", /* memory fill cmd (addr, len, val) */ { - "sx %x %x;.\n", /* setmem.cmdb (addr, value) */ - NULL, /* setmem.cmdw (addr, value) */ - NULL, /* setmem.cmdl (addr, value) */ + "sx %x %x\r", /* setmem.cmdb (addr, value) */ + "sh %x %x\r", /* setmem.cmdw (addr, value) */ + "s %x %x\r", /* setmem.cmdl (addr, value) */ NULL, /* setmem.cmdll (addr, value) */ - NULL, /* setreg.resp_delim */ - NULL, /* setreg.term */ - NULL, /* setreg.term_cmd */ + NULL, /* setmem.resp_delim */ + NULL, /* setmem.term */ + NULL, /* setmem.term_cmd */ + }, +#if 0 + { + "sx %x\r", /* getmem.cmdb (addr, len) */ + "sh %x\r", /* getmem.cmdw (addr, len) */ + "s %x\r", /* getmem.cmdl (addr, len) */ + NULL, /* getmem.cmdll (addr, len) */ + " : ", /* getmem.resp_delim */ + " ", /* getmem.term */ + ".\r", /* getmem.term_cmd */ }, +#else { - "sx %x\n", /* getmem.cmdb (addr, value) */ - NULL, /* getmem.cmdw (addr, value) */ - NULL, /* getmem.cmdl (addr, value) */ - NULL, /* getmem.cmdll (addr, value) */ - ": ", /* getmem.resp_delim */ + "dx %x s%x\r", /* getmem.cmdb (addr, len) */ + NULL, /* getmem.cmdw (addr, len) */ + NULL, /* getmem.cmdl (addr, len) */ + NULL, /* getmem.cmdll (addr, len) */ + " : ", /* getmem.resp_delim */ NULL, /* getmem.term */ NULL, /* getmem.term_cmd */ }, +#endif { - "x %s %x\n", /* setreg.cmd (name, value) */ + "x %s %x\r", /* setreg.cmd (name, value) */ NULL, /* setreg.resp_delim */ NULL, /* setreg.term */ NULL, /* setreg.term_cmd */ }, { - "x %s\n", /* getreg.cmd (name) */ + "x %s\r", /* getreg.cmd (name) */ "=", /* getreg.resp_delim */ - NULL, /* getreg.term */ - NULL, /* getreg.term_cmd */ + " ", /* getreg.term */ + ".\r", /* getreg.term_cmd */ }, NULL, /* dump_registers */ NULL, /* register_pattern */ NULL, /* supply_register */ NULL, /* load routine */ - "r 0\n", /* download command */ + "r 0\r", /* download command */ NULL, /* load response */ - "#", /* monitor command prompt */ - NULL, /* end-of-command delimitor */ + "\n#", /* monitor command prompt */ + "\r", /* end-of-command delimitor */ NULL, /* optional command terminator */ &op50n_ops, /* target operations */ SERIAL_1_STOPBITS, /* number of stop bits */ |