Am 22.02.2010 22:22, schrieb Daniel Gutson:
> [Re-done with git.]
> With this patch, 'gdb detach' correctly resumes the inferior execution 
> after detaching the debugger.
> The bug was caused by qemu asking gdb to execute a syscall (isatty) 
> after the detach, and then waiting (forever) for the reply. I fixed this 
> by properly setting gdb_syscall_mode appropriately in the 'detach' 
> packet handling, so subsequent syscalls are solved by qemu rather than gdb.
> 
> Signed-off-by: Daniel Gutson <dgut...@codesourcery.com>
> ---
>   gdbstub.c |    1 +
>   1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/gdbstub.c b/gdbstub.c
> index 91c5f68..92bb36d 100644
> --- a/gdbstub.c
> +++ b/gdbstub.c
> @@ -1848,6 +1848,7 @@ static int gdb_handle_packet(GDBState *s, const 
> char *line_buf)

This line wrap corrupts the patch. Have you tried git send-email?

>       case 'D':
>           /* Detach packet */
>           gdb_breakpoint_remove_all();
> +       gdb_syscall_mode = GDB_SYS_DISABLED;

And indentation is off here (qemu uses four spaces, no tabs).

Kevin


Reply via email to