patch to send telnet BREAK for remote-over-tcp
Michael Snyder
msnyder@specifix.com
Wed Sep 3 04:36:00 GMT 2008
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 <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
More information about the Gdb-patches
mailing list