/* Process record and replay target for GDB, the GNU debugger.
- Copyright (C) 2008-2016 Free Software Foundation, Inc.
+ Copyright (C) 2008-2017 Free Software Foundation, Inc.
This file is part of GDB.
/* See record.h. */
+void
+record_start (const char *method, const char *format, int from_tty)
+{
+ if (method == NULL)
+ {
+ if (format == NULL)
+ execute_command_to_string ((char *) "record", from_tty);
+ else
+ error (_("Invalid format."));
+ }
+ else if (strcmp (method, "full") == 0)
+ {
+ if (format == NULL)
+ execute_command_to_string ((char *) "record full", from_tty);
+ else
+ error (_("Invalid format."));
+ }
+ else if (strcmp (method, "btrace") == 0)
+ {
+ if (format == NULL)
+ execute_command_to_string ((char *) "record btrace", from_tty);
+ else if (strcmp (format, "bts") == 0)
+ execute_command_to_string ((char *) "record btrace bts", from_tty);
+ else if (strcmp (format, "pt") == 0)
+ execute_command_to_string ((char *) "record btrace pt", from_tty);
+ else
+ error (_("Invalid format."));
+ }
+ else
+ error (_("Invalid method."));
+}
+
+/* See record.h. */
+
+void
+record_stop (int from_tty)
+{
+ execute_command_to_string ((char *) "record stop", from_tty);
+}
+
+/* See record.h. */
+
int
record_read_memory (struct gdbarch *gdbarch,
CORE_ADDR memaddr, gdb_byte *myaddr,
threads are discarded. */
record_unpush (t);
- target_mourn_inferior ();
+ target_mourn_inferior (inferior_ptid);
}
/* See record.h. */
static void
cmd_record_start (char *args, int from_tty)
{
- execute_command ("target record-full", from_tty);
+ execute_command ((char *) "target record-full", from_tty);
}
/* Truncate the record log from the present point
const char *begin, *end, *pos;
begin = *arg;
- pos = skip_spaces_const (begin);
+ pos = skip_spaces (begin);
if (!isdigit (*pos))
error (_("Expected positive number, got: %s."), pos);
/* Read instruction-history modifiers from an argument string. */
-static int
+static gdb_disassembly_flags
get_insn_history_modifiers (char **arg)
{
- int modifiers;
+ gdb_disassembly_flags modifiers;
char *args;
modifiers = 0;
static void
cmd_record_insn_history (char *arg, int from_tty)
{
- int flags, size;
-
require_record_target ();
- flags = get_insn_history_modifiers (&arg);
+ gdb_disassembly_flags flags = get_insn_history_modifiers (&arg);
- size = command_size_to_target_size (record_insn_history_size);
+ int size = command_size_to_target_size (record_insn_history_size);
if (arg == NULL || *arg == 0 || strcmp (arg, "+") == 0)
target_insn_history (size, flags);
&record_call_history_size);
}
-/* Provide a prototype to silence -Wmissing-prototypes. */
-extern initialize_file_ftype _initialize_record;
-
void
_initialize_record (void)
{