diff options
author | Stu Grossman <grossman@cygnus> | 1995-03-15 23:31:14 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1995-03-15 23:31:14 +0000 |
commit | 2081365ffad350959629339d1633b41ecc6fc95f (patch) | |
tree | b8beaf0bf93947d9699a3a994a930a6d50bb4205 /gdb/monitor.h | |
parent | a7f6f40b3c489018d8038e2e1da58cd1e8540436 (diff) | |
download | fsf-binutils-gdb-2081365ffad350959629339d1633b41ecc6fc95f.zip fsf-binutils-gdb-2081365ffad350959629339d1633b41ecc6fc95f.tar.gz fsf-binutils-gdb-2081365ffad350959629339d1633b41ecc6fc95f.tar.bz2 |
* findvar.c (read_register_bytes write_register_bytes): Make
these routines much smarter about updating registers from the
target, only doing so when absolutely necessary. This really
speeds up register modification on some remote targets.
* monitor.c: More cleanups. Get rid of monitor_load_ascii_srec.
BFD makes this unnecessary. Lots of debugging speedups.
* (expect): NULL terminate return string.
* (monitor_open monitor_supply_register parse_register_dump
monitor_wait monitor_fetch_register): Switch to using GNU regexp
library to parse multi-register displays.
* (monitor_read_memory): Read multiple bytes (up to 16) at once.
* (monitor_create_inferior): Call clear_proceed_status to make run
command notice first breakpoint.
* (monitor_load): Clean up. Reset inferior_pid, set pc to start
address and reset symbol table stuff to make loads put things into
a fresh state.
* (monitor_load_srec): Lower sleep time to 1 second.
* monitor.h (struct monitor_ops): Add register_pattern and
supply_register to monitor_ops.
* rom68k-rom.c: Add new support for handling register dumps.
Diffstat (limited to 'gdb/monitor.h')
-rw-r--r-- | gdb/monitor.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/monitor.h b/gdb/monitor.h index ad21b02..59b6691 100644 --- a/gdb/monitor.h +++ b/gdb/monitor.h @@ -76,6 +76,13 @@ struct monitor_ops { struct cmd_resp getmem; /* display memory */ struct cmd_resp setreg; /* set a register */ struct cmd_resp getreg; /* get a register */ + /* Some commands can dump a bunch of registers + at once. This comes as a set of REG=VAL + pairs. This should be called for each pair + of registers that we can parse to supply + GDB with the value of a register. */ + char *register_pattern; /* Pattern that picks out register from reg dump */ + void (*supply_register) PARAMS ((char *name, int namelen, char *val, int vallen)); char *load; /* load command */ char *prompt; /* monitor command prompt */ char *cmd_delim; /* end-of-command delimitor */ @@ -133,3 +140,4 @@ extern struct monitor_ops *current_monitor; #define REG_DELIM (current_monitor->regset.delim) extern void monitor_open PARAMS ((char *args, struct monitor_ops *ops, int from_tty)); +extern char *monitor_supply_register PARAMS ((int regno, char *valstr)); |