This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

patch to send telnet BREAK for remote-over-tcp


Hoping this falls under "obvious" as I don't currently have an assigment
on file.  Simply put, this changes the current noop behavior to using the
telnet BREAK sequence instead.  This allows remote debugging of kgdb
enabled BSD kernels through a TCP serial connection (e.g. Portmaster).
Built and tested for --host=i686-pc-linux-gnu --target=mips64-linux

2008-08-29  Angela Marie Thomas <angela@releasedominatrix.com>

	* ser-tcp.c (ser_tcp_send_break): New function.
	(_initialize_ser_tcp): Use ser_tcp_send_break.
	* ser-tcp.h (ser_tcp_send_break): New prototype.

Index: gdb/ser-tcp.c
===================================================================
RCS file: /services/cvs/cvsroot/gnusense/gdb/gdb/ser-tcp.c,v
retrieving revision 1.1.1.4
diff -b -t -w -u -p -r1.1.1.4 ser-tcp.c
--- gdb/ser-tcp.c	7 Jul 2006 16:06:15 -0000	1.1.1.4
+++ gdb/ser-tcp.c	29 Aug 2008 17:29:02 -0000
@@ -278,7 +278,7 @@ _initialize_ser_tcp (void)
   ops->write = ser_base_write;
   ops->flush_output = ser_base_flush_output;
   ops->flush_input = ser_base_flush_input;
-  ops->send_break = ser_base_send_break;
+  ops->send_break = ser_tcp_send_break;
   ops->go_raw = ser_base_raw;
   ops->get_tty_state = ser_base_get_tty_state;
   ops->set_tty_state = ser_base_set_tty_state;
@@ -292,4 +292,11 @@ _initialize_ser_tcp (void)
   ops->write_prim = net_write_prim;
   serial_add_interface (ops);
 #endif /* USE_WIN32API */
+}
+
+int
+ser_tcp_send_break (struct serial *scb)
+{
+  /* Send telnet IAC and BREAK characters. */
+  return(serial_write(scb, "\377\363", 2));
 }
Index: gdb/ser-tcp.h
===================================================================
RCS file: /services/cvs/cvsroot/gnusense/gdb/gdb/ser-tcp.h,v
retrieving revision 1.1.1.1
diff -b -t -w -u -p -r1.1.1.1 ser-tcp.h
--- gdb/ser-tcp.h	7 Jul 2006 16:05:44 -0000	1.1.1.1
+++ gdb/ser-tcp.h	29 Aug 2008 17:29:02 -0000
@@ -28,5 +28,6 @@ extern int net_open (struct serial *scb,
 extern void net_close (struct serial *scb);
 extern int net_read_prim (struct serial *scb, size_t count);
 extern int net_write_prim (struct serial *scb, const void *buf, size_t count);
+extern int ser_tcp_send_break (struct serial *scb);
 
 #endif


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]