This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: patch to send telnet BREAK for remote-over-tcp
Daniel Jacobowitz wrote:
On Wed, Sep 03, 2008 at 10:12:22AM -0700, Michael Snyder wrote:
Daniel Jacobowitz wrote:
On Tue, Sep 02, 2008 at 09:35:29PM -0700, Michael Snyder wrote:
I think this looks right, but I'd love to get another opinion.
Daniel? Anybody?
It seems fine (aside from the parenthesis formatting :-P), though I
think it would be much more useful if added to the manual.
OK, since I don't know if Angela has write privs, I'll fix
the parens and check it in later today.
Should this change be propagated to ser-mingw.c? It shares
some code with this module but makes up its own serial_ops
struct.
If not, I'll just make the new function a static, shall I?
Yes, it should be used by tcp connections from mingw hosts too.
All right, I think I've addressed everything.
Eli, is the doc ok?
Index: ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/ChangeLog,v
retrieving revision 1.9719
diff -u -p -r1.9719 ChangeLog
--- ChangeLog 3 Sep 2008 19:19:41 -0000 1.9719
+++ ChangeLog 3 Sep 2008 20:26:08 -0000
@@ -1,3 +1,9 @@
+2008-09-03 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.
+
2008-09-03 Ulrich Weigand <uweigand@de.ibm.com>
* spu-tdep.c (spu_frame_unwind_cache): Do not attempt to unwind
Index: ser-mingw.c
===================================================================
RCS file: /cvs/src/src/gdb/ser-mingw.c,v
retrieving revision 1.13
diff -u -p -r1.13 ser-mingw.c
--- ser-mingw.c 28 Mar 2008 17:30:45 -0000 1.13
+++ ser-mingw.c 3 Sep 2008 20:26:08 -0000
@@ -1256,7 +1256,7 @@ _initialize_ser_windows (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;
Index: ser-tcp.c
===================================================================
RCS file: /cvs/src/src/gdb/ser-tcp.c,v
retrieving revision 1.29
diff -u -p -r1.29 ser-tcp.c
--- ser-tcp.c 1 Jan 2008 22:53:12 -0000 1.29
+++ ser-tcp.c 3 Sep 2008 20:26:08 -0000
@@ -257,6 +257,13 @@ net_write_prim (struct serial *scb, cons
return send (scb->fd, buf, count, 0);
}
+int
+ser_tcp_send_break (struct serial *scb)
+{
+ /* Send telnet IAC and BREAK characters. */
+ return (serial_write (scb, "\377\363", 2));
+}
+
void
_initialize_ser_tcp (void)
{
@@ -276,7 +283,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;
Index: ser-tcp.h
===================================================================
RCS file: /cvs/src/src/gdb/ser-tcp.h,v
retrieving revision 1.4
diff -u -p -r1.4 ser-tcp.h
--- ser-tcp.h 1 Jan 2008 22:53:12 -0000 1.4
+++ ser-tcp.h 3 Sep 2008 20:26:08 -0000
@@ -26,5 +26,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: doc/ChangeLog
===================================================================
RCS file: /cvs/src/src/gdb/doc/ChangeLog,v
retrieving revision 1.814
diff -u -p -r1.814 ChangeLog
--- doc/ChangeLog 26 Aug 2008 17:30:35 -0000 1.814
+++ doc/ChangeLog 3 Sep 2008 20:26:08 -0000
@@ -1,3 +1,8 @@
+2008-09-03 Angela Marie Thomas <angela@releasedominatrix.com>
+
+ * gdb.texinfo (Interrupts): Remove obsolete statement about
+ network interfaces.
+
2008-08-26 Ulrich Weigand <uweigand@de.ibm.com>
* gdb.texinfo (Commands to Specify Files): Document "remote:"
Index: doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.520
diff -u -p -r1.520 gdb.texinfo
--- doc/gdb.texinfo 26 Aug 2008 17:30:35 -0000 1.520
+++ doc/gdb.texinfo 3 Sep 2008 20:26:09 -0000
@@ -26054,9 +26054,10 @@ control of which is specified via @value
setting (@pxref{set remotebreak}).
The precise meaning of @code{BREAK} is defined by the transport
-mechanism and may, in fact, be undefined. @value{GDBN} does
-not currently define a @code{BREAK} mechanism for any of the network
-interfaces.
+mechanism and may, in fact, be undefined. @value{GDBN} does not
+currently define a @code{BREAK} mechanism for any of the network
+interfaces except for TCP, in which case @value{GDBN} sends the
+@code{telnet} BREAK sequence.
@samp{Ctrl-C}, on the other hand, is defined and implemented for all
transport mechanisms. It is represented by sending the single byte