This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
patch to send telnet BREAK for remote-over-tcp
- From: Angela Marie Thomas <angela at releasedominatrix dot com>
- To: gdb-patches at sourceware dot org
- Date: Fri, 29 Aug 2008 15:52:47 -0700
- Subject: patch to send telnet BREAK for remote-over-tcp
- Reply-to: angela at releasedominatrix dot com
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