From 9651b6a997e8fb8dcef2bd2bb5e2ec9345fef8a1 Mon Sep 17 00:00:00 2001 From: SrimantaBarua Date: Fri, 23 Jun 2017 01:59:57 +0530 Subject: [PATCH] Attach pid --- libr/io/p/io_gdb.c | 4 +++- shlr/gdb/src/gdbclient/responses.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/libr/io/p/io_gdb.c b/libr/io/p/io_gdb.c index 761f18751f..58f159745f 100644 --- a/libr/io/p/io_gdb.c +++ b/libr/io/p/io_gdb.c @@ -120,8 +120,10 @@ static RIODesc *__open(RIO *io, const char *file, int rw, int mode) { eprintf ("gdbr: Failed to attach to PID %i\n", i_pid); return NULL; } + } else if ((pid = desc->pid) <= 0) { + pid = -1; } - riogdb = r_io_desc_new (&r_io_plugin_gdb, riog->desc.sock->fd, file, rw, mode, riog); + riogdb = r_io_desc_new (&r_io_plugin_gdb, pid, file, rw, mode, riog); return riogdb; } eprintf ("gdb.io.open: Cannot connect to host.\n"); diff --git a/shlr/gdb/src/gdbclient/responses.c b/shlr/gdb/src/gdbclient/responses.c index 7847b30605..4eef41e190 100644 --- a/shlr/gdb/src/gdbclient/responses.c +++ b/shlr/gdb/src/gdbclient/responses.c @@ -96,9 +96,11 @@ int handle_qC(libgdbr_t *g) { t1++; g->pid = (int) strtol (t1, NULL, 16); t2++; + g->tid = (int) strtol (t2, NULL, 16); + return send_ack (g); } } - g->tid = (int) strtol (t2, NULL, 16); + g->pid = g->tid = (int) strtol (t2, NULL, 16); return send_ack (g); }