From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5662 invoked by alias); 29 Aug 2008 22:53:33 -0000 Received: (qmail 5651 invoked by uid 22791); 29 Aug 2008 22:53:32 -0000 X-Spam-Check-By: sourceware.org Received: from qmta03.emeryville.ca.mail.comcast.net (HELO QMTA03.emeryville.ca.mail.comcast.net) (76.96.30.32) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 29 Aug 2008 22:52:50 +0000 Received: from OMTA08.emeryville.ca.mail.comcast.net ([76.96.30.12]) by QMTA03.emeryville.ca.mail.comcast.net with comcast id 8LCS1a0020FhH24A3NsovT; Fri, 29 Aug 2008 22:52:48 +0000 Received: from dzur.releasedominatrix.com ([76.21.111.239]) by OMTA08.emeryville.ca.mail.comcast.net with comcast id 8Nsn1a00l59xNwC8UNso0h; Fri, 29 Aug 2008 22:52:48 +0000 X-Authority-Analysis: v=1.0 c=1 a=kc5u7brJPSEA:10 a=Dib8r7owWz4A:10 a=I3XaEaVCj5UA:10 a=SAqT90h-ow0Qhpk30icA:9 a=Ezc_89qlPHqgJf6M6fAA:7 a=rH0qoM-58g10E0XZXDRG2wrmLesA:4 a=QQ6DbVlHwG4A:10 a=3SmO1NJXDBsA:10 Received: from releasedominatrix.com (dzur [127.0.0.1]) by dzur.releasedominatrix.com (Postfix) with ESMTP id 92696FE88A for ; Fri, 29 Aug 2008 15:52:47 -0700 (PDT) To: gdb-patches@sourceware.org Reply-To: angela@releasedominatrix.com Subject: patch to send telnet BREAK for remote-over-tcp Date: Fri, 29 Aug 2008 22:53:00 -0000 From: Angela Marie Thomas Message-Id: <20080829225247.92696FE88A@dzur.releasedominatrix.com> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-08/txt/msg00662.txt.bz2 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 * 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