From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10519 invoked by alias); 3 Sep 2008 04:36:07 -0000 Received: (qmail 10508 invoked by uid 22791); 3 Sep 2008 04:36:06 -0000 X-Spam-Check-By: sourceware.org Received: from bluesmobile.specifix.com (HELO bluesmobile.specifix.com) (216.129.118.140) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 03 Sep 2008 04:35:31 +0000 Received: from [127.0.0.1] (bluesmobile.specifix.com [216.129.118.140]) by bluesmobile.specifix.com (Postfix) with ESMTP id 85DFA3BCE2; Tue, 2 Sep 2008 21:35:29 -0700 (PDT) Subject: Re: patch to send telnet BREAK for remote-over-tcp From: Michael Snyder To: angela@releasedominatrix.com Cc: gdb-patches@sourceware.org In-Reply-To: <20080829225247.92696FE88A@dzur.releasedominatrix.com> References: <20080829225247.92696FE88A@dzur.releasedominatrix.com> Content-Type: text/plain Date: Wed, 03 Sep 2008 04:36:00 -0000 Message-Id: <1220416529.3389.2.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.10.3 (2.10.3-7.fc7) Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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-09/txt/msg00042.txt.bz2 I think this looks right, but I'd love to get another opinion. Daniel? Anybody? On Fri, 2008-08-29 at 15:52 -0700, Angela Marie Thomas wrote: > 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