This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: About remote target AF_UNIX socket addition ?


On Friday 27 March 2009 19:39:01, Philippe Waille wrote:
> On Fri, Mar 27, 2009 at 02:57:02PM +0000, Pedro Alves wrote:
> > >   The target command allows remote stub access through TCP sockets.
> > >   Could it be extended to local unix domain (AF_UNIX) sockets as well ?
> > > 
> > >   gdb> target remote | some_stub_target                  /* existing  */
> > >   gdb> target remote tcp:host:ip_port_number             /* existing  */
> > >   gdb> target remote unix:local_filesystem_port_name     /* suggested */
> > > 
> > I'm not objecting, but, my knee jerk reaction would be to implement a
> > netcat/socat-like stub that does stdio <-> unix socket forwarding, so
> > you'd use:
> > 
> >  target remote | mypipe_to_socket_gateway
> 
> Outside gdb = end user pipe-to-socket-stub : 
> 
> a) each gdb user with the same problem will design again a stub
> b) multiplex two unidirectionnal streams on a bidirectional socket 
> c) carefully manage pipe/socket closing
> --> not so simple code (I expect poll/select or multithread)

Doesn't socat do this already?  Wouldn't something like a script that
execs socat with the right parameters do?  This would mean you'd be able
to do this with any version of GDB that supports "target remote |".   No
C code involved.

> Inside gdb : 
> 
> I expect a small gdb patch (net_open function in ser-tcp.c and command
> line option documentation) :
> 
> a) detect a new af_unix port name prefix string
> b) fill/pass a sockaddr_un (instead of sockaddr_in) parameter to connect 
> --> after connect, reuse the existing tcp code 
> --> #ifdef "AF_UNIX/AF_LOCAL missing on WINDOWS" 

As I said, I wasn't objecting.

-- 
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]