/* printf_filtered is depreciated */
static void gdb_os_printf_filtered PARAMS ((host_callback *, const char *, ...));
-static void gdb_os_vprintf_filtered PARAMS ((host_callback *, const char *, void *));
+static void gdb_os_vprintf_filtered PARAMS ((host_callback *, const char *, va_list));
-static void gdb_os_evprintf_filtered PARAMS ((host_callback *, const char *, void *));
+static void gdb_os_evprintf_filtered PARAMS ((host_callback *, const char *, va_list));
static void gdb_os_error PARAMS ((host_callback *, const char *, ...));
/* VARARGS */
static void
#ifdef ANSI_PROTOTYPES
-gdb_os_vprintf_filtered (host_callback *p, const char *format, void *ap)
+gdb_os_vprintf_filtered (host_callback *p, const char *format, va_list ap)
#else
gdb_os_vprintf_filtered (p, format, ap)
host_callback *p;
char *format;
- void *ap;
+ va_list ap;
#endif
{
- vfprintf_filtered (gdb_stdout, format, (va_list)ap);
+ vfprintf_filtered (gdb_stdout, format, ap);
}
/* GDB version of error evprintf_filtered. */
/* VARARGS */
static void
#ifdef ANSI_PROTOTYPES
-gdb_os_evprintf_filtered (host_callback *p, const char *format, void *ap)
+gdb_os_evprintf_filtered (host_callback *p, const char *format, va_list ap)
#else
gdb_os_evprintf_filtered (p, format, ap)
host_callback *p;
char *format;
- void *ap;
+ va_list ap;
#endif
{
- vfprintf_filtered (gdb_stderr, format, (va_list)ap);
+ vfprintf_filtered (gdb_stderr, format, ap);
}
/* GDB version of error callback. */
error ("Insufficient memory available to allocate simulator arg list.");
make_cleanup (freeargv, (char *) argv);
- /* FIXME: sim_open may call `error' if it fails, but perhaps it should
- just return an error indicator and let us call `error'. */
- gdbsim_desc = sim_open (argv);
+ gdbsim_desc = sim_open (SIM_OPEN_DEBUG, argv);
+ if (gdbsim_desc == 0)
+ error ("unable to create simulator instance");
push_target (&gdbsim_ops);
target_fetch_registers (-1);
/* Note that if the simulator hasn't been opened, gdbsim_desc == NULL
which is correct (??? assuming of course one wishes to continue to
allow commands to be sent to unopened simulators, which isn't entirely
- unreasonable). */
+ unreasonable). Simulators should be prepared to deal with any
+ combination of NULL or empty args. */
sim_do_command (gdbsim_desc, args);
}