/* Remote debugging interface for Tandem ST2000 phone switch, for GDB.
- Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000,
+ Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000,
2001, 2002 Free Software Foundation, Inc.
Contributed by Cygnus Support. Written by Jim Kingdon for Cygnus.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
/* This file was derived from remote-eb.c, which did a similar job, but for
an AMD-29K running EBMON. That file was in turn derived from remote.c
In reality, this module talks to a debug monitor called 'STDEBUG', which
runs in a phone switch. We communicate with STDEBUG via either a direct
serial line, or a TCP (or possibly TELNET) stream to a terminal multiplexor,
- which in turn talks to the phone switch. */
+ which in turn talks to the phone switch. */
#include "defs.h"
#include "gdbcore.h"
va_end (args);
if (serial_write (st2000_desc, buf, strlen (buf)))
- fprintf (stderr, "serial_write failed: %s\n", safe_strerror (errno));
+ fprintf_unfiltered (gdb_stderr, "serial_write failed: %s\n",
+ safe_strerror (errno));
}
/* Read a character from the remote system, doing all the fancy timeout
if (timeout == 0)
return c; /* Polls shouldn't generate timeout errors */
- error ("Timeout reading from remote system.");
+ error (_("Timeout reading from remote system."));
}
- perror_with_name ("remote-st2000");
+ perror_with_name (_("remote-st2000"));
}
/* Scan input from the remote system, until STRING is found. If DISCARD is
else
{
expect_prompt (1);
- error ("Invalid hex digit from remote system.");
+ error (_("Invalid hex digit from remote system."));
}
}
}
val = 0;
for (j = 0; j < 8; j++)
val = (val << 4) + get_hex_digit (j == 0);
- supply_register (regno++, (char *) &val);
+ regcache_raw_supply (current_regcache, regno++, (char *) &val);
}
}
/* This is called not only when we first attach, but also when the
user types "run" after having attached. */
static void
-st2000_create_inferior (char *execfile, char *args, char **env)
+st2000_create_inferior (char *execfile, char *args, char **env,
+ int from_tty)
{
int entry_pt;
if (args && *args)
- error ("Can't pass arguments to remote STDEBUG process");
+ error (_("Can't pass arguments to remote STDEBUG process"));
if (execfile == 0 || exec_bfd == 0)
- error ("No executable file specified");
+ error (_("No executable file specified"));
entry_pt = (int) bfd_get_start_address (exec_bfd);
n = sscanf (args, " %s %d %s", dev_name, &baudrate, junk);
if (n != 2)
- error ("Bad arguments. Usage: target st2000 <device> <speed>\n\
-or target st2000 <host> <port>\n");
+ error (_("Bad arguments. Usage: target st2000 <device> <speed>\n\
+or target st2000 <host> <port>\n"));
st2000_close (0);
#if defined (LOG_FILE)
log_file = fopen (LOG_FILE, "w");
if (log_file == NULL)
- perror_with_name (LOG_FILE);
+ perror_with_name ((LOG_FILE));
#endif
/* Hello? Are you there? */
if (log_file)
{
if (ferror (log_file))
- fprintf (stderr, "Error writing log file.\n");
+ fprintf_unfiltered (gdb_stderr, "Error writing log file.\n");
if (fclose (log_file) != 0)
- fprintf (stderr, "Error closing log file.\n");
+ fprintf_unfiltered (gdb_stderr, "Error closing log file.\n");
}
#endif
}
return inferior_ptid;
}
-/* Return the name of register number REGNO in the form input and output by
- STDEBUG. Currently, REGISTER_NAMES just happens to contain exactly what
- STDEBUG wants. Lets take advantage of that just as long as possible! */
+/* Return the name of register number REGNO in the form input and
+ output by STDEBUG. Currently, REGISTER_NAME just happens return
+ exactly what STDEBUG wants. Lets take advantage of that just as
+ long as possible! */
static char *
get_reg_name (int regno)
return 0;
}
- fprintf (stderr, "Too many breakpoints (> 16) for STDBUG\n");
+ fprintf_unfiltered (gdb_stderr, "Too many breakpoints (> 16) for STDBUG\n");
return 1;
}
return 0;
}
- fprintf (stderr, "Can't find breakpoint associated with 0x%x\n", addr);
+ fprintf_unfiltered (gdb_stderr,
+ "Can't find breakpoint associated with 0x%x\n", addr);
return 1;
}
st2000_command (char *args, int fromtty)
{
if (!st2000_desc)
- error ("st2000 target not open.");
+ error (_("st2000 target not open."));
if (!args)
- error ("Missing command.");
+ error (_("Missing command."));
printf_stdebug ("%s\r", args);
expect_prompt (0);
dont_repeat ();
if (st2000_desc < 0)
- error ("st2000 target not open.");
+ error (_("st2000 target not open."));
if (args)
fprintf ("This command takes no args. They have been ignored.\n");
while (numfds == 0);
if (numfds < 0)
- perror_with_name ("select");
+ perror_with_name (("select"));
if (FD_ISSET (0, &readfds))
{ /* tty input, send to stdebug */
c = getchar ();
if (c < 0)
- perror_with_name ("connect");
+ perror_with_name (("connect"));
printf_stdebug ("%c", c);
switch (cur_esc)
the speed to connect at in bits per second.";
st2000_ops.to_open = st2000_open;
st2000_ops.to_close = st2000_close;
- st2000_ops.to_attach = 0;
- st2000_run_ops.to_post_attach = NULL;
- st2000_ops.to_require_attach = NULL;
st2000_ops.to_detach = st2000_detach;
- st2000_ops.to_require_detach = NULL;
st2000_ops.to_resume = st2000_resume;
st2000_ops.to_wait = st2000_wait;
- st2000_ops.to_post_wait = NULL;
st2000_ops.to_fetch_registers = st2000_fetch_register;
st2000_ops.to_store_registers = st2000_store_register;
st2000_ops.to_prepare_to_store = st2000_prepare_to_store;
- st2000_ops.to_xfer_memory = st2000_xfer_inferior_memory;
+ st2000_ops.deprecated_xfer_memory = st2000_xfer_inferior_memory;
st2000_ops.to_files_info = st2000_files_info;
st2000_ops.to_insert_breakpoint = st2000_insert_breakpoint;
st2000_ops.to_remove_breakpoint = st2000_remove_breakpoint; /* Breakpoints */
- st2000_ops.to_terminal_init = 0;
- st2000_ops.to_terminal_inferior = 0;
- st2000_ops.to_terminal_ours_for_output = 0;
- st2000_ops.to_terminal_ours = 0;
- st2000_ops.to_terminal_info = 0; /* Terminal handling */
st2000_ops.to_kill = st2000_kill;
- st2000_ops.to_load = 0; /* load */
- st2000_ops.to_lookup_symbol = 0; /* lookup_symbol */
st2000_ops.to_create_inferior = st2000_create_inferior;
- st2000_ops.to_post_startup_inferior = NULL;
- st2000_ops.to_acknowledge_created_inferior = NULL;
- st2000_ops.to_clone_and_follow_inferior = NULL;
- st2000_ops.to_post_follow_inferior_by_clone = NULL;
- st2000_run_ops.to_insert_fork_catchpoint = NULL;
- st2000_run_ops.to_remove_fork_catchpoint = NULL;
- st2000_run_ops.to_insert_vfork_catchpoint = NULL;
- st2000_run_ops.to_remove_vfork_catchpoint = NULL;
- st2000_ops.to_has_forked = NULL;
- st2000_ops.to_has_vforked = NULL;
- st2000_run_ops.to_can_follow_vfork_prior_to_exec = NULL;
- st2000_ops.to_post_follow_vfork = NULL;
- st2000_run_ops.to_insert_exec_catchpoint = NULL;
- st2000_run_ops.to_remove_exec_catchpoint = NULL;
- st2000_run_ops.to_has_execd = NULL;
- st2000_run_ops.to_reported_exec_events_per_exec_call = NULL;
- st2000_run_ops.to_has_exited = NULL;
st2000_ops.to_mourn_inferior = st2000_mourn_inferior;
- st2000_ops.to_can_run = 0; /* can_run */
- st2000_ops.to_notice_signals = 0; /* notice_signals */
- st2000_ops.to_thread_alive = 0; /* thread alive */
- st2000_ops.to_stop = 0; /* to_stop */
- st2000_ops.to_pid_to_exec_file = NULL;
st2000_ops.to_stratum = process_stratum;
- st2000_ops.DONT_USE = 0; /* next */
st2000_ops.to_has_all_memory = 1;
st2000_ops.to_has_memory = 1;
st2000_ops.to_has_stack = 1;
st2000_ops.to_has_registers = 1;
st2000_ops.to_has_execution = 1; /* all mem, mem, stack, regs, exec */
- st2000_ops.to_sections = 0;
- st2000_ops.to_sections_end = 0; /* Section pointers */
st2000_ops.to_magic = OPS_MAGIC; /* Always the last thing */
};
{
init_st2000_ops ();
add_target (&st2000_ops);
- add_com ("st2000 <command>", class_obscure, st2000_command,
- "Send a command to the STDBUG monitor.");
- add_com ("connect", class_obscure, connect_command,
- "Connect the terminal directly up to the STDBUG command monitor.\n\
-Use <CR>~. or <CR>~^D to break out.");
+ add_com ("st2000", class_obscure, st2000_command,
+ _("Send a command to the STDBUG monitor."));
+ add_com ("connect", class_obscure, connect_command, _("\
+Connect the terminal directly up to the STDBUG command monitor.\n\
+Use <CR>~. or <CR>~^D to break out."));
}