Revert call to bfd_cache_close().
[deliverable/binutils-gdb.git] / gdb / wince.c
index 27d3de222bfbf2c426383e4372946432e02d956d..83112d9db0808abce49ca6f308f681289c8012a3 100644 (file)
@@ -1,5 +1,5 @@
 /* Target-vector operations for controlling Windows CE child processes, for GDB.
-   Copyright 1999, 2000 Free Software Foundation, Inc.
+   Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
    Contributed by Cygnus Solutions, A Red Hat Company.
 
    This file is part of GDB.
@@ -10,7 +10,7 @@
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without eve nthe implied warranty of
+   but WITHOUT ANY WARRANTY; without evethe implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
 
 #include "gdbcmd.h"
 #include <sys/param.h>
 #include "wince-stub.h"
-#include "dcache.h"
 #include <time.h>
+#include "regcache.h"
 
 /* The ui's event loop. */
-extern int (*ui_loop_hook) PARAMS ((int signo));
+extern int (*ui_loop_hook) (int signo);
 
 /* If we're not using the old Cygwin header file set, define the
    following which never should have been in the generic Win32 API
@@ -89,8 +89,6 @@ extern int (*ui_loop_hook) PARAMS ((int signo));
 
 static int connection_initialized = 0; /* True if we've initialized a RAPI session. */
 
-static DCACHE *remote_dcache;
-
 /* The directory where the stub and executable files are uploaded. */
 static const char *remote_directory = "\\gdb";
 
@@ -131,8 +129,8 @@ static int remote_add_host = 0;
 /* Forward declaration */
 extern struct target_ops child_ops;
 
-static int win32_child_thread_alive PARAMS ((int));
-void child_kill_inferior PARAMS ((void));
+static int win32_child_thread_alive (int);
+void child_kill_inferior (void);
 
 static int last_sig = 0;       /* Set if a signal was received from the
                                   debugged process */
@@ -604,10 +602,10 @@ towide (const char *s, gdb_wince_len * out_len)
     n = 0;                     /* wrap */
 
   /* Allocate space for the converted string, reusing any previously allocated
-     space, if applicable. Note that if outs[n] is NULL, realloc will act as
+     space, if applicable. Note that if outs[n] is NULL, xrealloc will act as
      a malloc (under cygwin, at least).
    */
-  outs[n] = (LPWSTR) realloc (outs[n], *out_len);
+  outs[n] = (LPWSTR) xrealloc (outs[n], *out_len);
   memset (outs[n], 0, *out_len);
   (void) MultiByteToWideChar (CP_ACP, 0, s, -1, outs[n], *out_len);
   return outs[n];
@@ -786,7 +784,7 @@ close_handle (HANDLE h)
    to terminate.
  */
 static void
-stop_stub ()
+stop_stub (void)
 {
   if (s < 0)
     return;
@@ -811,7 +809,8 @@ undoSStep (thread_info * th)
 }
 
 void
-wince_software_single_step (unsigned int ignore, int insert_breakpoints_p)
+wince_software_single_step (enum target_signal ignore,
+                           int insert_breakpoints_p)
 {
   unsigned long pc;
   thread_info *th = current_thread;    /* Info on currently selected thread */
@@ -951,7 +950,8 @@ undoSStep (thread_info * th)
    which would be executed.  This code hails from sh-stub.c.
  */
 void
-wince_software_single_step (unsigned int ignore, int insert_breakpoints_p)
+wince_software_single_step (enum target_signal ignore,
+                           int insert_breakpoints_p)
 {
   thread_info *th = current_thread;    /* Info on currently selected thread */
 
@@ -997,7 +997,8 @@ undoSStep (thread_info * th)
 }
 
 void
-wince_software_single_step (unsigned int ignore, int insert_breakpoints_p)
+wince_software_single_step (enum target_signal ignore,
+                           int insert_breakpoints_p)
 {
   unsigned long pc;
   thread_info *th = current_thread;    /* Info on currently selected thread */
@@ -1067,7 +1068,7 @@ child_add_thread (DWORD id, HANDLE h)
 /* Clear out any old thread list and reintialize it to a
    pristine state. */
 static void
-child_init_thread_list ()
+child_init_thread_list (void)
 {
   thread_info *th = &thread_head;
 
@@ -1078,7 +1079,7 @@ child_init_thread_list ()
       thread_info *here = th->next;
       th->next = here->next;
       (void) close_handle (here->h);
-      free (here);
+      xfree (here);
     }
 }
 
@@ -1102,7 +1103,7 @@ child_delete_thread (DWORD id)
       thread_info *here = th->next;
       th->next = here->next;
       close_handle (here->h);
-      free (here);
+      xfree (here);
     }
 }
 
@@ -1158,7 +1159,7 @@ child_store_inferior_registers (int r)
    of error; store status through argument pointer OURSTATUS.  */
 
 static int
-handle_load_dll (PTR dummy)
+handle_load_dll (void *dummy)
 {
   LOAD_DLL_DEBUG_INFO *event = &current_event.u.LoadDll;
   char dll_buf[MAX_PATH + 1];
@@ -1515,8 +1516,7 @@ child_wait (int pid, struct target_waitstatus *ourstatus)
 /* Print status information about what we're accessing.  */
 
 static void
-child_files_info (ignore)
-     struct target_ops *ignore;
+child_files_info (struct target_ops *ignore)
 {
   printf_unfiltered ("\tUsing the running image of child %s.\n",
                     target_pid_to_str (inferior_pid));
@@ -1524,9 +1524,7 @@ child_files_info (ignore)
 
 /* ARGSUSED */
 static void
-child_open (arg, from_tty)
-     char *arg;
-     int from_tty;
+child_open (char *arg, int from_tty)
 {
   error ("Use the \"run\" command to start a child process.");
 }
@@ -1578,7 +1576,7 @@ upload_to_device (const char *to, const char *from)
     error ("no filename found to upload - %s.", in_to);
 
   len = strlen (dir) + strlen (to) + 2;
-  remotefile = (char *) realloc (remotefile, len);
+  remotefile = (char *) xrealloc (remotefile, len);
   strcpy (remotefile, dir);
   strcat (remotefile, "\\");
   strcat (remotefile, to);
@@ -1645,7 +1643,7 @@ upload_to_device (const char *to, const char *from)
 
 /* Initialize the connection to the remote device. */
 static void
-wince_initialize ()
+wince_initialize (void)
 {
   int tmp;
   char args[256];
@@ -1732,10 +1730,6 @@ child_create_inferior (char *exec_file, char *args, char **env)
   flags = DEBUG_PROCESS;
 
   wince_initialize ();         /* Make sure we've got a connection. */
-  if (!remote_dcache)
-    remote_dcache = dcache_init (remote_read_bytes, remote_write_bytes);
-  else
-    dcache_flush (remote_dcache);
 
   exec_file = upload_to_device (exec_file, exec_file);
 
@@ -1784,7 +1778,7 @@ child_create_inferior (char *exec_file, char *args, char **env)
 
 /* Chile has gone bye-bye. */
 static void
-child_mourn_inferior ()
+child_mourn_inferior (void)
 {
   (void) child_continue (DBG_CONTINUE, -1);
   unpush_target (&child_ops);
@@ -1796,12 +1790,19 @@ child_mourn_inferior ()
 
 /* Move memory from child to/from gdb. */
 int
-child_xfer_memory (CORE_ADDR memaddr, char *our, int len,
-                  int write, struct target_ops *target)
+child_xfer_memory (CORE_ADDR memaddr, char *our, int len, int write,
+                  struct mem_attrib *attrib,
+                  struct target_ops *target)
 {
   if (len <= 0)
     return 0;
-  return dcache_xfer_memory (remote_dcache, memaddr, our, len, write);
+
+  if (write)
+    res = remote_write_bytes (memaddr, our, len);
+  else
+    res = remote_read_bytes (memaddr, our, len);
+
+  return res;
 }
 
 /* Terminate the process and wait for child to tell us it has completed. */
@@ -1845,8 +1846,6 @@ child_resume (int pid, int step, enum target_signal sig)
       th->context.ContextFlags = 0;
     }
 
-  dcache_flush (remote_dcache);
-
   /* Allow continuing with the same signal that interrupted us.
      Otherwise complain. */
   if (sig && sig != last_sig)
@@ -1857,19 +1856,19 @@ child_resume (int pid, int step, enum target_signal sig)
 }
 
 static void
-child_prepare_to_store ()
+child_prepare_to_store (void)
 {
   /* Do nothing, since we can store individual regs */
 }
 
 static int
-child_can_run ()
+child_can_run (void)
 {
   return 1;
 }
 
 static void
-child_close ()
+child_close (void)
 {
   DEBUG_EVENTS (("gdb: child_close, inferior_pid=%d\n", inferior_pid));
 }
@@ -1929,7 +1928,7 @@ init_child_ops (void)
 
 #define replace_upload(what) \
       upload_when = what; \
-      remote_upload = realloc (remote_upload, strlen (upload_options[upload_when].name) + 1); \
+      remote_upload = xrealloc (remote_upload, strlen (upload_options[upload_when].name) + 1); \
       strcpy (remote_upload, upload_options[upload_when].name);
 
 static void
@@ -1961,7 +1960,7 @@ set_upload_type (char *ignore, int from_tty)
 }
 
 void
-_initialize_inftarg ()
+_initialize_inftarg (void)
 {
   struct cmd_list_element *set;
   init_child_ops ();
@@ -1981,7 +1980,6 @@ _initialize_inftarg ()
   add_show_from_set (set, &showlist);
   set->function.cfunc = set_upload_type;
   set_upload_type (NULL, 0);
-  set_dcache_state (1);
 
   add_show_from_set
     (add_set_cmd ((char *) "debugexec", class_support, var_boolean,
This page took 0.02724 seconds and 4 git commands to generate.