Message ID | 20181001115704.701-15-luc.michel@greensocs.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | gdbstub: support for the multiprocess extension | expand |
On 01/10/2018 13:57, Luc Michel wrote: > Add multiprocess extension support by enabling multiprocess mode when > the peer requests it, and by replying that we actually support it in the > qSupported reply packet. > > Signed-off-by: Luc Michel <luc.michel@greensocs.com> > --- > gdbstub.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/gdbstub.c b/gdbstub.c > index 51cc11981e..89f6803533 100644 > --- a/gdbstub.c > +++ b/gdbstub.c > @@ -1692,15 +1692,19 @@ static int gdb_handle_packet(GDBState *s, const char *line_buf) > put_packet(s, "OK"); > break; > } > #endif /* !CONFIG_USER_ONLY */ > if (is_query_packet(p, "Supported", ':')) { > + if (strstr(p, "multiprocess+")) { > + s->multiprocess = true; > + } > snprintf(buf, sizeof(buf), "PacketSize=%x", MAX_PACKET_LENGTH); > cc = CPU_GET_CLASS(first_cpu); > if (cc->gdb_core_xml_file != NULL) { > pstrcat(buf, sizeof(buf), ";qXfer:features:read+"); > } Maybe move altogether: if (strstr(p, "multiprocess+")) { s->multiprocess = true; } > + pstrcat(buf, sizeof(buf), ";multiprocess+"); Regardless: Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > put_packet(s, buf); > break; > } > if (strncmp(p, "Xfer:features:read:", 19) == 0) { > const char *xml; >
diff --git a/gdbstub.c b/gdbstub.c index 51cc11981e..89f6803533 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -1692,15 +1692,19 @@ static int gdb_handle_packet(GDBState *s, const char *line_buf) put_packet(s, "OK"); break; } #endif /* !CONFIG_USER_ONLY */ if (is_query_packet(p, "Supported", ':')) { + if (strstr(p, "multiprocess+")) { + s->multiprocess = true; + } snprintf(buf, sizeof(buf), "PacketSize=%x", MAX_PACKET_LENGTH); cc = CPU_GET_CLASS(first_cpu); if (cc->gdb_core_xml_file != NULL) { pstrcat(buf, sizeof(buf), ";qXfer:features:read+"); } + pstrcat(buf, sizeof(buf), ";multiprocess+"); put_packet(s, buf); break; } if (strncmp(p, "Xfer:features:read:", 19) == 0) { const char *xml;
Add multiprocess extension support by enabling multiprocess mode when the peer requests it, and by replying that we actually support it in the qSupported reply packet. Signed-off-by: Luc Michel <luc.michel@greensocs.com> --- gdbstub.c | 4 ++++ 1 file changed, 4 insertions(+)