* monitor.c (monitor_load): Set PC to start address when done
authorStu Grossman <grossman@cygnus>
Wed, 8 Mar 1995 01:18:08 +0000 (01:18 +0000)
committerStu Grossman <grossman@cygnus>
Wed, 8 Mar 1995 01:18:08 +0000 (01:18 +0000)
loading.

* array-rom.c monitor.h rom68k-rom.c:  Clean up target_ops.
Remove ref to monitor_create_inferior.

gdb/ChangeLog
gdb/array-rom.c
gdb/monitor.c
gdb/monitor.h
gdb/rom68k-rom.c

index d076f0b1880ab1de8938cbc7dfd23f8a528211b4..d382ccfab0ee042a7caeb2e859596d82cd3b002e 100644 (file)
@@ -1,5 +1,11 @@
 Tue Mar  7 00:23:47 1995  Stu Grossman  (grossman@cygnus.com)
 
+       * monitor.c (monitor_load):  Set PC to start address when done
+       loading.
+
+       * array-rom.c monitor.h rom68k-rom.c:  Clean up target_ops.
+       Remove ref to monitor_create_inferior.
+
        * monitor.c:  More general cleanups.  Add prototypes, remove
        unused routines.  Fix bug with wrong number of args to error().
 
index adc0cc04dd09d5d8f9b378b9c46e4aa1df602c91..02f3d2e1d96988bb317bbd044ba86b8c14b09d47 100644 (file)
@@ -44,49 +44,47 @@ extern int mips_set_processor_type();
  * strings. We also need a CR or LF on the end.
  */
 
-static struct target_ops array_ops =
-{
-  "array",
+static struct target_ops array_ops = {
+  "array",                     /* to_shortname */
   "Debug using the standard GDB remote protocol for the Array Tech target.",
   "Debug using the standard GDB remote protocol for the Array Tech target.\n\
 Specify the serial device it is connected to (e.g. /dev/ttya).",
-  array_open,
-  monitor_close, 
-  NULL,
-  monitor_detach,
-  monitor_resume,
-  monitor_wait,
-  monitor_fetch_registers,
-  monitor_store_registers,
-  monitor_prepare_to_store,
-  monitor_xfer_inferior_memory,
-  monitor_files_info,
-  monitor_insert_breakpoint,
-  monitor_remove_breakpoint,   /* Breakpoints */
-  0,
-  0,
-  0,
-  0,
-  0,                           /* Terminal handling */
-  monitor_kill,
-  monitor_load,                        /* load */
-  0,                           /* lookup_symbol */
-  monitor_create_inferior,
-  monitor_mourn_inferior,
-
-  0,                           /* can_run */
-  0,                           /* notice_signals */
-  0,                           /* to_stop */
-  process_stratum,
-  0,                           /* next */
-  1,
-  1,
-  1,
-  1,
-  1,                           /* all mem, mem, stack, regs, exec */
-  0,
-  0,                           /* Section pointers */
-  OPS_MAGIC,                   /* Always the last thing */
+  array_open,                  /* to_open */
+  monitor_close,               /* to_close */
+  NULL,                                /* to_attach */
+  monitor_detach,              /* to_detach */
+  monitor_resume,              /* to_resume */
+  monitor_wait,                        /* to_wait */
+  monitor_fetch_registers,     /* to_fetch_registers */
+  monitor_store_registers,     /* to_store_registers */
+  monitor_prepare_to_store,    /* to_prepare_to_store */
+  monitor_xfer_memory,         /* to_xfer_memory */
+  monitor_files_info,          /* to_files_info */
+  monitor_insert_breakpoint,   /* to_insert_breakpoint */
+  monitor_remove_breakpoint,   /* to_remove_breakpoint */
+  0,                           /* to_terminal_init */
+  0,                           /* to_terminal_inferior */
+  0,                           /* to_terminal_ours_for_output */
+  0,                           /* to_terminal_ours */
+  0,                           /* to_terminal_info */
+  monitor_kill,                        /* to_kill */
+  monitor_load,                        /* to_load */
+  0,                           /* to_lookup_symbol */
+  NULL,                                /* to_create_inferior */
+  monitor_mourn_inferior,      /* to_mourn_inferior */
+  0,                           /* to_can_run */
+  0,                           /* to_notice_signals */
+  0,                            /* to_stop */
+  process_stratum,             /* to_stratum */
+  0,                           /* to_next */
+  1,                           /* to_has_all_memory */
+  1,                           /* to_has_memory */
+  1,                           /* to_has_stack */
+  1,                           /* to_has_registers */
+  1,                           /* to_has_execution */
+  0,                           /* sections */
+  0,                           /* sections_end */
+  OPS_MAGIC                    /* to_magic */
 };
 
 static char *array_loadtypes[] = {"none", "srec", "default", NULL};
index 42d23dad833922105f21ad642fda5a6313c6ccba..4ac3485594ae3e80e4452c4882d17e7e1406d090 100644 (file)
@@ -1083,6 +1083,10 @@ monitor_load_srec (args, protocol)
     putchar_unfiltered ('\n');
   
   expect_prompt (NULL, 0);
+
+/* Finally, make the PC point at the start address */
+
+  write_register (PC_REGNUM, bfd_get_start_address (abfd));
 }
 
 /* Get an ACK or a NAK from the target.  returns 1 (true) or 0 (false)
index 93e104f15e72433b5c77c27eef9ac9cb40131a1d..30dc3a63ccf11157ca52c220ee0c21c5f4d6fc75 100644 (file)
@@ -136,8 +136,7 @@ extern int  monitor_insert_breakpoint();
 extern int  monitor_remove_breakpoint();
 extern void monitor_kill();
 extern void monitor_load();
-extern void monitor_create_inferior();
-extern void monitor_mourn_inferior();
+extern void monitor_mourn_inferior PARAMS ((void));
 
 /*
  * FIXME: These are to temporarily maintain compatability with the
index 608f753277fc5d4b3dd49a3c492ca586d2954fa8..2170b14855b239139d4d6e8af986975e7314fe91 100644 (file)
@@ -44,48 +44,47 @@ static char *rom68k_regnames[NUM_REGS] = {
  * strings. We also need a CR or LF on the end.
  */
 
-static struct target_ops rom68k_ops =
-{
-  "rom68k",
-  "Rom68k debug monitor for the IDP Eval board",
+static struct target_ops rom68k_ops = {
+  "rom68k",                    /* to_shortname */
+  "Rom68k debug monitor for the IDP Eval board", /* to_longname */
   "Debug on a Motorola IDP eval board running the ROM68K monitor.\n\
 Specify the serial device it is connected to (e.g. /dev/ttya).",
-  rom68k_open,
-  monitor_close, 
-  NULL,
-  monitor_detach,
-  monitor_resume,
-  monitor_wait,
-  monitor_fetch_registers,
-  monitor_store_registers,
-  monitor_prepare_to_store,
-  monitor_xfer_memory,
-  monitor_files_info,
-  monitor_insert_breakpoint,
-  monitor_remove_breakpoint,   /* Breakpoints */
-  0,
-  0,
-  0,
-  0,
-  0,                           /* Terminal handling */
-  monitor_kill,
-  monitor_load,                        /* load */
-  0,                           /* lookup_symbol */
-  monitor_create_inferior,
-  monitor_mourn_inferior,
-  0,                           /* can_run */
-  0,                           /* notice_signals */
+  rom68k_open,                 /* to_open */
+  monitor_close,               /* to_close */
+  NULL,                                /* to_attach */
+  monitor_detach,              /* to_detach */
+  monitor_resume,              /* to_resume */
+  monitor_wait,                        /* to_wait */
+  monitor_fetch_registers,     /* to_fetch_registers */
+  monitor_store_registers,     /* to_store_registers */
+  monitor_prepare_to_store,    /* to_prepare_to_store */
+  monitor_xfer_memory,         /* to_xfer_memory */
+  monitor_files_info,          /* to_files_info */
+  monitor_insert_breakpoint,   /* to_insert_breakpoint */
+  monitor_remove_breakpoint,   /* to_remove_breakpoint */
+  0,                           /* to_terminal_init */
+  0,                           /* to_terminal_inferior */
+  0,                           /* to_terminal_ours_for_output */
+  0,                           /* to_terminal_ours */
+  0,                           /* to_terminal_info */
+  monitor_kill,                        /* to_kill */
+  monitor_load,                        /* to_load */
+  0,                           /* to_lookup_symbol */
+  NULL,                                /* to_create_inferior */
+  monitor_mourn_inferior,      /* to_mourn_inferior */
+  0,                           /* to_can_run */
+  0,                           /* to_notice_signals */
   0,                            /* to_stop */
-  process_stratum,
-  0,                           /* next */
-  1,
-  1,
-  1,
-  1,
-  1,                           /* all mem, mem, stack, regs, exec */
-  0,
-  0,                           /* Section pointers */
-  OPS_MAGIC                    /* Always the last thing */
+  process_stratum,             /* to_stratum */
+  0,                           /* to_next */
+  1,                           /* to_has_all_memory */
+  1,                           /* to_has_memory */
+  1,                           /* to_has_stack */
+  1,                           /* to_has_registers */
+  1,                           /* to_has_execution */
+  0,                           /* sections */
+  0,                           /* sections_end */
+  OPS_MAGIC                    /* to_magic */
 };
 
 static char *rom68k_loadtypes[] = {"none", "srec", "default", NULL};