This is the mail archive of the
mailing list for the GDB project.
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.