* findvar.c (read_register_bytes write_register_bytes): Make
authorStu Grossman <grossman@cygnus>
Mon, 20 Mar 1995 23:40:33 +0000 (23:40 +0000)
committerStu Grossman <grossman@cygnus>
Mon, 20 Mar 1995 23:40:33 +0000 (23:40 +0000)
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.
* config/m68k/tm-m68k.h:  Define D0_REGNUM and A0_REGNUM for register
dump handling.

gdb/config/m68k/tm-m68k.h

index 164ae959bac1a44dd0909323b573b0448620b81d..5fef734b2f2a93710277ef2176358a057f80c93a 100644 (file)
@@ -197,6 +197,8 @@ extern CORE_ADDR m68k_saved_pc_after_call PARAMS ((struct frame_info *));
    to be actual register numbers as far as the user is concerned
    but do serve to get the desired values when passed to read_register.  */
 
+#define D0_REGNUM 0
+#define A0_REGNUM 8
 #define A1_REGNUM 9
 #define FP_REGNUM 14           /* Contains address of executing stack frame */
 #define SP_REGNUM 15           /* Contains address of top of stack */