>>>>> On Tue, 4 Nov 2014 19:09:43 +0000, Peter Maydell said: > > On 4 November 2014 17:51, Martin Simmons <mar...@lispworks.com> wrote: > > While using qemu with gdb "target remote" to debug an application that uses > > fork and exec, the qemu process receives SIGSTOP every time the forked > > process > > terminates (sending SIGCHLD). > > > > This is caused by a missing call to gdb_signal_to_target in gdbstub.c, which > > is fixed by this patch: > > > > Signed-off-by: Martin Simmons <mar...@lispworks.com> > > > > diff --git a/gdbstub.c b/gdbstub.c > > index d1b5afd..6a73a35 100644 > > --- a/gdbstub.c > > +++ b/gdbstub.c > > @@ -823,7 +823,9 @@ static int gdb_handle_packet(GDBState *s, const char > > *line_buf) > > action = *p++; > > signal = 0; > > if (action == 'C' || action == 'S') { > > - signal = strtoul(p, (char **)&p, 16); > > + signal = gdb_signal_to_target (strtoul(p, (char **)&p, > > 16)); > > + if (signal == -1) > > + signal = 0; > > } else if (action != 'c' && action != 's') { > > res = 0; > > break; > > The if() statement should have braces for our coding style, > and no space before the '(' in function calls; otherwise this > looks good to me.
Do you want a new patch with it like that? I was following the style of the rest of that file, in particular the other 'C' case :-( __Martin