/* GDB interface to ARM RDI library.
- Copyright 1997, 1998 Free Software Foundation, Inc.
+ Copyright 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GDB.
#include "bfd.h"
#include "symfile.h"
#include "target.h"
-#include "gdb_wait.h"
#include "gdbcmd.h"
#include "objfiles.h"
#include "gdb-stabs.h"
#include "gdbthread.h"
#include "gdbcore.h"
#include "breakpoint.h"
+#include "completer.h"
+#include "regcache.h"
#ifdef USG
#include <sys/types.h>
static int arm_rdi_xfer_memory (CORE_ADDR memaddr, char *myaddr,
int len, int should_write,
+ struct mem_attrib *attrib,
struct target_ops *target);
static void arm_rdi_prepare_to_store (void);
for (entry = local_bp_list; entry != NULL; entry = entry->next)
{
if (preventry)
- free (preventry);
+ xfree (preventry);
}
}
/* ARGSUSED */
static int
-arm_rdi_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len,
- int should_write, struct target_ops *target)
+arm_rdi_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int should_write,
+ struct mem_attrib *attrib ATTRIBUTE_UNUSED,
+ struct target_ops *target ATTRIBUTE_UNUSED)
{
int rslt, i;
{
preventry->next = entry->next;
}
- free (entry);
+ xfree (entry);
}
return 0;
}
return TARGET_SIGNAL_UNKNOWN;
}
}
+
+static void
+arm_rdi_stop(void)
+{
+ angel_RDI_stop_request();
+}
+
\f
/* Define the target operations structure. */
arm_rdi_ops.to_detach = arm_rdi_detach;
arm_rdi_ops.to_resume = arm_rdi_resume;
arm_rdi_ops.to_wait = arm_rdi_wait;
+ arm_rdi_ops.to_stop = arm_rdi_stop;
arm_rdi_ops.to_fetch_registers = arm_rdi_fetch_registers;
arm_rdi_ops.to_store_registers = arm_rdi_store_registers;
arm_rdi_ops.to_prepare_to_store = arm_rdi_prepare_to_store;
}
if (log_filename)
- free (log_filename);
+ xfree (log_filename);
log_filename = xstrdup (arg);
void
_initialize_remote_rdi (void)
{
+ struct cmd_list_element *c;
+
init_rdi_ops ();
add_target (&arm_rdi_ops);
Adp_SetLogfile (log_filename);
Adp_SetLogEnable (log_enable);
- add_cmd ("rdilogfile", class_maintenance,
- rdilogfile_command,
- "Set filename for ADP packet log.\n\
+ c = add_cmd ("rdilogfile", class_maintenance,
+ rdilogfile_command,
+ "Set filename for ADP packet log.\n\
This file is used to log Angel Debugger Protocol packets.\n\
With a single argument, sets the logfile name to that value.\n\
Without an argument, shows the current logfile name.\n\
See also: rdilogenable\n",
&maintenancelist);
+ c->completer = filename_completer;
add_cmd ("rdilogenable", class_maintenance,
rdilogenable_command,