aboutsummaryrefslogtreecommitdiff
path: root/gdb/serial.c
diff options
context:
space:
mode:
authorStu Grossman <grossman@cygnus>1995-11-14 23:24:10 +0000
committerStu Grossman <grossman@cygnus>1995-11-14 23:24:10 +0000
commit5c8ba01776c033aafffbfa0dc972cb29a22a5113 (patch)
treea81b0a3291ff437ccc14c4e6889b60e31c4b2e10 /gdb/serial.c
parent1c1a4269dd2fc1e95de5cc070390425c8f8a3ed6 (diff)
downloadgdb-5c8ba01776c033aafffbfa0dc972cb29a22a5113.zip
gdb-5c8ba01776c033aafffbfa0dc972cb29a22a5113.tar.gz
gdb-5c8ba01776c033aafffbfa0dc972cb29a22a5113.tar.bz2
* monitor.c (monitor_load_srec monitor_make_srec): Move all
S-record download code into srec.c. * srec.c srec.h: New files. Contain S-record loading routines formerly in monitor.c. * serial.c serial.h: New routine just like fprintf, but uses serial_t instead of FILE *. * sh-tdep.c (frame_find_saved_regs init_extra_frame_info): Don't add four to saved pc (makes things match manual). Also, fix bug where we didn't get pc from stack frame correctly. * config/sh/tm-sh.h (SAVED_PC_AFTER_CALL): Don't add four to saved pc. Real hardware does this for you. * sh3-rom.c (sh3_load): New routine. Sets up for download then calls generic S-record loader. * config/h8300/h8300.mt, config/h8500/h8500.mt, config/m68k/monitor.mt, config/pa/hppapro.mt, config/sh/sh.mt: Add srec.o to TDEPFILES.
Diffstat (limited to 'gdb/serial.c')
-rw-r--r--gdb/serial.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/gdb/serial.c b/gdb/serial.c
index 8a3a21b..ea886a6 100644
--- a/gdb/serial.c
+++ b/gdb/serial.c
@@ -307,6 +307,35 @@ connect_command (args, fromtty)
}
#endif /* 0 */
+/* VARARGS */
+void
+#ifdef ANSI_PROTOTYPES
+serial_printf (serial_t desc, const char *format, ...)
+#else
+serial_printf (va_alist)
+ va_dcl
+#endif
+{
+ va_list args;
+ char *buf;
+#ifdef ANSI_PROTOTYPES
+ va_start (args, format);
+#else
+ serial_t desc;
+ char *format;
+
+ va_start (args);
+ desc = va_arg (args, serial_t);
+ format = va_arg (args, char *);
+#endif
+
+ vasprintf (&buf, format, args);
+ SERIAL_WRITE (desc, buf, strlen (buf));
+
+ free (buf);
+ va_end (args);
+}
+
void
_initialize_serial ()
{